<!--
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 README.md in this
directory.  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.
Therefore, the affected-histogram name has to have at least one dot 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.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.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.State" enum="BooleanEnabled">
  <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.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.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.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.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.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.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.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.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.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="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.
  </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.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.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.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.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 click on &quot;Sign in&quot; 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 click on &quot;Sign in&quot; 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 click on &quot;Sign in&quot; 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 click on &quot;Sign in&quot; 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 enabled or not.</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">
  <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.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">
  <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.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">
  <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">
  <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>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>The position of the touch-events along the X axis.</summary>
</histogram>

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

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

<histogram name="Ash.TouchStartAfterEnd" units="ms">
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</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">
  <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.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.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.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="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 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 I 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 I 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">
  <owner>dvadym@chromium.org</owner>
  <owner>gcasto@chromium.org</owner>
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <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">
  <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.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 his 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 his 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="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">
  <owner>iclelland@chromium.org</owner>
  <obsolete>
    As of 10/2015 this has been replaced by
    BackgroundSync.Event.OneShotResultPattern.
  </obsolete>
  <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">
  <owner>iclelland@chromium.org</owner>
  <obsolete>
    As of 10/2015 this has been replaced by
    BackgroundSync.Event.PeriodicResultPattern.
  </obsolete>
  <summary>Records whether a periodic sync event succeeded or failed.</summary>
</histogram>

<histogram name="BackgroundSync.Event.PeriodicResultPattern"
    enum="BackgroundSyncResultPattern">
  <owner>jkarlin@chromium.org</owner>
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <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">
  <owner>jkarlin@chromium.org</owner>
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <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">
  <owner>iclelland@chromium.org</owner>
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <summary>
    Records the result of attempting to register a periodic sync.
  </summary>
</histogram>

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

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

<histogram name="BackgroundSync.Unregistration.Periodic"
    enum="BackgroundSyncStatus">
  <owner>iclelland@chromium.org</owner>
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <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.InitializeWindowProxy" units="microseconds">
  <owner>peria@chromium.org</owner>
  <summary>Time spent initializing WindowProxy during a page loading.</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.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.
  </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.
  </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.
  </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.</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.ColorSpace.Destination" enum="Gamma">
  <owner>msarett@chromium.org</owner>
  <summary>Gamma properties of destination 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">
  <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">
  <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">
  <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">
  <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.Fetch.RequestResourceTime" units="us">
  <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.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">
  <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.
  </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">
  <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">
  <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">
  <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">
  <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.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.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.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">
  <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">
  <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">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <obsolete>
    As of 08/2015 this has been replaced by
    Bluetooth.Web.Characteristic.ReadValue and
    Bluetooth.Web.Characteristic.WriteValue.
  </obsolete>
  <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.
  </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">
  <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.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.FunctionCall.Count" enum="WebBluetoothFunction">
  <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.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.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.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.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="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="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.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.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">
  <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>Please list the metric's owners. Add more owner tags as needed.</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.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">
  <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.IntentToPageLoadedTime" units="ms">
  <owner>lizeb@chromium.org</owner>
  <summary>
    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.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.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">
  <owner>vitalybuka@chromium.org</owner>
  <obsolete>
    Deprecated as of 12/2015. Confirm assumption about socket name size.
    http://crbug.com/466644
  </obsolete>
  <summary>
    Temporarily histogram with size of IPC sockets in default location.
  </summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityCapsFailTime" units="ms">
  <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">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time used to collect printer capabilities.</summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityDisconnectTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The amount of time the utility process runs before disconnect.
  </summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityMetafileFailTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time used to fail to generate metafile.</summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityMetafileTime" units="ms">
  <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.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="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">
  <owner>paint-dev@chromium.org</owner>
  <obsolete>
    Deprecated 05/2016. See Blink.Paint.UpdateTime as a related alternate
    metric.
  </obsolete>
  <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 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">
  <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.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.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 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">
  <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="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">
  <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="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="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="CrashExitCodes">
  <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="CrashExitCodes">
  <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="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">
  <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.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">
  <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.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.
  </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="DataReductionProxy.AutoLoFiAccuracy"
    enum="DataReductionProxyAutoLoFiAccuracy">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <obsolete>
    Replaced by DataReductionProxy.LoFi.Accuracy.
  </obsolete>
  <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.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.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>
    Samples of user interactions with the Lo-Fi snackbar and context menu
    option. These samples 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.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.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.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 he or she toggles the ON/OFF
    switch.
  </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.UIAction" enum="DataReductionProxyUIAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Samples of user interactions with the Data Reduction Proxy promo, First Run
    Experience, and settings menu. All samples are mutually exclusive. These
    samples include:

    The user interactions with the promo. On Android, there are three actions
    that dismiss the 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 he or she toggles 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.
  </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.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.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, he or she
    will see the snackbar that indicates the end of data use tracking from then
    on.
  </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.MessageSize" units="bytes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The request and reponse size of the messages exchanged by a service. It is
    logged when the URLReqeust 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 reponse 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.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="DevTools.ActionTaken" enum="DevToolsAction">
  <owner>sergeyv@chromium.org</owner>
  <owner>vsevik@chromium.org</owner>
  <owner>pfeldman@chromium.org</owner>
  <summary>Specified DevTools action has been taken.</summary>
</histogram>

<histogram name="DevTools.InspectElement" units="ms">
  <owner>sergeyv@chromium.org</owner>
  <owner>vsevik@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>sergeyv@chromium.org</owner>
  <owner>vsevik@chromium.org</owner>
  <owner>pfeldman@chromium.org</owner>
  <summary>Specified DevTools panel was shown.</summary>
</histogram>

<histogram name="DevTools.SettingChanged" enum="DevToolsSetting">
  <owner>sergeyv@chromium.org</owner>
  <owner>vsevik@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="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" units="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"
    units="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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Deprecated 2/2010, and replaced by DNS.PrefetchResolution
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Deprecated as of 5/2013.
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Renamed 7/2013 to DnsProbe.ProbeDuration.
  </obsolete>
  <summary>Time between starting and finishing DNS probe.</summary>
</histogram>

<histogram name="DnsProbe.Probe.NcnOffline.Elapsed" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Renamed 7/2013 to DnsProbe.ProbeResult.  (Also switched to the full
    DnsProbe.ProbeStatus enum.)
  </obsolete>
  <summary>Result of DNS probes sent by the probe service.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultBadConfig.Elapsed" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <summary>Elapsed time of DNS probes that return PROBE_BAD_CONFIG.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultBadConfig.SystemIsLocalhost"
    enum="DnsProbe.SystemIsLocalhost">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <summary>
    The result of the system probe job when the overall probe result was
    BAD_CONFIG.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultBadConfig.SystemNameserverCount">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <summary>Elapsed time of DNS probes that return PROBE_NO_INTERNET.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultNxdomain.Elapsed" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <summary>Elapsed time of DNS probes that return PROBE_NXDOMAIN.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultUnknown.Elapsed" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <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">
  <owner>mariakhomenko@chromium.org</owner>
  <obsolete>
    Removed 9/2016.
  </obsolete>
  <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.DBLoadTime" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>Time spent loading domain bound cert database.</summary>
</histogram>

<histogram name="DomainBoundCerts.DBSizeInKB" units="KB">
  <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.GenerateCertTime" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>Time spent generating a domain bound cert.</summary>
</histogram>

<histogram name="DomainBoundCerts.GetCertTime" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>
    Combined time for GetDomainBoundCert retrieval (both synchronous and
    asynchronous).
  </summary>
</histogram>

<histogram name="DomainBoundCerts.GetCertTimeAsync" units="ms">
  <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">
  <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">
  <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">
  <owner>mattm@chromium.org</owner>
  <summary>
    Number of requests that waited for load of domain bound cert database.
  </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.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">
  <owner>juliatuttle@chromium.org</owner>
  <obsolete>
    Deprecated 11/2014; see UploadCollectorIndex
  </obsolete>
  <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.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="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">
  <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="%">
  <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.ClearAllSize">
  <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">
  <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.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">
  <owner>asanka@chromium.org</owner>
  <summary>How long it took to delete some downloads from history.</summary>
</histogram>

<histogram name="Download.DatabaseRemoveDownloadsTimePerRecord"
    units="nanoseconds/record">
  <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="%">
  <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.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 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.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 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.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.PotentialBandwidth" units="Bytes/second">
  <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.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.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">
  <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">
  <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 her 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 her 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">
  <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">
  <owner>joshwoodward@google.com</owner>
  <owner>tbarzic@chromium.org</owner>
  <obsolete>
    Deprecated 02/2015. Replaced by EasyUnlock.Setup.PromoNotificationEvent.
  </obsolete>
  <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 she
    tries to complete the setup flow with a device in airplane mode, and then
    tries 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 she
    tries to complete the setup flow with a device in airplane mode, and then
    tries 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">
  <owner>ianwen@chromium.org</owner>
  <obsolete>
    Removed 4/2016 after we no longer show &quot;all bookamrks&quot; in bookmark
    manager.
  </obsolete>
  <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">
  <owner>ianwen@chromium.org</owner>
  <obsolete>
    Removed 9/2015 after list view became the only view mode.
  </obsolete>
  <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.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.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.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.UserSigninChoice" enum="SigninChoice">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Choice the user made when presented with enterprise signin dialog.
  </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.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>rbyers@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>rbyers@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>rbyers@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.CoalescedCount.Mouse">
  <owner>rbyers@chromium.org</owner>
  <summary>Number of Mouse events coalesced.</summary>
</histogram>

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

<histogram name="Event.CoalescedLatency.Mouse" units="ms">
  <owner>rbyers@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>rbyers@chromium.org</owner>
  <summary>
    Time between the first and last events in a coalesced touch events group.
  </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.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>rbyers@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>rbyers@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>rbyers@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>
  <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>
  <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>
  <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>
  <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>
  <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>
  <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>
  <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>
  <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>
  <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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@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>rbyers@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.TouchAcked" units="microseconds">
  <owner>rbyers@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>rbyers@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>
  <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>
  <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>
  <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>
  <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>sahel@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>
  <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>
  <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>
  <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>
  <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>
  <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>
  <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>rbyers@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>rbyers@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>rbyers@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>rbyers@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.ScrollUpdate.BrowserNotifiedToBeforeGpuSwap"
    units="microseconds">
  <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">
  <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">
  <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">
  <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.TouchToHandled"
    units="microseconds">
  <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.TouchToFirstScrollUpdateSwap"
    units="microseconds">
  <owner>rbyers@chromium.org</owner>
  <obsolete>
    Replaced by Event.Latency.TouchToFirstScrollUpdateSwapBegin.
    crbug.com/478845
  </obsolete>
  <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>rbyers@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.TouchToScrollUpdateSwap" units="microseconds">
  <owner>rbyers@chromium.org</owner>
  <obsolete>
    Replaced by Event.Latency.TouchToScrollUpdateSwapBegin. crbug.com/478845
  </obsolete>
  <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>rbyers@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.X11EventSource.UpdateServerTime"
    units="microseconds">
  <obsolete>
    Deprecated 08/2016, and replaced by Linux.X11.ServerRTT.
  </obsolete>
  <owner>thomasanderson@chromium.org</owner>
  <summary>Time to request a timestamp from the X server.</summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.CoalescedCount" units="events">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Number of continuous events (touchmove, mousemove, mousewheel) coalesced
    inside the main thread event queue per event. This field is recorded just
    before the event is processed on the main thread.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.Continuous.FreshnessTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a continuous event (touchmove, mousemove, mousewheel) was
    placed into the queue (or coalesced with another event) and when it was
    processed on the main thread.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.Continuous.QueueingTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a continuous event (touchmove, mousemove, mousewheel) was
    placed into the queue and when it was processed on the main thread.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.NonContinuous.QueueingTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a non-continuous event (not touchmove, mousemove,
    mousewheel) was placed into the queue and when it was processed on the main
    thread.
  </summary>
</histogram>

<histogram name="Event.PassiveForcedEventDispatchCancelled"
    enum="PassiveForcedListenerResultType">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Counts the number of event listener invocations that were forced to be
    passive due to interventions and whether the invocation of the listener
    called prevent default or not.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners" enum="EventResultType">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    The result of handling of MouseWheel, TouchStart, TouchMove, TouchEnd events
    in the renderer.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners.ForcedNonBlockingLatency"
    units="microseconds">
  <obsolete>
    Deprecated 08/2016 in Issue 595327, and replaced by
    Event.PassiveListeners.ForcedNonBlockingLatencyDueToFling.
  </obsolete>
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a forced non-blocking event was generated and the event
    processed. This histogram tracks the benefit of forcing non-blocking events
    listeners.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners.ForcedNonBlockingLatencyDueToFling"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a forced non-blocking touchstart or first touchmove event
    per scroll was generated and the event processed during fling. This
    histogram tracks the benefit of forcing non-blocking events listeners during
    fling.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners.Latency" units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a cancelable event was generated and the event processed
    yet no action was executed for the event. This histogram tracks the
    potential benefit of using passive events listeners.
  </summary>
</histogram>

<histogram name="Event.SingleTapType" enum="TapDelayType">
  <owner>rbyers@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>tdresser@chromium.org</owner>
  <owner>caseq@chromium.org</owner>
  <summary>
    Whether the timestapms 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>
  <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>rbyers@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>rbyers@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>
  <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>
  <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>
  <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>
  <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>
  <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>
  <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>
  <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>rbyers@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>rbyers@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">
  <owner>rdevlin.cronin@chromium.org</owner>
  <obsolete>
    Deprecated 2/2014.
  </obsolete>
  <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">
  <owner>benwells@chromium.org</owner>
  <owner>tapted@chromium.org</owner>
  <obsolete>
    Deprecated as of 12/2014, replaced by Apps.HostedAppLaunchContainer.
  </obsolete>
  <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">
  <owner>cmumford@chromium.org</owner>
  <obsolete>
    Shipped only in M48. Superceded by Extensions.Database.Database.Restore and
    Extensions.Database.Value.Restore.
  </obsolete>
  <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">
  <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.DisabledUIUserResponseRemoteInstall"
    enum="ExtensionDisabledUIUserResponse">
  <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.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.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">
  <owner>rdevlin.cronin@chromium.org</owner>
  <obsolete>
    Deprecated 4/2016. ExtensionRendererState was replaced with
    ExtensionFrameMap.
  </obsolete>
  <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.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.
  </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.
  </summary>
</histogram>

<histogram name="Extensions.InjectScriptTime" units="ms">
  <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.
  </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">
  <owner>asargent@chromium.org</owner>
  <obsolete>
    Deprecated as of 4/2015. Replaced by ManagedUsers.Whitelist.Count.
  </obsolete>
  <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.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.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.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.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.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="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 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.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.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 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="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 name="GCM.AndroidGcmReceiverError" enum="GcmReceiverStatus">
  <owner>khushalsagar@chromium.org</owner>
  <obsolete>
    Deprecated as of 01/2016. The error has been fixed by GCM. (crbug/580367)
  </obsolete>
  <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" units="messages">
  <owner>peter@chromium.org</owner>
  <summary>
    Number of DATA_MESSAGE messages for registered application IDs and
    DELETED_MESSAGES messages for any registration ID received from Google Cloud
    Messaging. Recorded when processing the received message.
  </summary>
</histogram>

<histogram name="GCM.DataMessageReceivedHasRegisteredApp"
    enum="BooleanRegistered">
  <owner>peter@chromium.org</owner>
  <summary>
    Records whether a corresponding registration was found for each received
    DATA_MESSAGE or DELETED_MESSAGES message from Google Cloud Messaging.
    Recorded while processing the received message.
  </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.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.</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">
  <owner>jianli@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 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 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="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="D3DHresult">
  <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.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.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">
  <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">
  <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">
  <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.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.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.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="%">
  <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">
  <owner>rpop@google.com</owner>
  <summary>
    Rows recovered from [favicon_bitmaps] table in Favicons recovery.
  </summary>
</histogram>

<histogram name="History.FaviconsRecoveredRowsFavicons">
  <owner>rpop@google.com</owner>
  <summary>Rows recovered from [favicons] table in Favicons recovery.</summary>
</histogram>

<histogram name="History.FaviconsRecoveredRowsIconMapping">
  <owner>rpop@google.com</owner>
  <summary>
    Rows recovered from [icon_mapping] table in Favicons recovery.
  </summary>
</histogram>

<histogram name="History.FaviconsRecovery" enum="HistoryFaviconsRecoveryEnum">
  <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">
  <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.
  </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.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="GCMUnregistrationRequestStatus">
  <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">
  <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_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="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.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.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="%">
  <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="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.
  </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">
  <owner>dfalcantara@chromium.org</owner>
  <obsolete>
    Deprecated 2016-06 -- hit rate is neglible.
  </obsolete>
  <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.IDB.IOError" enum="LevelDBIOErrorMethods">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Methods where leveldb's Chromium environment has IO errors when being used
    by IndexedDB.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.IOError." enum="PlatformFileError">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    PlatformFileErrors encountered by a single leveldb env method.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.IOError.BFE" enum="PlatformFileError">
  <owner>cmumford@chromium.org</owner>
  <summary>
    Errors (base::File::Error) encountered by a single leveldb env method.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.IOError.NewLogger" enum="OSAgnosticErrno">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IDB.IOError.BFE.NewLogger.
  </obsolete>
  <summary>Errno of errors encountered in NewLogger.</summary>
</histogram>

<histogram name="LevelDBEnv.IDB.IOError.NewSequentialFile"
    enum="OSAgnosticErrno">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use
    LevelDBEnv.IDB.IOError.BFE.NewSequentialFile.
  </obsolete>
  <summary>Errno of errors encountered in NewSequentialFile.</summary>
</histogram>

<histogram name="LevelDBEnv.IDB.IOError.RandomAccessFile"
    enum="PlatformFileError">
  <obsolete>
    Deprecated 2013-04. As of m28 use
    LevelDBEnv.IDB.IOError.NewRandomAccessFile.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>File errors in leveldb IDBEnv's NewRandomAccessFile method.</summary>
</histogram>

<histogram name="LevelDBEnv.IDB.IOError.WritableFileAppend"
    enum="OSAgnosticErrno">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use
    LevelDBEnv.IDB.IOError.BFE.WritableFileAppend.
  </obsolete>
  <summary>Errno of errors encountered in WritableFileAppend.</summary>
</histogram>

<histogram name="LevelDBEnv.IDB.IOError.WritableFileFlush"
    enum="OSAgnosticErrno">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use
    LevelDBEnv.IDB.IOError.BFE.WritableFileFlush.
  </obsolete>
  <summary>Errno of errors encountered in WritableFileFlush.</summary>
</histogram>

<histogram name="LevelDBEnv.IDB.LockFileAncestorsNotFound" units="directories">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Number of directories missing when IDB LevelDBEnv tries to create a Lock
    file.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.MaxFDs" units="files">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    File descriptor limit recorded every time LevelDB calls NewRandomAccessFile
    for IndexedDB.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.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 IndexedDB.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.RetryRecoveredFromErrorIn"
    enum="PlatformFileError">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    When IDB LevelDBEnv successfully retries an operation that had failed,
    record the error from the most recent failed attempt.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.Table" enum="BooleanSuccess">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    As of M54 no longer creating or using table backup files.
  </obsolete>
  <summary>
    Success indicates a successful backup or restore operation for .ldb table
    files when used in IndexedDB.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.TimeTo" units="ms">
  <obsolete>
    Deprecated 2013-04. As of m28 use LevelDBEnv.IDB.TimeUntilSuccessFor.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Time IDB LevelDBEnv slept before successfully completing this operation. 0
    means success on the first try.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IDB.TimeUntilSuccessFor" units="ms">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Time IDB LevelDBEnv slept before successfully completing this operation. 0
    means success on the first try.
  </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">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.
  </obsolete>
  <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">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.NewLogger.
  </obsolete>
  <summary>Errno of errors encountered in NewLogger.</summary>
</histogram>

<histogram name="LevelDBEnv.IOError.NewSequentialFile" enum="OSAgnosticErrno">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.NewSequentialFile.
  </obsolete>
  <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">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.WritableFileAppend.
  </obsolete>
  <summary>Errno of errors encountered in WritableFileAppend.</summary>
</histogram>

<histogram name="LevelDBEnv.IOError.WritableFileFlush" enum="OSAgnosticErrno">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.WritableFileFlush.
  </obsolete>
  <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.ServiceWorker.IOError" enum="LevelDBIOErrorMethods">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Methods where leveldb's Chromium environment has IO errors when being used
    by ServiceWorker.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.IOError." enum="PlatformFileError">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    PlatformFileErrors encountered by a single leveldb env method.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.IOError.BFE" enum="PlatformFileError">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Errors (base::File::Error) encountered by a single leveldb env method.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.LockFileAncestorsNotFound"
    units="directories">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Number of directories missing when ServiceWorker LevelDBEnv tries to create
    a Lock file.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.MaxFDs" units="files">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    File descriptor limit recorded every time LevelDB calls NewRandomAccessFile
    for ServiceWorker.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.MissingFiles" units="files">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Number of backup files found without corresponding ldb files. As measured by
    GetChildren when used in ServiceWorker.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.RetryRecoveredFromErrorIn"
    enum="PlatformFileError">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    When ServiceWorker LevelDBEnv successfully retries an operation that had
    failed, record the error from the most recent failed attempt.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.Table" enum="BooleanSuccess">
  <owner>nhiroki@chromium.org</owner>
  <obsolete>
    As of M54 no longer creating or using table backup files.
  </obsolete>
  <summary>
    Success indicates a successful backup or restore operation for .ldb table
    files when used in ServiceWorker.
  </summary>
</histogram>

<histogram name="LevelDBEnv.ServiceWorker.TimeUntilSuccessFor" units="ms">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Time ServiceWorker LevelDBEnv slept before successfully completing this
    operation. 0 means success on the first try.
  </summary>
</histogram>

<histogram name="LevelDBEnv.Table" enum="BooleanSuccess">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    As of M54 no longer creating or using table backup files.
  </obsolete>
  <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="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="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">
  <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">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: The distribution of responses to the media throttle infobar prompt.
  </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.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.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.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.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">
  <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">
  <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">
  <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.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">
  <owner>watk@chromium.org</owner>
  <obsolete>
    Deprecated 03/2016. No longer needed.
  </obsolete>
  <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">
  <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">
  <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">
  <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.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">
  <owner>scherkus@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.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.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.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.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.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.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.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.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">
  <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.
  </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">
  <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.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="%">
  <owner>scherkus@chromium.org</owner>
  <summary>Coded aspect ratio of HTML5 video.</summary>
</histogram>

<histogram name="Media.VideoCodedWidth">
  <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.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.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.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.WindowsCoreAudioInput" enum="BooleanSuccess">
  <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.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">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <obsolete>
    Deprecated 06/2016 Replaced with Memory.Browser.Large2.
  </obsolete>
  <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">
  <owner>erikchen@chromium.org</owner>
  <obsolete>
    Deprecated 07/2016 as it reports wrong numbers. crbug.com/629354. Replaced
    with Memory.Browser.Large2
  </obsolete>
  <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.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.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 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">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <obsolete>
    Deprecated 06/2016 Replaced with Memory.Renderer.Large2.
  </obsolete>
  <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.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">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <obsolete>
    Deprecated 09/2016. Replaced by Memory.Total2.
  </obsolete>
  <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">
  <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">
  <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="MobileDownload.BytesDownloaded" units="KB">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the total data downloaded by completion status.
  </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="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="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="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.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_InputEventDelta" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <obsolete>
    renamed MPArch.IIR_InputEventDelta.
  </obsolete>
  <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">
  <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.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">
  <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.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">
  <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.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">
  <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">
  <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.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.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">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>Counts of response bytes by cache state.</summary>
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
</histogram>

<histogram name="Net.CacheState.AllRequests" enum="NetCacheState">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    State of the cache for a request, delta-encoding eligible or otherwise.
  </summary>
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
</histogram>

<histogram name="Net.CacheState.EncodeableBytes">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Counts of response bytes by cache state for delta-encoding eligible
    requests.
  </summary>
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
</histogram>

<histogram name="Net.CacheState.EncodeableRequests" enum="NetCacheState">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>State of the cache for a delta-encoding eligible request.</summary>
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
</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.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.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.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.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.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">
  <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="%">
  <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">
  <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>Please list the metric's owners. Add more owner tags as needed.</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">
  <owner>mmenke@chromium.org</owner>
  <obsolete>
    Deprecated as of 2015/8/21
  </obsolete>
  <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">
  <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">
  <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.Http2SSLCipherSuite" enum="SSLCipherSuite">
  <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">
  <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.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.HttpProxySocketRequestTime" units="ms">
  <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">
  <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.StreamReadyCallbackTime" units="ms">
  <owner>rtenneti@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016. No longer tracked.
  </obsolete>
  <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.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">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    No longer tracked.
  </obsolete>
  <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">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    No longer tracked.
  </obsolete>
  <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">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    No longer tracked.
  </obsolete>
  <summary>
    Indicate whether there was a proxy to preclude preconnection.
  </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">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    No longer tracked.
  </obsolete>
  <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">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    Dev data was collected which was good enough to make a decision on the size
    of the predictor database.
  </obsolete>
  <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.

    Note that &quot;success from cache&quot; means that the
    UrlRequest::was_cached() was true, and &quot;success from network&quot;
    means that was_cached() was false.  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>
</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>
</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>
</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">
  <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">
  <owner>estark@chromium.org</owner>
  <obsolete>
    Deprecated as of 07/2016. Replaced with
    Net.PublicKeyPinReportSendingFailure2.
  </obsolete>
  <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">
  <owner>rtenneti@chromium.org</owner>
  <obsolete>
    Deprecated as of 10/2014.
  </obsolete>
  <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">
  <owner>rch@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <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">
  <owner>rch@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <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.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">
  <owner>rch@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016. No longer tracked.
  </obsolete>
  <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.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.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">
  <owner>rch@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <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.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.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 to 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">
  <owner>rch@chromium.org</owner>
  <obsolete>
    Deprecated 04/2015. Tracked as Net.QuicSession.TooManyOpenStreams.
  </obsolete>
  <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">
  <owner>rch@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <summary>The number of truncated ACK frames received.</summary>
</histogram>

<histogram name="Net.QuicSession.TruncatedAcksSent">
  <owner>rch@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <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.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">
  <owner>rtenneti@chromium.org</owner>
  <obsolete>
    Deprecated 06/2016. No longer tracked.
  </obsolete>
  <summary>
    Whether TSVIPCli DLL is loaded or not on windows when the socket is
    configured.
  </summary>
</histogram>

<histogram name="Net.QuicTimeBetweenTwoPacketSent" units="ms">
  <owner>zhongyi@chromium.org</owner>
  <obsolete>
    Deprecated 08/2016. No longer tracked.
  </obsolete>
  <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">
  <owner>rdsmith@chromium.org</owner>
  <obsolete>
    Replaced by Net.RequestTime2 due to bug in original implementation.
  </obsolete>
  <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.InliningStatus"
    enum="ResourceLoaderInliningStatus">
  <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.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.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>rch@chromium.org</owner>
  <summary>Time from when the Connect() starts until it completes.</summary>
</histogram>

<histogram name="Net.SpdyFrameStreamAndSessionFlowControlState"
    enum="SpdyFrameFlowControlState">
  <owner>rch@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.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>rch@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>rch@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>rch@chromium.org</owner>
  <summary>The number of bytes recevied per stream.</summary>
</histogram>

<histogram name="Net.SpdySendBytes" units="bytes">
  <owner>rch@chromium.org</owner>
  <summary>The number of bytes sent per stream.</summary>
</histogram>

<histogram name="Net.SpdySession.BytesRead.EOF" units="bytes">
  <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">
  <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>rch@chromium.org</owner>
  <summary>Socket connected status in SpdySession::CreateStream.</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>rch@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>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 when talking to a google.com
    server.
  </summary>
</histogram>

<histogram name="Net.SpdySessionGet" enum="SpdySessionGet" units="count">
  <owner>rch@chromium.org</owner>
  <summary>The type of SPDY Session used when looking up a session.</summary>
</histogram>

<histogram name="Net.SpdySessionGetPeerAddressNotConnected"
    enum="BooleanSuccess">
  <owner>rch@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">
  <owner>rch@chromium.org</owner>
  <summary>
    SpdySession::GetLocalAddress returned ERR_SOCKET_NOT_CONNECTED.
  </summary>
</histogram>

<histogram name="Net.SpdySessionSocketNotConnectedGetPeerAddress"
    enum="BooleanSuccess">
  <owner>rch@chromium.org</owner>
  <summary>
    SpdySession::GetPeerAddress returned ERR_SOCKET_NOT_CONNECTED.
  </summary>
</histogram>

<histogram name="Net.SpdySessionsWithStalls">
  <owner>rch@chromium.org</owner>
  <summary>The count of SPDY Sessions with or without stalls.</summary>
</histogram>

<histogram name="Net.SpdySettingsCwnd" units="packets">
  <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="%">
  <owner>rch@chromium.org</owner>
  <summary>
    Percentage of sessions which received settings from the server.
  </summary>
</histogram>

<histogram name="Net.SpdySettingsRetransRate" units="%">
  <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">
  <owner>rch@chromium.org</owner>
  <summary>The RTT received at the end of a SpdySession.</summary>
</histogram>

<histogram name="Net.SpdySettingsSent" enum="SpdySettingsSent" units="%">
  <owner>rch@chromium.org</owner>
  <summary>Percentage of sessions which sent settings to the server.</summary>
</histogram>

<histogram name="Net.SpdyStreamDownloadTime" units="ms">
  <owner>rch@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>rch@chromium.org</owner>
  <summary>
    The number of pushed, but abandoned streams over a single session.
  </summary>
</histogram>

<histogram name="Net.SpdyStreamsPerSession">
  <owner>rch@chromium.org</owner>
  <summary>The number of streams issued over a single session.</summary>
</histogram>

<histogram name="Net.SpdyStreamsPushedAndClaimedPerSession">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of pushed, and used streams over a single session.
  </summary>
</histogram>

<histogram name="Net.SpdyStreamsPushedPerSession">
  <owner>rch@chromium.org</owner>
  <summary>The number of push streams received over a single session.</summary>
</histogram>

<histogram name="Net.SpdyStreamStallsPerSession">
  <owner>rch@chromium.org</owner>
  <summary>The number of stream stalls per session.</summary>
</histogram>

<histogram name="Net.SpdyStreamTime" units="ms">
  <owner>rch@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>rch@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="%">
  <owner>rch@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">
  <owner>bnc@chromium.org</owner>
  <obsolete>
    Deprecated on 2016-02-01, because the incorrect bucket count caused data
    corruption.  Replaced by Net.SpdyVersion3.
  </obsolete>
  <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">
  <owner>bnc@chromium.org</owner>
  <obsolete>
    Deprecated 2016 July with removal of SPDY/3.1.
  </obsolete>
  <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_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_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">
  <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_PostQuantum_Negotiated"
    enum="BooleanSupported">
  <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.SSLSessionVersionMatch" enum="BooleanMatched">
  <owner>davidben@chromium.org</owner>
  <obsolete>
    Removed on 2015-11-10.
  </obsolete>
  <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.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">
  <owner>davidben@chromium.org</owner>
  <obsolete>
    Experiment complete, code removed.
  </obsolete>
  <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_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.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">
  <owner>samueltan@chromium.org</owner>
  <obsolete>
    Deprecated 01/2015. Migrated to Network.Shill.DarkResumeActionsTimeTaken.
  </obsolete>
  <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">
  <owner>samueltan@chromium.org</owner>
  <obsolete>
    Deprecated 01/2015. Migrated to Network.Shill.SuspendActionsTimeTaken.
  </obsolete>
  <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">
  <owner>quiche@chromium.org</owner>
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.SuspendActionResult.
  </obsolete>
  <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">
  <owner>quiche@chromium.org</owner>
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.TerminationActionResult.
  </obsolete>
  <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">
  <owner>samueltan@chromium.org</owner>
  <obsolete>
    Deprecated 01/2015. Migrated to Network.Shill.TerminationActionsTimeTaken.
  </obsolete>
  <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">
  <owner>quiche@chromium.org</owner>
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.SuspendActionTime.
  </obsolete>
  <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">
  <owner>quiche@chromium.org</owner>
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.TerminationActionTime.
  </obsolete>
  <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.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">
  <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.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.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.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">
  <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.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
    the NTP was loaded. This tracked position can be different from the position
    observed by the user, e.g. when the user discarded some suggestions from the
    list.
  </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 the NTP
    was loaded. This tracked position can be different from the position
    observed by the user, e.g. when the user discarded some suggestions from the
    list.
  </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 a suggestion card on the NTP that is clicked
    through to the host website of the content. We track the position the
    suggestion had in the list when the NTP was loaded. This tracked position
    can be different from the position observed by the user, e.g. when the user
    discarded some suggestions from the list.
  </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.OpenedScore" units="score">
  <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.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 suggestion had in the list when the NTP was
    loaded. This tracked position can be different from the position observed by
    the user, e.g. when the user discarded some suggestions from the list.
  </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">
  <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.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">
  <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">
  <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">
  <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.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.LogoClick" enum="NewTabPageLogoClick">
  <owner>ianwen@chromium.org</owner>
  <summary>
    Histogram tracking how many users click on the static logo or animated logo
    on NTP.
  </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 only.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoDownloadTime" units="ms">
  <owner>ianwen@chromium.org</owner>
  <summary>
    The amount of time it takes to download the static logo. Android only.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoShown" enum="NewTabPageLogoShown">
  <owner>ianwen@chromium.org</owner>
  <summary>
    Histogram tracking how many static logos and animated logos are shown to
    users.
  </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 thumbnails. The value is equal
    to the index of the thumbnail.
  </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">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <obsolete>
    Deprecated 05/2015. Feature was removed.
  </obsolete>
  <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.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">
  <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">
  <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">
  <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>
  <obsolete>
    Deprecated as of 6/2016
  </obsolete>
</histogram>

<histogram name="NewTabPage.Snippets.CardClickedScoreNew" units="score">
  <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">
  <owner>knn@chromium.org</owner>
  <summary>
    Android: The position of the snippets card on the NTP, that is expanded to
    reveal more content.
  </summary>
  <obsolete>
    Deprecated as of 4/2016
  </obsolete>
</histogram>

<histogram name="NewTabPage.Snippets.CardHidden">
  <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>
  <obsolete>
    Deprecated as of 4/2016
  </obsolete>
</histogram>

<histogram name="NewTabPage.Snippets.CardLongPressed" units="index">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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>
  <obsolete>
    Deprecated as of 6/2016
  </obsolete>
</histogram>

<histogram name="NewTabPage.Snippets.CardShownScoreNew" units="score">
  <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.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.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">
  <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">
  <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">
  <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">
  <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.TileType" enum="MostVisitedTileType">
  <owner>newt@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. Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.TileTypeClicked" enum="MostVisitedTileType">
  <owner>newt@chromium.org</owner>
  <summary>
    The visual type of the most visited item that the user clicked on, e.g.
    actual thumbnail or placeholder thumbnail. Only measured on Android.
  </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">
  <owner>peter@chromium.org</owner>
  <obsolete>
    Replaced by Notifications.AuthorDataSize in February 2016.
  </obsolete>
  <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.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">
  <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">
  <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">
  <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">
  <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.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">
  <owner>peter@chromium.org</owner>
  <owner>deepak.m1@samsung.com</owner>
  <obsolete>
    Deprecated 01/2016, no longer used.
  </obsolete>
  <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="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.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.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.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.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.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="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">
  <owner>zelidrag@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05-22. Replaced by Signin.ListAccountsRetry.
  </obsolete>
  <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">
  <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.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.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.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>bburns@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.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.ExpirePagesMissingArchiveFileResult"
    enum="BooleanSuccess">
  <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.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">
  <owner>romax@chromium.org</owner>
  <summary>Number of pages that are expired in a batch.</summary>
</histogram>

<histogram name="OfflinePages.ExpirePage.PageLifetime" units="minutes">
  <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">
  <owner>romax@chromium.org</owner>
  <summary>Result of updating expired page in store.</summary>
</histogram>

<histogram name="OfflinePages.ExpirePage.TimeSinceLastAccess" units="minutes">
  <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.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.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="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.CharTypedToRepaintLatency" units="ms">
  <owner>asvitkine@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.
  </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">
  <owner>mpearson@chromium.org</owner>
  <obsolete>
    Replaced with Omnibox.FocusToOpenTimeAnyPopupState in April 2014.
  </obsolete>
  <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">
  <owner>mpearson@chromium.org</owner>
  <obsolete>
    Replaced with Omnibox.FocusToOpenTimeAnyPopupState2 in August, 2016.
  </obsolete>
  <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">
  <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.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.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.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.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.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.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 he/she 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.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.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">
  <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.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">
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <obsolete>
    Deprecated as of Chrome 44 to switch to NavigationDirection enum.
  </obsolete>
  <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">
  <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.Started" enum="OverscrollMode">
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <obsolete>
    Deprecated as of Chrome 44 to switch to NavigationDirection enum.
  </obsolete>
  <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">
  <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="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 name="PageLoad.AbortTiming.ClientRedirect" 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 client side redirect (Javascript navigation).
  </summary>
</histogram>

<histogram name="PageLoad.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 name="PageLoad.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 name="PageLoad.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 name="PageLoad.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 name="PageLoad.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 name="PageLoad.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.AbortTiming.UnknownNavigation" units="ms">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    We now have sufficient infrastructure to always characterize aborts that
    resulted in new navigations.
  </obsolete>
  <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.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.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">
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <obsolete>
    deprecated in favor of PageLoad.Events.*
  </obsolete>
  <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">
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <obsolete>
    Deprecated in favor of PageLoad.Timing2.NavigationToCommit and
    PageLoad.AbortTiming.
  </obsolete>
  <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">
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <obsolete>
    Deprecated in favor of PageLoad.Internal.ErrorCode.
  </obsolete>
  <summary>
    Counts of various internal error conditions in the page_load_metrics system.
  </summary>
</histogram>

<histogram name="PageLoad.Events.Provisional" enum="ProvisionalLoadEvent">
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <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>
  <summary>
    Captures counts of provisional load events. These include aborted, failed,
    and successful (committed) provisional loads.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.Cache.RequestPercent.ParseStop"
    units="%">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The percent of subresources 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 subresources a given page finished loading from cache at parse
    stop.
  </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.TotalRequests.ParseStop"
    units="requests">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of subresources a given page finished loading at parse stop.
  </summary>
</histogram>

<histogram name="PageLoad.InputTiming.NavigationToFirstNonScroll.AfterPaint"
    units="ms">
  <owner>sahel@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>sahel@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">
  <owner>bmcquade@chromium.org</owner>
  <obsolete>
    Deprecated in favor of
    PageLoad.Internal.ClientRedirect.FirstPaintToNavigation and
    PageLoad.Internal.ClientRedirect.NavigationWithoutPaint.
  </obsolete>
  <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">
  <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.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.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.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">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    deprecated in favor of PageLoad.Timing2.*
  </obsolete>
  <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">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    deprecated in favor of PageLoad.Timing2.*
  </obsolete>
  <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">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    deprecated in favor of PageLoad.Timing2.*
  </obsolete>
  <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">
  <owner>pkotwicz@chromium.org</owner>
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.ForegroundToFirstPaint
  </obsolete>
  <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">
  <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">
  <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">
  <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">
  <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.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.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">
  <owner>vasilii@chromium.org</owner>
  <summary>The dismissal reason of 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.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.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">
  <owner>vabr@chromium.org</owner>
  <obsolete>
    Deprecated as of 03/2016. This metric has been replaced by
    PasswordManager.UIDismissalReason.
  </obsolete>
  <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">
  <owner>vasilii@chromium.org</owner>
  <obsolete>
    Deprecated as of 09/2016.
  </obsolete>
  <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.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 for possible
    matches.
  </summary>
</histogram>

<histogram name="PasswordManager.SavePasswordPromptDisappearedQuickly"
    enum="Boolean">
  <owner>vabr@chromium.org</owner>
  <obsolete>
    Deprecated as of 03/2016.
  </obsolete>
  <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">
  <owner>vabr@chromium.org</owner>
  <obsolete>
    Deprecated as of 03/2016.
  </obsolete>
  <summary>Indicates whether the save password prompt was displayed.</summary>
</histogram>

<histogram name="PasswordManager.SavePasswordPromptResponse"
    enum="SavePasswordPromptResponseType">
  <owner>vabr@chromium.org</owner>
  <obsolete>
    Deprecated as of 03/2016.
  </obsolete>
  <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.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">
  <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.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.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">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <obsolete>
    Deprecated as of 11/11/14. New statistic is
    PasswordManager.TimesPasswordUsed.AutoGenerated.
  </obsolete>
  <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 her 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="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.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.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="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="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.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">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <obsolete>
    Renamed to Permissions.Prompt.Dismissed.PriorDismissCount on 17 August 2016.
  </obsolete>
  <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">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <obsolete>
    Renamed to Permissions.Prompt.Dismissed.PriorDismissCount on 17 August 2016.
  </obsolete>
  <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">
  <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">
  <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.ReferralDelay.OptInNotification" units="ms">
  <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">
  <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="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.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>
  <summary>
    Generic event of interest from Chrome OS.  Intended mainly to help assess
    the frequency of rare error conditions.
  </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.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.PeripheralHeuristicFinalDecision.
  </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="%">
  <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="%">
  <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="%">
  <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="%">
  <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.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.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.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.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.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.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">
  <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">
  <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">
  <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">
  <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="PreloadScanner.Counts" units="preloads">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    Deprecated 5/25/2016 in favor of PreloadScanner.Counts2
  </obsolete>
  <summary>The number of preloads generated by the preload scanner.</summary>
</histogram>

<histogram name="PreloadScanner.Counts.Miss" units="preloads">
  <owner>csharrison@chromium.org</owner>
  <obsolete>
    Deprecated 5/25/2016 in favor of PreloadScanner.Counts2.Miss
  </obsolete>
  <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">
  <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="us">
  <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 his 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="PrerenderLocalVisitCoreTransition">
  <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">
  <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.NoStatePrefetchTTFCP" units="ms">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>Time to first contentful paint.</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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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.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.PrerenderCountOf3Max">
  <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">
  <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>
    Samples of user interactions with the Lo-Fi context menu options. These
    samples 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.InfoBarAction.LitePage" enum="PreviewsInfoBarAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Samples of user interactions with the previews LitePage &quot;Saved
    data&quot; infobar. These samples 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>
    Samples of user interactions with the previews Lo-Fi &quot;Saved data&quot;
    infobar. These samples 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>
    Samples of user interactions with the previews Offline &quot;Faster page
    loaded&quot; infobar. These samples 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.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.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.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.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.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.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 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.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.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.EvictedOriginsPerHour">
  <owner>tzik@chromium.org</owner>
  <summary>Number of evicted origins in an hour.</summary>
</histogram>

<histogram name="Quota.EvictedOriginTimeSinceAccess">
  <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.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">
  <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.TimeToInitializeGlobalQuota" units="ms">
  <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="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">
  <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.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.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">
  <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="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.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.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">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@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">
  <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">
  <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.MainFrameRequestStats"
    enum="ResourcePrefetchPredictorMainFrameRequestStats">
  <owner>zhenw@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.ReportingEvent"
    enum="ResourcePrefetchPredictorReportingEvent">
  <owner>zhenw@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>zhenw@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. No longer recorded.
  </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">
  <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="%">
  <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">
  <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="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.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">
  <owner>feng@chromium.org</owner>
  <obsolete>
    Not in the code anymore (10/2015).
  </obsolete>
  <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">
  <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">
  <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">
  <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.ParseV4HashResult"
    enum="SafeBrowsingParseV4HashResult">
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Track the parsing results of a status 200 GetV4Hash request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ParseV4UpdateResult"
    enum="SafeBrowsingParseV4UpdateResult">
  <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.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.V4AddUnlumpedHashesTime" 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.V4ApplyUpdateResult"
    enum="SafeBrowsingV4ApplyUpdateResult">
  <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">
  <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.V4DecodeAdditionsResult"
    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.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4DecodeAdditionsTime" 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.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4DecodeRemovalsResult"
    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.V4DecodeRemovalsTime" 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.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4FullHashCacheResult"
    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.V4GetHashCheckResult"
    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.V4MergeUpdateTime" units="ms">
  <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.V4ProcessFullUpdateTime" units="ms">
  <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.V4ProcessPartialUpdateTime" units="ms">
  <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.V4ReadFromDiskTime" 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
    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.V4StoreReadResult"
    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.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.V4StoreWriteResult"
    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.V4UpdateHttpResponseOrErrorCode"
    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.V4UpdateResponseSizeKB" 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.V4UpdateResult"
    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="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>shess@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>shess@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>shess@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>shess@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>shess@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>shess@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>shess@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>shess@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>shess@chromium.org</owner>
  <summary>
    The network time between the request and response for a chunk.
  </summary>
</histogram>

<histogram name="SB2.ChunkSize" units="bytes">
  <owner>shess@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>shess@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>shess@chromium.org</owner>
  <summary>
    The size of the SafeBrowsing database file on disk in kilobytes.
  </summary>
</histogram>

<histogram name="SB2.DatabaseOpen" units="ms">
  <owner>shess@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>shess@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>shess@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>shess@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>shess@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">
  <owner>shess@chromium.org</owner>
  <summary>The time it takes for a download to finish.</summary>
</histogram>

<histogram name="SB2.DownloadHashCheckDuration" units="ms">
  <owner>shess@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>shess@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>shess@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>shess@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>shess@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>shess@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>shess@chromium.org</owner>
  <summary>Size of v1 database deleted from client profile.</summary>
</histogram>

<histogram name="SB2.OutShardShifts">
  <owner>shess@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>shess@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>shess@chromium.org</owner>
  <summary>The size of one of the PrefixSet files in kilobytes.</summary>
</histogram>

<histogram name="SB2.PrefixSetLoad" units="ms">
  <owner>shess@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>shess@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>shess@chromium.org</owner>
  <summary>Version read from one of the PrefixSet files.</summary>
</histogram>

<histogram name="SB2.PrefixSetWrite" units="ms">
  <owner>shess@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>shess@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>shess@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>shess@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>shess@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>shess@chromium.org</owner>
  <summary>The instantiation status of the SideEffectFreeWhitelist.</summary>
</histogram>

<histogram name="SB2.StoreVersionRead">
  <owner>shess@chromium.org</owner>
  <summary>Version read from the store file.</summary>
</histogram>

<histogram name="SB2.SubPrefixes">
  <owner>shess@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>shess@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>shess@chromium.org</owner>
  <summary>The payload size of update requests to the server.</summary>
</histogram>

<histogram name="SB2.UpdateResult" enum="SB2UpdateResult">
  <owner>shess@chromium.org</owner>
  <summary>Result from trying to update the SafeBrowsing data.</summary>
</histogram>

<histogram name="SB2.UpdateSize" units="bytes">
  <owner>shess@chromium.org</owner>
  <summary>The size of all the chunk URLs in an update response.</summary>
</histogram>

<histogram name="SB2.UpdateSizeBackground" units="bytes">
  <owner>nparker@chromium.org</owner>
  <obsolete>
    Was used for an experiment in late 2014.
  </obsolete>
  <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">
  <owner>nparker@chromium.org</owner>
  <obsolete>
    Was used for an experiment in late 2014.
  </obsolete>
  <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>shess@chromium.org</owner>
  <summary>The number of chunk URLs in an update response.</summary>
</histogram>

<histogram name="SB2.VolunteerPrefixesRemoved">
  <owner>shess@chromium.org</owner>
  <obsolete>
    The operation this is tracking has been deleted as of 09/2014.
  </obsolete>
  <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">
  <owner>rsesek@chromium.org</owner>
  <obsolete>
    Replaced by SBClientDownload.DmgFileHas[No]ExecutableByType in M51.
  </obsolete>
  <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">
  <owner>rsesek@chromium.org</owner>
  <obsolete>
    Replaced by SBClientDownload.DmgFile{Success,Failure}ByType in M51.
  </obsolete>
  <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">
  <owner>noelutz@chromium.org</owner>
  <obsolete>
    Deprecated 03/2014.  That part of the code got deleted.
  </obsolete>
  <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">
  <owner>noelutz@chromium.org</owner>
  <obsolete>
    Removed in M47.
  </obsolete>
  <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">
  <owner>noelutz@chromium.org</owner>
  <obsolete>
    Removed in M47
  </obsolete>
  <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.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.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="%">
  <owner>caitkp@google.com</owner>
  <obsolete>
    Deprecated 08/2015.
  </obsolete>
  <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.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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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">
  <owner>rdsmith@chromium.org</owner>
  <obsolete>
    Use Sdch3.UsageInterval2 instead.
  </obsolete>
  <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 dismisesd
    due to a scroll when search results were not seen. Implemented for Android.
  </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 dismisesd
    due to a scroll when search results were seen. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationNonPrefetched" units="ms">
  <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">
  <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">
  <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">
  <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.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">
  <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">
  <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.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">
  <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.MigratedPrefToDictionaryValue" enum="BooleanHit">
  <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="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.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">
  <owner>shimazu@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.ActivateEvent.Time.
  </obsolete>
  <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.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.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">
  <owner>nhiroki@chromium.org</owner>
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <summary>
    Records result of ServiceWorkerDiskCacheMigrator::Start that migrates
    resources in BlockFile backend to Simple backend.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCacheMigrator.MigrationTime" units="ms">
  <owner>nhiroki@chromium.org</owner>
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <summary>
    Execution time of ServiceWorkerDiskCache migration from BlockFile to Simple.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCacheMigrator.NumberOfMigratedResources"
    units="count">
  <owner>nhiroki@chromium.org</owner>
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <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.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">
  <owner>shimazu@chromium.org</owner>
  <obsolete>
    Deprecated on 2015-07-13; please use
    ServiceWorker.FetchEvent.HasResponse.Time or
    ServiceWorker.FetchEvent.Fallback.Time.
  </obsolete>
  <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">
  <owner>shimazu@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.FetchEvent.Time.
  </obsolete>
  <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">
  <owner>shimazu@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.InstallEvent.Time.
  </obsolete>
  <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.MessageEvent.Time" units="ms">
  <owner>shimazu@chromium.org</owner>
  <obsolete>
    Deprecated 2016-04 in favor of ServiceWorker.ExtendableMessageEvent.Time.
  </obsolete>
  <summary>Execution time of ServiceWorkerGlobalScope.onmessage.</summary>
</histogram>

<histogram name="ServiceWorker.MessageEventExecutionTime" units="ms">
  <owner>shimazu@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.MessageEvent.Time.
  </obsolete>
  <summary>Execution time of ServiceWorkerGlobalScope.onmessage.</summary>
</histogram>

<histogram name="ServiceWorker.NavigationHintPrecision" enum="BooleanEnabled">
  <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.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">
  <owner>peter@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.NotificationClickEvent.Time.
  </obsolete>
  <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.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">
  <owner>johnme@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.PushEvent.Time.
  </obsolete>
  <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.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.
  </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">
  <owner>nhiroki@chromium.org</owner>
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <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="%">
  <owner>kinuko@chromium.org</owner>
  <obsolete>
    Deprecated 2015-06 in favor of ServiceWorker.EventHandledStatus*.
  </obsolete>
  <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.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.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.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. On desktop it also takes into account user interaction and
    audio events. Starting from M55 the session length is recorded by
    discounting for default inactivity timeout on desktop.
  </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>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <summary>
    The time from SessionRestore start until all tabs have finished loading.
  </summary>
</histogram>

<histogram name="SessionRestore.command_size" units="bytes">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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>jeremy@chromium.org</owner>
  <owner>sky@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>jeremy@chromium.org</owner>
  <owner>sky@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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <summary>The size, in k, of the last session file on disk.</summary>
</histogram>

<histogram name="SessionRestore.NavEntryCommittedLongPeriod">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <summary>
    Milliseconds between subsequent Save() operations due to a nav entry being
    committed (new tab created + nav initiated).
  </summary>
</histogram>

<histogram name="SessionRestore.NavigationListPrunedLongPeriod">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <summary>
    The number of tabs that were loaded simultaneously when restoring a session.
  </summary>
</histogram>

<histogram name="SessionRestore.read_session_file_time" units="ms">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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">
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <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.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.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.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.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 prefix, 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 prefix, 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 prefix, 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 prefix, 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 prefix, 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 prefix, 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 prefix, 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="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.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.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.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">
  <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">
  <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">
  <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.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.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.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="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.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">
  <owner>estark@chromium.org</owner>
  <obsolete>
    Deprecated as of 07/2016. Replaced with SSL.ExpectCTReportFailure2.
  </obsolete>
  <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">
  <owner>palmer@chromium.org</owner>
  <obsolete>
    Deprecated 09/2016 and replaced with SSL.MarkHttpAsStatus.
  </obsolete>
  <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.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.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">
  <owner>chrisha@chromium.org</owner>
  <owner>fdoray@chromium.org</owner>
  <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>
  <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">
  <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. TODO(fdoray): Deprecate this once M54 hits stable. crbug.com/634408
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry.FirstRun"
    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. 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. TODO(fdoray): Deprecate this once M54 hits stable.
    crbug.com/634408
  </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">
  <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.
    TODO(fdoray): Deprecate this once M54 hits stable. crbug.com/634408
  </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">
  <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.
    TODO(fdoray): Deprecate this once M54 hits stable. crbug.com/634408
  </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">
  <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. TODO(fdoray): Deprecate this once M54 hits stable. crbug.com/634408
  </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>jeremy@chromium.org</owner>
  <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>jeremy@chromium.org</owner>
  <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">
  <owner>rtenneti@chromium.org</owner>
  <obsolete>
    Deprecated as of 10/2014.
  </obsolete>
  <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.ExceededMemory" enum="Boolean">
  <owner>dmurph@chromium.org</owner>
  <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>
  <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.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="ClearDataSiteBlacklistCrossedReason">
  <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="ClearDataSiteBlacklistCrossedReason">
  <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="Style.AuthorStyleSheet.ParseTime" units="us">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Microseconds spent in StyleSheetContents::parseAuthorStyleSheet.
  </summary>
</histogram>

<histogram name="Style.UpdateTime" units="us">
  <owner>csharrison@chromium.org</owner>
  <summary>Microseconds spent in Document::updateStyle.</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.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.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">
  <owner>melandory@chromium.org</owner>
  <summary>
    Number of times Safebrowsing Subresource Filter decided to toggle visibility
    of the prompt.
  </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 his 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.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.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.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.Shutdown.BackendDestroyedTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken from the start of sync shutdown (in ProfileSyncService) until the
    backend (SyncBackendHost) 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 SyncBackendHost
    initialization.
  </summary>
</histogram>

<histogram name="Sync.Startup.TimeDeferred2" units="ms">
  <owner>jeremy@chromium.org</owner>
  <owner>zea@google.com</owner>
  <summary>
    Time spent after ProfileSyncService *creation* but before SyncBackendHost
    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.
  </obsolete>
  <obsolete>
    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.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.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">
  <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">
  <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">
  <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">
  <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="TabRendererDetailedExitStatus">
  <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="TabRendererDetailedExitStatus">
  <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">
  <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">
  <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">
  <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.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="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.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.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.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="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.TouchEventsEnabled" enum="TouchEventsState">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Tracks whether touch events are 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.
  </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="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>kenjibaheux@google.com</owner>
  <summary>
    For each page load, measures whether the provided Content-Language header
    matches the language determined by CLD.  Beyond directly matching or
    mismatching the Content-Language header, CLD can complement the
    Content-Language.  For example, suppose the Content-Language header
    specifies '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="TranslateRankerModelStatus">
  <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">
  <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="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.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">
  <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 via enablePotentialCrashUploading() as part of
    deferred start up. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Discarded Log Events">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of events discarded at log transmission time because the event
    count was already too large.
  </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.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.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.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.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 name="UMA.PersistentAllocator.BrowserMetrics.Allocs" units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in the
    browser process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.BrowserMetrics.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.PersistentAllocator.GpuMetrics.Allocs" units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a GPU
    process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.GpuMetrics.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.PersistentAllocator.PpapiBrokerMetrics.Allocs"
    units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a
    &quot;PPAPI broker&quot; process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.PpapiBrokerMetrics.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.PersistentAllocator.PpapiPluginMetrics.Allocs"
    units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a
    &quot;PPAPI plugin&quot; process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.PpapiPluginMetrics.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.PersistentAllocator.RendererMetrics.Allocs" units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a
    renderer process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.RendererMetrics.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.PersistentAllocator.SandboxHelperMetrics.Allocs"
    units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a
    &quot;sandbox helper&quot; process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.SandboxHelperMetrics.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.PersistentAllocator.SetupMetrics.Allocs" units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a setup
    process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.SetupMetrics.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.PersistentAllocator.UtilityMetrics.Allocs" units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a
    &quot;utility&quot; process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.UtilityMetrics.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.PersistentAllocator.ZygoteMetrics.Allocs" units="bytes">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in a
    &quot;zygote&quot; process. This is updated with every allocation.
  </summary>
</histogram>

<histogram name="UMA.PersistentAllocator.ZygoteMetrics.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">
  <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">
  <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.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.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" units="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" units="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" units="GarbageCollectionReason">
  <owner>ulan@chromium.org</owner>
  <summary>Reason a scavenge garbage collection was started in V8.</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">
  <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">
  <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">
  <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="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.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.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.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">
  <owner>gab@chromium.org</owner>
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <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">
  <owner>gab@chromium.org</owner>
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <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">
  <owner>gab@chromium.org</owner>
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <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">
  <owner>gab@chromium.org</owner>
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <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.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="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">
  <owner>eugenebut@chromium.com</owner>
  <obsolete>
    Deprecated 08/2016 because CertVerifier is not used for web view cert
    verification.
  </obsolete>
  <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.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.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="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">
  <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">
  <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.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">
  <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">
  <owner>mlamouri@chromium.org</owner>
  <obsolete>
    Deprecated 2016-09. As of M55, this is no longer recorded.
  </obsolete>
  <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>jyquinn@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="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: This is in the process of being superseded by
    WebCore.UseCounter.Features which fixes a number of issues.  See
    https://crbug.com/597963.

    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: This is in the process of being superseded by
    WebCore.UseCounter.CSSProperties which fixes a number of issues.  See
    https://crbug.com/597963.

    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>
  Types of corruption that LevelDB encounters when opening a database.
</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">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBOpenErrors.BFE.
  </obsolete>
  <summary>
    Errno errors encountered by a single LevelDBEnv method when opening an
    IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBOpenErrors.PFE"
    enum="PlatformFileError">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBOpenErrors.BFE.
  </obsolete>
  <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>
  Types of corruption that LevelDB encounters when reading a database.
</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">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBReadErrors.BFE.
  </obsolete>
  <summary>
    Errno errors encountered by a single LevelDBEnv method when reading an
    IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBReadErrors.PFE"
    enum="PlatformFileError">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBReadErrors.BFE.
  </obsolete>
  <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>
  Types of corruption returned by LevelDB when it failed to write to a database.
</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">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBWriteErrors.BFE.
  </obsolete>
  <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">
  <owner>dgrogan@chromium.org</owner>
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBWriteErrors.BFE.
  </obsolete>
  <summary>
    PlatformFileErrors encountered by a single LevelDBEnv method when writing to
    an IndexedDB instance.
  </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">
  <owner>rbyers@chromium.org</owner>
  <summary>
    NOTE: This is in the process of replacing
    WebCore.FeatureObserver.CSSProperties which fixes a number of issues.  See
    https://crbug.com/597963.

    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.

    TODO: The exact definition of &quot;page load&quot; is still
    incorrect/fuzzy. https://crbug.com/236262
  </details>
</histogram>

<histogram name="WebCore.UseCounter_TEST.Features" enum="FeatureObserver">
  <owner>rbyers@chromium.org</owner>
  <summary>
    NOTE: This is in the process of replacing WebCore.FeatureObserver which
    fixes a number of issues.  See https://crbug.com/597963.

    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>
    TODO: The exact definition of &quot;page load&quot; is still
    incorrect/fuzzy. https://crbug.com/236262
  </details>
</histogram>

<histogram name="WebCore.UseCounter_TEST.SVGImage.CSSProperties"
    enum="MappedCSSProperties">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Like WebCore.UseCounter_TEST.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="WebCore.UseCounter_TEST.SVGImage.Features"
    enum="FeatureObserver">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Like WebCore.UseCounter_TEST.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="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.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>bjornv@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.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.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>bjornv@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>bjornv@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>bjornv@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.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">
  <owner>henrika@chromium.org</owner>
  <summary>Size of WebRTC audio output buffers (in audio frames).</summary>
</histogram>

<histogram name="WebRTC.AudioOutputFramesPerBufferUnexpected"
    units="audio frames">
  <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.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">
  <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.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.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.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.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.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">
  <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
    Website Settings 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="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">
  <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="WinTimeTicks.FailedToChangeCores" enum="WindowsVersion">
  <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">
  <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">
  <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">
  <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">
  <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">
  <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="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.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="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="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="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="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="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."/>
</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="SOURCE_UNTRACKED"/>
  <int value="1" label="SOURCE_APP_LAUNCHER"/>
  <int value="2" label="SOURCE_NEW_TAB_PAGE"/>
  <int value="3" label="SOURCE_RELOAD"/>
  <int value="4" label="SOURCE_RESTART"/>
  <int value="5" label="SOURCE_LOAD_AND_LAUNCH"/>
  <int value="6" label="SOURCE_COMMAND_LINE"/>
  <int value="7" label="SOURCE_FILE_HANDLER"/>
  <int value="8" label="SOURCE_URL_HANDLER"/>
  <int value="9" label="SOURCE_SYSTEM_TRAY"/>
  <int value="10" label="SOURCE_ABOUT_PAGE"/>
  <int value="11" label="SOURCE_KEYBOARD"/>
  <int value="12" label="SOURCE_EXTENSIONS_PAGE"/>
  <int value="13" label="SOURCE_MANAGEMENT_API"/>
  <int value="14" label="SOURCE_EPHEMERAL_APP_DEPRECATED"/>
  <int value="15" label="SOURCE_BACKGROUND"/>
  <int value="16" label="SOURCE_KIOSK"/>
  <int value="17" label="SOURCE_CHROME_INTERNAL"/>
  <int value="18" label="SOURCE_TEST"/>
  <int value="19" label="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="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="ArcOptInAction" type="int">
  <summary>Defines Arc OptIn actions</summary>
  <int value="0" label="Opted In"/>
  <int value="1" label="Opted Out"/>
  <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="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"/>
</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"/>
</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="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">
  <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="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="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"/>
  <int value="1" label="Includes type hints"/>
</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)"/>
</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"/>
</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"/>
</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="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"/>
</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="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="ARH_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="WSH_SEND_BLOB_DURING_BLOB_SEND"/>
  <int value="111" label="WSH_SEND_FRAME_DURING_BLOB_SEND"/>
  <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="WSH_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"/>
</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"/>
</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="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="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="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="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="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="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="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="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="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="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="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="BooleanPanelWasOpen" type="int">
  <int value="0" label="Panel was closed"/>
  <int value="1" label="Panel was open"/>
</enum>

<enum name="BooleanPersisted" type="int">
  <int value="0" label="Not persisted"/>
  <int value="1" label="Persisted"/>
</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="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="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="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="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"/>
</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="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"/>
</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."/>
  <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()."/>
</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">
  <int value="0" label="No data callback"/>
  <int value="1" label="OK"/>
  <int value="2" label="Failed to create stream"/>
  <int value="3" label="Failed to open stream"/>
  <int value="4" label="Never recieved any data"/>
</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="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="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="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="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="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="-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="-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="-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"/>
  <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"/>
</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="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="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"/>
  <int value="9" label="Mouselock setting"/>
  <int value="10" label="Mixed Script setting"/>
  <int value="11" label="Media setting (default for mic and camera)"/>
  <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"/>
  <int value="19" label="SSL Certificate Decisions setting"/>
  <int value="20" label="Metro switch-to-desktop setting (Windows only)"/>
  <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="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"/>
</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="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="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="CrashpadMacExceptionCodes" type="int">
  <int value="1" label="EXC_BAD_ACCESS"/>
  <int value="2" label="EXC_BAD_INSTRUCTION"/>
  <int value="10" label="EXC_CRASH"/>
</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="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="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"/>
</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="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="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="D3DHresult" 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="-2147024891" label="E_ACCESSDENIED"/>
  <int value="-2147024890" label="E_HANDLE"/>
  <int value="-2147024882" label="E_OUTOFMEMORY"/>
  <int value="-2147024809" label="E_INVALIDARG"/>
  <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"/>
</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="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="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)"/>
</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="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="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"/>
  <int value="16" label="Safe Browsing"/>
  <int value="17" label="Data Reduction Proxy"/>
  <int value="18" label="Precache"/>
  <int value="19" label="NTPTiles"/>
</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="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="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"/>
</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="Profiles"/>
  <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"/>
</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="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="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="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="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, except default note-taking app"/>
  <int value="3" label="ARC app (android app on Chrome)"/>
  <int value="4" label="Default note-taking app"/>
</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"/>
</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="set_destination"/>
  <int value="7" label="accept_danger"/>
  <int value="8" label="show"/>
  <int value="9" label="drag"/>
</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="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="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="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">
    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>
</enum>

<enum name="EnterprisePolicies" type="int">
<!-- Generated from components/policy/resources/policy_templates.json -->

  <int value="1" label="Configure the home page URL"/>
  <int value="2" label="Use New Tab Page as homepage"/>
  <int value="3" label="Set Google Chrome as Default Browser"/>
  <int value="4" label="Application locale"/>
  <int value="5" label="Enable alternate error pages"/>
  <int value="6" label="Enable search suggestions"/>
  <int value="7" label="Enable network prediction"/>
  <int value="8" label="Disable SPDY protocol"/>
  <int value="9" label="Enable JavaScript"/>
  <int value="10" label="Enable Incognito mode"/>
  <int value="11" label="Disable saving browser history"/>
  <int value="12" label="Enable printing"/>
  <int value="13" label="Enable Google Cloud Print proxy"/>
  <int value="14" label="Enable Safe Browsing"/>
  <int value="15" label="Enable reporting of usage and crash-related data"/>
  <int value="16" label="Enable saving passwords to the password manager"/>
  <int value="17"
      label="Allow users to show passwords in Password Manager (deprecated)"/>
  <int value="18" label="Enable AutoFill"/>
  <int value="19" label="Specify a list of disabled plugins"/>
  <int value="20" label="Disable synchronization of data with Google"/>
  <int value="21" label="Choose how to specify proxy server settings"/>
  <int value="22" label="Choose how to specify proxy server settings"/>
  <int value="23" label="Address or URL of proxy server"/>
  <int value="24" label="URL to a proxy .pac file"/>
  <int value="25" label="Proxy bypass rules"/>
  <int value="26" label="Supported authentication schemes"/>
  <int value="27"
      label="Disable CNAME lookup when negotiating Kerberos authentication"/>
  <int value="28" label="Include non-standard port in Kerberos SPN"/>
  <int value="29" label="Authentication server whitelist"/>
  <int value="30" label="Kerberos delegation server whitelist"/>
  <int value="31" label="GSSAPI library name"/>
  <int value="32" label="Configure extension installation blacklist"/>
  <int value="33" label="Configure extension installation whitelist"/>
  <int value="34"
      label="Configure the list of force-installed apps and extensions"/>
  <int value="35" label="Show Home button on toolbar"/>
  <int value="36" label="Disable Developer Tools"/>
  <int value="37" label="Action on startup"/>
  <int value="38" label="URLs to open on startup"/>
  <int value="39" label="Block third party cookies"/>
  <int value="40" label="Enable the default search provider"/>
  <int value="41" label="Default search provider name"/>
  <int value="42" label="Default search provider keyword"/>
  <int value="43" label="Default search provider search URL"/>
  <int value="44" label="Default search provider suggest URL"/>
  <int value="45" label="Default search provider instant URL"/>
  <int value="46" label="Default search provider icon"/>
  <int value="47" label="Default search provider encodings"/>
  <int value="48" label="Default cookies setting"/>
  <int value="49" label="Default images setting"/>
  <int value="50" label="Default JavaScript setting"/>
  <int value="51" label="Default plugins setting"/>
  <int value="52" label="Default popups setting"/>
  <int value="53" label="Default notification setting"/>
  <int value="54" label="Default geolocation setting"/>
  <int value="55" label="Disable support for 3D graphics APIs"/>
  <int value="56" label="Refresh rate for user policy"/>
  <int value="57" label="Default HTML renderer for Google Chrome Frame"/>
  <int value="58"
      label="Always render the following URL patterns in Google Chrome Frame"/>
  <int value="59"
      label="Always render the following URL patterns in the host browser"/>
  <int value="60"
      label="Allow Google Chrome Frame to handle the listed content types"/>
  <int value="61" label="Enable lock when the device become idle or suspended"/>
  <int value="62" label="Enable Instant"/>
  <int value="63" label="Set user data directory"/>
  <int value="64" label="Set download directory"/>
  <int value="65" label="Clear site data on browser shutdown (deprecated)"/>
  <int value="66" label="Specify whether the plugin finder should be disabled"/>
  <int value="67" label="Block cookies on these sites"/>
  <int value="68" label="Allow session only cookies on these sites"/>
  <int value="69" label="Allow images on these sites"/>
  <int value="70" label="Block images on these sites"/>
  <int value="71" label="Allow JavaScript on these sites"/>
  <int value="72" label="Block JavaScript on these sites"/>
  <int value="73" label="Allow plugins on these sites"/>
  <int value="74" label="Block plugins on these sites"/>
  <int value="75" label="Allow popups on these sites"/>
  <int value="76" label="Block popups on these sites"/>
  <int value="77" label="Allow cookies on these sites"/>
  <int value="78" label="Specify a list of enabled plugins"/>
  <int value="79"
      label="Specify a list of plugins that the user can enable or disable"/>
  <int value="80" label="Enable Translate"/>
  <int value="81" label="Allow running plugins that are outdated"/>
  <int value="82" label="Enable Bookmark Bar"/>
  <int value="83" label="Enables or disables bookmark editing"/>
  <int value="84" label="Allow invocation of file selection dialogs"/>
  <int value="85" label="Disable URL protocol schemes"/>
  <int value="86" label="Always runs plugins that require authorization"/>
  <int value="87" label="Set Google Chrome Frame user data directory"/>
  <int value="88" label="Set disk cache directory"/>
  <int value="89" label="Cross-origin HTTP Basic Auth prompts"/>
  <int value="90" label="Refresh rate for Device Policy"/>
  <int value="91" label="Release channel"/>
  <int value="92"
      label="Maximal number of concurrent connections to the proxy server"/>
  <int value="93" label="Incognito mode availability"/>
  <int value="94" label="Enable firewall traversal from remote access client"/>
  <int value="95" label="Enable firewall traversal from remote access host"/>
  <int value="96"
      label="Prevent app promotions from appearing on the new tab page"/>
  <int value="97" label="Import bookmarks from default browser on first run"/>
  <int value="98"
      label="Import browsing history from default browser on first run"/>
  <int value="99" label="Import of homepage from default browser on first run"/>
  <int value="100"
      label="Import search engines from default browser on first run"/>
  <int value="101"
      label="Import saved passwords from default browser on first run"/>
  <int value="102"
      label="Automatically select client certificates for these sites"/>
  <int value="103" label="Block access to a list of URLs"/>
  <int value="104" label="Allows access to a list of URLs"/>
  <int value="105" label="Allow notifications on these sites"/>
  <int value="106" label="Block notifications on these sites"/>
  <int value="107" label="User-level network configuration"/>
  <int value="108" label="Device-level network configuration"/>
  <int value="109"
      label="Enable submission of documents to Google Cloud Print"/>
  <int value="110" label="Set disk cache size in bytes"/>
  <int value="111" label="Set media disk cache size in bytes"/>
  <int value="112" label="Enterprise web store URL (deprecated)"/>
  <int value="113" label="Enterprise web store name (deprecated)"/>
  <int value="114"
      label="Enable TLS domain-bound certificates extension (deprecated)"/>
  <int value="115"
      label="Enable reporting memory info (JS heap size) to page (deprecated)"/>
  <int value="116" label="Proxy settings"/>
  <int value="117" label="Disable Print Preview (deprecated)"/>
  <int value="118" label="Disable TLS False Start"/>
  <int value="119" label="Report OS and firmware version"/>
  <int value="120" label="Report device activity times"/>
  <int value="121" label="Report device boot mode"/>
  <int value="122" label="Login user white list"/>
  <int value="123" label="Allow creation of new user accounts"/>
  <int value="124" label="Enable guest mode"/>
  <int value="125" label="Show usernames on login screen"/>
  <int value="126" label="Enable data roaming"/>
  <int value="127" label="Enable metrics reporting"/>
  <int value="128" label="Wipe user data on sign-out"/>
  <int value="129" label="Whether online OCSP/CRL checks are performed"/>
  <int value="130" label="Timeout until idle user log-out is executed"/>
  <int value="131" label="Duration of the idle log-out warning message"/>
  <int value="132"
      label="Screen saver to be used on the sign-in screen in retail mode"/>
  <int value="133"
      label="Duration of inactivity before the screen saver is shown on the
             sign-in screen in retail mode"/>
  <int value="134"
      label="Whether the release channel should be configurable by the user"/>
  <int value="135" label="List of AppPack extensions"/>
  <int value="136" label="Disables Auto Update"/>
  <int value="137" label="Load specified urls on demo login"/>
  <int value="138"
      label="Continue running background apps when Google Chrome is closed"/>
  <int value="139" label="Disables Drive in the Google Chrome OS Files app"/>
  <int value="140"
      label="Disables Google Drive over cellular connections in the Google
             Chrome OS Files app"/>
  <int value="141"
      label="Additional command line parameters for Google Chrome"/>
  <int value="142" label="Target Auto Update Version"/>
  <int value="143" label="Report device location"/>
  <int value="144" label="List of pinned apps to show in the launcher"/>
  <int value="145" label="Auto update scatter factor"/>
  <int value="146" label="Connection types allowed for updates"/>
  <int value="147"
      label="Restrict which users are allowed to sign in to Google Chrome"/>
  <int value="148"
      label="Configure extension, app, and user script install sources"/>
  <int value="149" label="Default mediastream setting"/>
  <int value="150"
      label="Disable proceeding from the Safe Browsing warning page"/>
  <int value="151" label="Enable or disable spell checking web service"/>
  <int value="152" label="Disable mounting of external storage"/>
  <int value="153" label="Disable taking screenshots"/>
  <int value="154"
      label="Configure the required domain name for remote access hosts"/>
  <int value="155"
      label="Enable two-factor authentication for remote access hosts"/>
  <int value="156"
      label="Configure the TalkGadget prefix for remote access hosts"/>
  <int value="157" label="Enable curtaining of remote access hosts"/>
  <int value="158" label="Timezone"/>
  <int value="159" label="Allow playing audio"/>
  <int value="160" label="Allow or deny audio capture"/>
  <int value="161"
      label="List of alternate URLs for the default search provider"/>
  <int value="162" label="Force SafeSearch"/>
  <int value="163" label="Device-local accounts"/>
  <int value="164" label="Add a logout button to the system tray"/>
  <int value="165" label="Use built-in DNS client"/>
  <int value="166" label="Control shelf auto-hiding"/>
  <int value="167" label="Allow or deny video capture"/>
  <int value="168" label="Configure allowed app/extension types"/>
  <int value="169" label="Set the display name for device-local accounts"/>
  <int value="170" label="Limit the session length"/>
  <int value="171"
      label="Parameter controlling search term placement for the default
             search provider"/>
  <int value="172" label="Screen dim delay when running on AC power"/>
  <int value="173" label="Screen off delay when running on AC power"/>
  <int value="174" label="Screen lock delay when running on AC power"/>
  <int value="175" label="Idle delay when running on AC power"/>
  <int value="176" label="Screen dim delay when running on battery power"/>
  <int value="177" label="Screen off delay when running on battery power"/>
  <int value="178" label="Screen lock delay when running on battery power"/>
  <int value="179" label="Idle delay when running on battery power"/>
  <int value="180" label="Action to take when the idle delay is reached"/>
  <int value="181" label="Action to take when the user closes the lid"/>
  <int value="182"
      label="Specify whether audio activity affects power management"/>
  <int value="183"
      label="Specify whether video activity affects power management"/>
  <int value="184"
      label="Percentage by which to scale the idle delay in presentation mode
             (deprecated)"/>
  <int value="185"
      label="Allow users to redeem offers through Chrome OS Registration"/>
  <int value="186" label="Set the Terms of Service for a device-local account"/>
  <int value="187" label="Enable deleting browser and download history"/>
  <int value="188" label="Show accessibility options in system tray menu"/>
  <int value="189"
      label="Hide the web store from the New Tab Page and app launcher"/>
  <int value="190" label="Allows sign in to Google Chrome"/>
  <int value="191"
      label="System wide flags to be applied on Google Chrome start-up"/>
  <int value="192" label="Limit device uptime by automatically rebooting"/>
  <int value="193" label="Automatically reboot after update"/>
  <int value="194" label="Public session for auto-login"/>
  <int value="195" label="Public session auto-login timer"/>
  <int value="196"
      label="Set the restriction on the fetching of the Variations seed"/>
  <int value="197" label="Idle warning delay when running on AC power"/>
  <int value="198" label="Idle warning delay when running on battery power"/>
  <int value="199"
      label="Set the restriction on the fetching of the Variations seed"/>
  <int value="200" label="Enable remote attestation for the user"/>
  <int value="201"
      label="Extensions allowed to to use the remote attestation API"/>
  <int value="202" label="Enable bailout keyboard shortcut for auto-login"/>
  <int value="203" label="Allow screen wake locks"/>
  <int value="204" label="Default behavior for sites not in any content pack"/>
  <int value="205" label="Managed user manual exception hosts"/>
  <int value="206" label="Managed user manual exception URLs"/>
  <int value="207" label="Enable remote attestation for the device"/>
  <int value="208"
      label="URLs that will be granted access to audio capture devices
             without prompt"/>
  <int value="209"
      label="URLs that will be granted access to video capture devices
             without prompt"/>
  <int value="210"
      label="Percentage by which to scale the screen dim delay if the user
             becomes active after dimming"/>
  <int value="211" label="Enable large cursor"/>
  <int value="212" label="Enable spoken feedback"/>
  <int value="213" label="Enable high contrast mode"/>
  <int value="214" label="Set screen magnifier type"/>
  <int value="215"
      label="Set default state of the large cursor on the login screen"/>
  <int value="216"
      label="Set the default state of spoken feedback on the login screen"/>
  <int value="217"
      label="Set the default state of high contrast mode on the login screen"/>
  <int value="218"
      label="Set the default screen magnifier type enabled on the login
             screen"/>
  <int value="219" label="Enable supervised users"/>
  <int value="220"
      label="Percentage by which to scale the screen dim delay in
             presentation mode"/>
  <int value="221" label="Suppress the Google Chrome Frame turndown prompt"/>
  <int value="222"
      label="Action to take when the idle delay is reached while running on
             battery power"/>
  <int value="223" label="Enable creation of supervised users"/>
  <int value="224" label="Report device network interfaces"/>
  <int value="225" label="Power management on the login screen"/>
  <int value="226"
      label="Action to take when the idle delay is reached while running on
             AC power"/>
  <int value="227" label="Managed Bookmarks"/>
  <int value="228" label="Maximum fetch delay after a policy invalidation"/>
  <int value="229"
      label="Parameter providing search-by-image feature for the default
             search provider"/>
  <int value="230" label="Parameters for search URL which uses POST"/>
  <int value="231" label="Parameters for suggest URL which uses POST"/>
  <int value="232" label="Parameters for instant URL which uses POST"/>
  <int value="233" label="Parameters for image URL which uses POST"/>
  <int value="234"
      label="Enable or disable PIN-less authentication for remote access
             hosts"/>
  <int value="235"
      label="Whether online OCSP/CRL checks are required for local trust
             anchors"/>
  <int value="236" label="Use 24 hour clock by default"/>
  <int value="237" label="Default search provider new tab page URL"/>
  <int value="238" label="Skip the meta tag check in Google Chrome Frame"/>
  <int value="239"
      label="Enable the use of remote attestation for content protection for
             the device"/>
  <int value="240" label="Allow fullscreen mode"/>
  <int value="241" label="Enable the data compression proxy feature"/>
  <int value="242" label="Auto update p2p enabled"/>
  <int value="243" label="Allow autoupdate downloads via HTTP"/>
  <int value="244" label="Control the user behavior in a multiprofile session"/>
  <int value="245" label="Ephemeral profile"/>
  <int value="246"
      label="Selects the strategy used to free up disk space during automatic
             clean-up (deprecated)"/>
  <int value="247" label="Wait for initial user activity"/>
  <int value="248" label="Report device users"/>
  <int value="249" label="User avatar image"/>
  <int value="250" label="Enable network configuration prompt when offline"/>
  <int value="251" label="Configure native messaging blacklist"/>
  <int value="252" label="Configure native messaging whitelist"/>
  <int value="253"
      label="Allow user-level Native Messaging hosts (installed without admin
             permissions)."/>
  <int value="254"
      label="Limit the time for which a user authenticated via SAML can log
             in offline"/>
  <int value="255" label="Enable on-screen keyboard"/>
  <int value="256"
      label="Set default state of the on-screen keyboard on the login screen"/>
  <int value="257" label="Allow gnubby authentication for remote access hosts"/>
  <int value="258"
      label="Power management settings when the user becomes idle"/>
  <int value="259" label="Screen lock delays"/>
  <int value="260" label="Media keys default to function keys"/>
  <int value="261" label="Enable WPAD optimization"/>
  <int value="262" label="Wallpaper image"/>
  <int value="263"
      label="Enable the use of relay servers by the remote access host"/>
  <int value="264"
      label="Restrict the UDP port range used by the remote access host"/>
  <int value="265" label="Enables the old web-based signin"/>
  <int value="266" label="Block developer mode"/>
  <int value="267" label="Show the apps shortcut in the bookmark bar"/>
  <int value="268" label="Register protocol handlers"/>
  <int value="269" label="Enable virtual keyboard"/>
  <int value="270"
      label="Enable deprecated web platform features for a limited time"/>
  <int value="271" label="Transfer SAML IdP cookies during login"/>
  <int value="272" label="Allows Smart Lock to be used"/>
  <int value="273" label="Enable network prediction"/>
  <int value="274" label="Set the recommended locales for a public session"/>
  <int value="275" label="Enable guest mode in browser"/>
  <int value="276" label="Enable add person in profile manager"/>
  <int value="277"
      label="Import autofill form data from default browser on first run"/>
  <int value="278" label="Extension management settings"/>
  <int value="279" label="Minimum SSL version enabled"/>
  <int value="280" label="Minimum TLS version to fallback to"/>
  <int value="281" label="Enable Touch to Search"/>
  <int value="282" label="Force Google SafeSearch"/>
  <int value="283" label="Force YouTube Safety Mode"/>
  <int value="284" label="Automatic reboot on device shutdown"/>
  <int value="285"
      label="Requires that the name of the local user and the remote access
             host owner match"/>
  <int value="286"
      label="URL where remote access clients should obtain their
             authentication token"/>
  <int value="287"
      label="URL for validating remote access client authentication token"/>
  <int value="288"
      label="Client certificate for connecting to
             RemoteAccessHostTokenValidationUrl"/>
  <int value="289"
      label="Policy overrides for Debug builds of the remote access host"/>
  <int value="290" label="Report hardware status"/>
  <int value="291" label="Report information about active kiosk sessions"/>
  <int value="292" label="Frequency of device status report uploads"/>
  <int value="293"
      label="Send network packets to the management server to monitor online
             status"/>
  <int value="294" label="Frequency of monitoring network packets"/>
  <int value="295" label="Captive portal authentication ignores proxy"/>
  <int value="296" label="Set Apps and Extensions cache size (in bytes)"/>
  <int value="297" label="Enable domain name autocomplete during user sign in"/>
  <int value="298" label="Maximize the first browser window on first run"/>
  <int value="299"
      label="Allow users to opt in to Safe Browsing extended reporting"/>
  <int value="300" label="Allow proceeding from the SSL warning page"/>
  <int value="301" label="Allows QUIC protocol"/>
  <int value="302" label="Key Permissions"/>
  <int value="303"
      label="Enable showing the welcome page on the first browser launch
             following OS upgrade."/>
  <int value="304" label="Use hardware acceleration when available"/>
  <int value="305" label="Account type for HTTP Negotiate authentication"/>
  <int value="306" label="Send system logs to the management server"/>
  <int value="307"
      label="Make Unified Desktop available and turn on by default."/>
  <int value="308" label="Default printer selection rules"/>
  <int value="309" label="Allow Dinosaur Easter Egg Game"/>
  <int value="310" label="Whether RC4 cipher suites in TLS are enabled"/>
  <int value="311"
      label="Set default display rotation, reapplied on every reboot"/>
  <int value="312" label="Enable the supervised user content provider"/>
  <int value="313" label="Default key generation setting"/>
  <int value="314" label="Allow key generation on these sites"/>
  <int value="315" label="Block key generation on these sites"/>
  <int value="316"
      label="Configure the required domain name for remote access clients"/>
  <int value="317" label="Enable ARC"/>
  <int value="318" label="Configure ARC"/>
  <int value="319"
      label="Allow the auto launched with zero delay kiosk app to control
             Google Chrome OS version"/>
  <int value="320" label="Control use of the Web Bluetooth API"/>
  <int value="321" label="Configure the login authentication behavior"/>
  <int value="322" label="Whitelist of USB detachable devices"/>
  <int value="323" label="Allow bluetooth on device"/>
  <int value="324" label="Suppress the unsupported OS warning"/>
  <int value="325"
      label="Enable queries to Quirks Server for hardware profiles"/>
  <int value="326" label="Configure the automatic timezone detection method"/>
  <int value="327" label="Enables ending processes in Task Manager"/>
  <int value="328"
      label="URLs that will be granted access to video capture devices on
             SAML login pages"/>
  <int value="329" label="Permit locking the screen"/>
  <int value="330" label="Set certificate availability for ARC-apps"/>
  <int value="331" label="Define domains allowed to access Google Apps"/>
  <int value="332" label="Enable PAC URL stripping (for https://)"/>
  <int value="333" label="Enables cast"/>
  <int value="334" label="Whether DHE cipher suites in TLS are enabled"/>
  <int value="335"
      label="Disable Certificate Transparency enforcement for a list of URLs"/>
  <int value="336"
      label="Configure the list of installed apps on the login screen"/>
  <int value="337" label="Enable Android Backup Service"/>
  <int value="338" label="Show content suggestions on the New Tab page"/>
  <int value="339"
      label="Restrict the range of local UDP ports used by WebRTC"/>
  <int value="340"
      label="Whether SHA-1 signed certificates issued by local trust anchors
             are allowed"/>
  <int value="341" label="Set an external source of URL restrictions"/>
  <int value="342" label="Enables component updates in Google Chrome."/>
  <int value="343" label="Treat external storage devices as read-only."/>
  <int value="344"
      label="Allow remote users to interact with elevated windows in remote
             assistance sessions"/>
  <int value="345" label="Enables HTTP/0.9 support on non-default ports"/>
  <int value="346" label="Enables force sign in for browser."/>
  <int value="347" label="Always open PDF in external viewer."/>
</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="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"/>
</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="GCD_PRIVATE_ON_DEVICE_REMOVED"/>
  <int value="131" label="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="NOTIFICATION_PROVIDER_ON_CLEARED"/>
  <int value="191" label="NOTIFICATION_PROVIDER_ON_CREATED"/>
  <int value="192" label="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"/>
</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="GCDPRIVATE_GETCLOUDDEVICELIST"/>
  <int value="824" label="GCDPRIVATE_QUERYFORNEWLOCALDEVICES"/>
  <int value="825" label="GCDPRIVATE_PREFETCHWIFIPASSWORD"/>
  <int value="826" label="GCDPRIVATE_ESTABLISHSESSION"/>
  <int value="827" label="GCDPRIVATE_SENDMESSAGE"/>
  <int value="828" label="GCDPRIVATE_CONFIRMCODE"/>
  <int value="829" label="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="GCDPRIVATE_GETCOMMANDDEFINITIONS"/>
  <int value="835" label="GCDPRIVATE_INSERTCOMMAND"/>
  <int value="836" label="GCDPRIVATE_GETCOMMAND"/>
  <int value="837" label="GCDPRIVATE_CANCELCOMMAND"/>
  <int value="838" label="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="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="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="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_GETDEFAULTZOOMPERCENTFUNCTION"/>
  <int value="1095" label="SETTINGSPRIVATE_SETDEFAULTZOOMPERCENTFUNCTION"/>
  <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"/>
</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="kAudioModem"/>
  <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="kCopresence"/>
  <int value="36" label="kCopresencePrivate"/>
  <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="kGcdPrivate"/>
  <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="kNotificationProvider"/>
  <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"/>
</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="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="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="VTTCueRenderAlignNotMiddle"/>
  <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="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="AudioContext"/>
  <int value="653" label="OfflineAudioContext"/>
  <int value="654" label="PrefixedAudioContext"/>
  <int value="655" label="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="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="1348" label="EventCancelBubbleAffected"/>
  <int value="1349" label="EventCancelBubbleWasChangedToTrue"/>
  <int value="1350" label="EventCancelBubbleWasChangedToFalse"/>
  <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="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"/>
  <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"/>
</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="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"/>
</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."/>
</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="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="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 (Only built via GN, not GYP) -->

  <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="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="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="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="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="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="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="1288236137" label="hid_control_point"/>
  <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="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="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="1822663159" label="altitude"/>
  <int value="1826219951" label="measurement_interval"/>
  <int value="1834634616"
      label="konashi i2cStartStop; 229b300c-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1847017753"
      label="konashi pwmConfig; 229b3004-03fb-40da-98a7-b0def65c2d4b"/>
  <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="1954594648" label="temperature"/>
  <int value="1970019437" label="gap.peripheral_privacy_flag"/>
  <int value="1981651466" label="wind_chill"/>
  <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="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="GATTServiceHash" type="int">
<!-- Hash values can be produced using tool: bluetooth_metrics_hash (Only built via GN, not GYP) -->

  <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="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="617434027" label="fe59"/>
  <int value="621358948" label="fec7"/>
  <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="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="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="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="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="1701893879" label="feac"/>
  <int value="1706666451" label="fea7"/>
  <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="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="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="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="Response parsing failed"/>
  <int value="9" label="Reached maximum number of retries"/>
</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 reponse code not OK"/>
  <int value="9" label="Unknown error"/>
  <int value="10" label="Reached maximum number of retries"/>
</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="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="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="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="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="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="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>
  <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"/>
  <int value="2" label="Grouped Month"/>
  <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">
    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">
    Failed sql::MetaTable::Init().
  </int>
  <int value="6" label="RECOVERY_EVENT_FAILED_SCHEMA_INIT">
    Failed to init target schema.
  </int>
  <int value="7" label="RECOVERY_EVENT_FAILED_AUTORECOVER_THUMBNAILS">
    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="-2147467262" label="E_NOINTERFACE"/>
  <int value="-2147467259" label="E_FAIL"/>
  <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="ERROR_ACCESS_DENIED"/>
  <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="-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="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"/>
</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="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="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="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="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="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="WEBSITE_SETTINGS_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"/>
</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="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="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="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"/>
  <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="Abort 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"/>
</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="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="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="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"/>
</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"/>
  <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"/>
</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="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"/>
</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="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.
-->

  <summary>Chrome flags that lead to chrome restart on ChromeOS.</summary>
  <int value="-2143328006"
      label="enable-fill-on-account-select-no-highlighting"/>
  <int value="-2143113994" label="enable-ephemeral-apps-in-webstore"/>
  <int value="-2132591642" label="enable-input-view"/>
  <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="-2099035488" label="enable-data-reduction-proxy-bypass-warning"/>
  <int value="-2098610409" label="disable-lcd-text"/>
  <int value="-2097515669" label="disable-cast"/>
  <int value="-2083195884" label="enable-firewall-hole-punching"/>
  <int value="-2077268643" label="disable-device-enumeration"/>
  <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="-2048732429" label="enable-alternative-services"/>
  <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="-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="-2008272679" label="disable-webrtc-hw-encoding"/>
  <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="-1985025593" label="file-manager-enable-new-gallery"/>
  <int value="-1980328793" label="trace-upload-url"/>
  <int value="-1972383451" label="disable-pinch"/>
  <int value="-1972219399" label="NTPSaveToOffline:enabled"/>
  <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="-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="-1938263248" label="enable-extension-info-dialog"/>
  <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="-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="-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="-1872989945" label="enable-webview-based-signin"/>
  <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="-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="-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="-1772172557" label="enable-osk-overscroll"/>
  <int value="-1767470652" label="out-of-process-pdf"/>
  <int value="-1751928267" label="disable-icon-ntp"/>
  <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="-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="-1649778035" label="disable-clear-browsing-data-counters"/>
  <int value="-1631329950" label="ssl-version-max"/>
  <int value="-1630419335" label="enable-download-notification"/>
  <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="-1578295753" label="UserMediaScreenCapturing:disabled"/>
  <int value="-1572010356" label="enable-privet-v3"/>
  <int value="-1571841513" label="enable-devtools-experiments"/>
  <int value="-1559789642" label="RunAllFlashInAllowMode:enabled"/>
  <int value="-1553477903" label="ash-disable-text-filtering-in-overview-mode"/>
  <int value="-1546903171" label="enable-touch-drag-drop"/>
  <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="-1482685863" label="enable-request-tablet-site"/>
  <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="-1460462432" label="disable-media-source"/>
  <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="-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="-1386966873" label="disable-mac-views-native-app-windows"/>
  <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="-1349872906"
      label="disallow-autofill-sync-credential-for-reauth"/>
  <int value="-1349532167" label="enable-wifi-credential-sync"/>
  <int value="-1346722635" label="gesture-selection"/>
  <int value="-1341092934" label="enable-accelerated-overflow-scroll"/>
  <int value="-1340055960" label="enable-streamlined-hosted-apps"/>
  <int value="-1337185440" label="enable-webvr"/>
  <int value="-1334327410" label="ash-enable-touch-view-testing"/>
  <int value="-1327676774" label="disable-accelerated-mjpeg-decode"/>
  <int value="-1322882747" label="disable-datasaver-prompt"/>
  <int value="-1319688939" label="ignore-gpu-blacklist"/>
  <int value="-1310737697" label="MaterialDesignSettings:enabled"/>
  <int value="-1302904242" label="enable-navigation-tracing"/>
  <int value="-1289678848" label="SystemDownloadManager:enabled"/>
  <int value="-1285021473" label="save-page-as-mhtml"/>
  <int value="-1276912933" label="enable-quick-unlock-pin"/>
  <int value="-1271563519" label="enable-appcontainer"/>
  <int value="-1269084216" label="ash-md"/>
  <int value="-1268836676" label="disable-out-of-process-pdf"/>
  <int value="-1267958145" label="disable-pdf-material-ui"/>
  <int value="-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="-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="-1184904651" label="enable-npapi"/>
  <int value="-1177802205" label="enable-hosted-app-quit-notification"/>
  <int value="-1176748003"
      label="FramebustingNeedsSameOriginOrUserGesture:disabled"/>
  <int value="-1176493523" label="enable-md-extensions"/>
  <int value="-1172204005" label="enable-offline-auto-reload-visible-only"/>
  <int value="-1160026273" label="enable-web-notification-custom-layouts"/>
  <int value="-1159563774" label="enable-accessibility-script-injection"/>
  <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="-1127996427" label="enable-files-details-panel"/>
  <int value="-1125133283" label="disable-threaded-scrolling"/>
  <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="-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="-1041650038" label="enable-forced-migration-to-tabbed-mode"/>
  <int value="-1039555838" label="GamepadExtensions:enabled"/>
  <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="-972425050" label="gesture-editing"/>
  <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="-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="-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="-898005938" label="disable-pinch-virtual-viewport"/>
  <int value="-894214299" label="fill-on-account-select:enabled"/>
  <int value="-885601782" label="enable-contextual-search"/>
  <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="-856915246" label="enable-new-audio-rendering-mixing-strategy"/>
  <int value="-856016114" label="NTPOfflinePages:disabled"/>
  <int value="-853594220" label="disable-new-avatar-menu"/>
  <int value="-842438090" label="enable-md-feedback"/>
  <int value="-836123854" label="wallet-service-use-sandbox"/>
  <int value="-835672415" label="PointerEventV1SpecCapturing: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="-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="-780798969" label="disable-single-click-autofill"/>
  <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="-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="-711890895" label="enable-website-settings-manager"/>
  <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="-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="-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="-617452890" label="media-router"/>
  <int value="-610411643" label="enable-printer-app-search"/>
  <int value="-606898702" label="MaterialDesignSettings:disabled"/>
  <int value="-604814313" label="enable-pinch"/>
  <int value="-604068396" label="disable-input-ime-api"/>
  <int value="-601384286" label="disable-contextual-search"/>
  <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="-536289234" label="ssl-interstitial-v2-colorful"/>
  <int value="-535208779" label="enable-native-cups"/>
  <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="-474322576" label="disable-quick-unlock-pin"/>
  <int value="-472013317" label="WebRTC-H264WithOpenH264FFmpeg:disabled"/>
  <int value="-462205750" label="enable-service-worker-sync"/>
  <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="-396994784" label="enable-vr-shell"/>
  <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="-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="-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="-290672626" label="enable-asm-wasm"/>
  <int value="-288316828" label="enable-delegated-renderer"/>
  <int value="-279920685" label="affiliation-based-matching: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="-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="-213518852" label="protect-sync-credential:enabled"/>
  <int value="-206393363" label="enable-scroll-prediction"/>
  <int value="-204355195" label="secondary-ui-md"/>
  <int value="-201208150" label="ash-max-previews-to-use-mask"/>
  <int value="-192919826" label="ViewsSimplifiedFullscreenUI: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="-147283486" label="enable-network-portal-notification"/>
  <int value="-146552997" label="enable-affiliation-based-matching"/>
  <int value="-138773929" label="PassiveDocumentEventListeners:enabled"/>
  <int value="-122492389" label="enable-browser-task-scheduler"/>
  <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="-76631048" label="disable-offline-auto-reload-visible-only"/>
  <int value="-70595606" label="ash-enable-unified-desktop"/>
  <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="-48920737" label="enable-smooth-scrolling"/>
  <int value="-45074716" label="SystemDownloadManager:disabled"/>
  <int value="-45063580" label="ash-max-previews-to-use-shape"/>
  <int value="-23090520" label="disable-search-button-in-omnibox"/>
  <int value="-22544408" label="enable-video-player-chromecast-support"/>
  <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="-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="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="33778663" label="OriginTrials:enabled"/>
  <int value="37024318" label="disable-affiliation-based-matching"/>
  <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="59784035" label="ImeThread:disabled"/>
  <int value="61205887" label="enable-text-input-focus-manager"/>
  <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="178337215" label="enable-md-history"/>
  <int value="180074362" label="memory-pressure-thresholds"/>
  <int value="194573877" label="MacViewsNativeDialogs:disabled"/>
  <int value="194895489" label="passive-listeners-default"/>
  <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="244697230" label="enable-theme-color-in-tabbed-mode"/>
  <int value="266702296" label="disable-plugin-power-saver"/>
  <int value="270267831" label="enable-scripts-require-action"/>
  <int value="274103741" label="enable-ntp-popular-sites"/>
  <int value="278756320" label="disable-app-list-app-info"/>
  <int value="280322118" label="enable-unsafe-es3-apis"/>
  <int value="280644887" label="mash"/>
  <int value="301869874" label="NTPPhysicalWebPageSuggestions: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="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="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="379326303" label="enable-add-to-shelf"/>
  <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="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="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="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="510814146" label="OfflineBookmarks:enabled"/>
  <int value="535976218" label="enable-plugin-power-saver"/>
  <int value="538468149" label="OfflinePagesCT:enabled"/>
  <int value="546710806" label="disable-easy-signin"/>
  <int value="550378029" label="reset-app-list-install-state"/>
  <int value="567368307" label="enable-experimental-canvas-features"/>
  <int value="581118445" label="enable-eol-notification"/>
  <int value="592050831" label="disable-slimming-paint"/>
  <int value="593707592" label="disable-network-portal-notification"/>
  <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="609112512" label="touch-selection-strategy"/>
  <int value="610545308" label="enable-potentially-annoying-security-features"/>
  <int value="625273056" label="disable-boot-animation"/>
  <int value="628302973" label="NTPSnippets:enabled"/>
  <int value="630947363" label="touch-events"/>
  <int value="636425179" label="mhtml-generator-option"/>
  <int value="637396292" label="AllBookmarks:enabled"/>
  <int value="643725031" label="disable-touch-feedback"/>
  <int value="646252875" label="ReadItLaterInMenu:enabled"/>
  <int value="646738320" label="disable-gesture-editing"/>
  <int value="650602639" label="enable-autofill-keyboard-accessory-view"/>
  <int value="683410401"
      label="enable-proximity-auth-bluetooth-low-energy-discovery"/>
  <int value="684806628" label="TranslateLanguageByULP:disabled"/>
  <int value="689489984" label="disable-zero-suggest"/>
  <int value="690185633" label="NonValidatingReloadOnNormalReload: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="730024226" label="enable-out-of-process-pdf"/>
  <int value="732703958" label="enable-gesture-tap-highlight"/>
  <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="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="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="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="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="939554480" label="enable-credit-card-scan"/>
  <int value="939603162" label="BackgroundLoadingForDownloads: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="983311394" label="tab-management-experiment-type"/>
  <int value="1000706989" label="AutomaticTabDiscarding:disabled"/>
  <int value="1002585107" label="emphasize-titles-in-omnibox-dropdown"/>
  <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="1050048304" label="enable-font-cache-scaling"/>
  <int value="1050321458" label="new-profile-management"/>
  <int value="1054910800" label="enable-timezone-tracking-option"/>
  <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="1070300488" label="disable-webgl"/>
  <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="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="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="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="1220171692" label="SpeculativeLaunchServiceWorker:enabled"/>
  <int value="1220464509" label="enable-first-run-ui-transitions"/>
  <int value="1221559505" label="enable-spelling-feedback-field-trial"/>
  <int value="1235800887" label="V8Ignition:enabled"/>
  <int value="1237297772" label="no-pings"/>
  <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="1272699563" label="enable-hosted-mode"/>
  <int value="1276209777" label="ntp-switch-to-existing-tab"/>
  <int value="1279584261" label="enable-carrier-switching"/>
  <int value="1283960113" label="disable-fixed-position-compositing"/>
  <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="1308537004" label="force-pnacl-subzero"/>
  <int value="1312025202" label="NTPOfflinePageSuggestions: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="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="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="1442798825" label="enable-quic"/>
  <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="1460958818" label="NTPForeignSessionsSuggestions:enabled"/>
  <int value="1465624446" label="disable-zero-copy"/>
  <int value="1466380480" label="enable-device-discovery-notifications"/>
  <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="1496571153" label="enable-webapk"/>
  <int value="1497924954" label="js-flags"/>
  <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="1515196403" label="fast-user-switching"/>
  <int value="1517863401" label="history-entry-requires-user-gesture"/>
  <int value="1548776701" label="AllBookmarks:disabled"/>
  <int value="1548942246" label="PassiveDocumentEventListeners:disabled"/>
  <int value="1560188739" label="reader-mode-heuristics"/>
  <int value="1586022426" label="AutofillCreditCardAssist:enabled"/>
  <int value="1589341623" label="disable-easy-unlock"/>
  <int value="1612446645" label="enable-weak-memorycache"/>
  <int value="1612974229" label="allow-insecure-localhost"/>
  <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="1694854500" label="disable-save-password-bubble"/>
  <int value="1696139514" label="enable-ble-advertising-in-apps"/>
  <int value="1705724232" label="use-android-midi-api"/>
  <int value="1723601083" label="enable-app-window-controls"/>
  <int value="1730094138" label="enable-md-storage-manager"/>
  <int value="1730236697" label="force-device-scale-factor"/>
  <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="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="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="1867085340" label="brotli-encoding: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="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="1906942630" label="enable-easy-unlock"/>
  <int value="1915178511" label="disable-blink-features"/>
  <int value="1927259098" label="TranslateLanguageByULP: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="1961425320" label="force-qtkit"/>
  <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="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="2000091128" label="enable-touch-hover"/>
  <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="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="2093235103" label="default-tile-width"/>
  <int value="2097048479" label="disable-auto-hiding-toolbar-threshold"/>
  <int value="2101151142" label="disable-direct-write"/>
  <int value="2104788328" label="use-winrt-midi-api"/>
  <int value="2119964154" label="enable-download-resumption"/>
  <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="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">None</int>
  <int value="1" label="COULD_NOT_MOUNT_CRYPTOHOME">
    Could not mount cryptohome
  </int>
  <int value="2" label="COULD_NOT_MOUNT_TMPFS">Could not mount tmpfs</int>
  <int value="3" label="COULD_NOT_UNMOUNT_CRYPTOHOME">
    Could not unmount cryptohome
  </int>
  <int value="4" label="DATA_REMOVAL_FAILED">Data removal failed</int>
  <int value="5" label="LOGIN_TIMED_OUT">Login timed out</int>
  <int value="6" label="UNLOCK_FAILED">Unlock failed</int>
  <int value="7" label="NETWORK_AUTH_FAILED">Network auth failed</int>
</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"/>
</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 -->

<!-- See http://src.chromium.org/viewvc/blink/trunk/Source/core/page/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="snap-height"/>
  <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"/>
</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"/>
  <int value="1" label="Non-Secure"/>
  <int value="2" label="Neutral with a verbose warning"/>
</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="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="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"/>
</enum>

<enum name="MediaDocumentDownloadButtonType" type="int">
  <int value="0" label="Shown"/>
  <int value="1" label="Clicked"/>
</enum>

<enum name="MediaElementAutoPlay" type="int">
  <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"/>
</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"/>
</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="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="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="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="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"/>
</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="MostVisitedTileType" 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="ThumbnailLocal">
    The item displays a locally-captured thumbnail of the site content.
  </int>
  <int value="5" label="ThumbnailServer">
    The item displays a server-provided thumbnail of the site content.
  </int>
  <int value="6" label="ThumbnailDefault">
    The item displays a default graphic in place of a thumbnail.
  </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"/>
</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="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">
  <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"/>
</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="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="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="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="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"/>
</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="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"/>
  <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"/>
</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="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">
  <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="Clicked on an interest item"/>
  <int value="9" label="Clicked on Learn More"/>
</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="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="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="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"/>
</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="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="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"/>
  <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"/>
  <int value="8" label="Out of non-interactive quota"/>
</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="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 disconnected network"/>
  <int value="8" label="Page not found on disconnected 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"/>
</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="Prerendering canceled"/>
  <int value="5" label="Prerendering 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="Prerendering not started"/>
  <int value="10" label="Prerendering failed (non-retryable)"/>
</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"/>
  <int value="3" label="Page record deletion failed"/>
  <int value="4" label="Both expiration and deletion failed"/>
</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"/>
</enum>

<enum name="OfflinePagesSharedPageWasOffline" type="int">
  <int value="0" label="Online"/>
  <int value="1" label="Offline"/>
</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="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"/>
</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_INFINITE 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"/>
</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="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="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="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"/>
</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'"/>
</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"/>
  <int value="7" label="NoSupportedPaymentMethod"/>
  <int value="8" label="Other"/>
</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"/>
</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="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="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"/>
</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="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"/>
</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"/>
  <int value="2" label="REFERER_OPTIN"/>
  <int value="3" label="REFERER_PREFERENCE"/>
  <int value="4" label="REFERER_DIAGNOSTICS"/>
</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="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="Essential Cross-Origin Tiny"/>
  <int value="5" label="Essential 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">
  <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="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"/>
</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"/>
</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="PrerenderLocalVisitCoreTransition" type="int">
  <obsolete>
    Deprecated Nov 16 2012
  </obsolete>
  <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="GENERATED"/>
</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="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"/>
  <int value="4" label="'Load images' context menu item clicked"/>
</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"/>
</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="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"/>
</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="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="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"/>
</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"/>
</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"/>
</enum>

<enum name="PushUnregistrationReason" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="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"/>
</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"/>
</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"/>
</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="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="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="RendererType" type="int">
  <int value="1" label="Normal renderer"/>
  <int value="2" label="Extension renderer"/>
</enum>

<enum name="RendererUnresponsiveType" type="int">
  <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="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="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="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="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="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="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="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="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="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"/>
</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"/>
</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."/>
</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="Total Fail">
    Failed to open the database and also failed to delete and start over.
  </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="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="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>
</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="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="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 (foreground tab)"/>
  <int value="6" label="Media (background tab)"/>
  <int value="7" label="Webapp shortcut launch"/>
</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"/>
</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="Invalid 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."/>
</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="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>
</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>
</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="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="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="0" label="TLS_NULL_WITH_NULL_NULL"/>
  <int value="1" label="TLS_RSA_WITH_NULL_MD5"/>
  <int value="2" label="TLS_RSA_WITH_NULL_SHA"/>
  <int value="3" label="TLS_RSA_EXPORT_WITH_RC4_40_MD5"/>
  <int value="4" label="TLS_RSA_WITH_RC4_128_MD5"/>
  <int value="5" label="TLS_RSA_WITH_RC4_128_SHA"/>
  <int value="6" label="TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"/>
  <int value="7" label="TLS_RSA_WITH_IDEA_CBC_SHA"/>
  <int value="8" label="TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"/>
  <int value="9" label="TLS_RSA_WITH_DES_CBC_SHA"/>
  <int value="10" label="TLS_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="11" label="TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"/>
  <int value="12" label="TLS_DH_DSS_WITH_DES_CBC_SHA"/>
  <int value="13" label="TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"/>
  <int value="14" label="TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"/>
  <int value="15" label="TLS_DH_RSA_WITH_DES_CBC_SHA"/>
  <int value="16" label="TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="17" label="TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"/>
  <int value="18" label="TLS_DHE_DSS_WITH_DES_CBC_SHA"/>
  <int value="19" label="TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"/>
  <int value="20" label="TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"/>
  <int value="21" label="TLS_DHE_RSA_WITH_DES_CBC_SHA"/>
  <int value="22" label="TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="23" label="TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"/>
  <int value="24" label="TLS_DH_anon_WITH_RC4_128_MD5"/>
  <int value="25" label="TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"/>
  <int value="26" label="TLS_DH_anon_WITH_DES_CBC_SHA"/>
  <int value="27" label="TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"/>
  <int value="30" label="TLS_KRB5_WITH_DES_CBC_SHA"/>
  <int value="31" label="TLS_KRB5_WITH_3DES_EDE_CBC_SHA"/>
  <int value="32" label="TLS_KRB5_WITH_RC4_128_SHA"/>
  <int value="33" label="TLS_KRB5_WITH_IDEA_CBC_SHA"/>
  <int value="34" label="TLS_KRB5_WITH_DES_CBC_MD5"/>
  <int value="35" label="TLS_KRB5_WITH_3DES_EDE_CBC_MD5"/>
  <int value="36" label="TLS_KRB5_WITH_RC4_128_MD5"/>
  <int value="37" label="TLS_KRB5_WITH_IDEA_CBC_MD5"/>
  <int value="38" label="TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA"/>
  <int value="39" label="TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA"/>
  <int value="40" label="TLS_KRB5_EXPORT_WITH_RC4_40_SHA"/>
  <int value="41" label="TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5"/>
  <int value="42" label="TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5"/>
  <int value="43" label="TLS_KRB5_EXPORT_WITH_RC4_40_MD5"/>
  <int value="44" label="TLS_PSK_WITH_NULL_SHA"/>
  <int value="45" label="TLS_DHE_PSK_WITH_NULL_SHA"/>
  <int value="46" label="TLS_RSA_PSK_WITH_NULL_SHA"/>
  <int value="47" label="TLS_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="48" label="TLS_DH_DSS_WITH_AES_128_CBC_SHA"/>
  <int value="49" label="TLS_DH_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="50" label="TLS_DHE_DSS_WITH_AES_128_CBC_SHA"/>
  <int value="51" label="TLS_DHE_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="52" label="TLS_DH_anon_WITH_AES_128_CBC_SHA"/>
  <int value="53" label="TLS_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="54" label="TLS_DH_DSS_WITH_AES_256_CBC_SHA"/>
  <int value="55" label="TLS_DH_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="56" label="TLS_DHE_DSS_WITH_AES_256_CBC_SHA"/>
  <int value="57" label="TLS_DHE_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="58" label="TLS_DH_anon_WITH_AES_256_CBC_SHA"/>
  <int value="59" label="TLS_RSA_WITH_NULL_SHA256"/>
  <int value="60" label="TLS_RSA_WITH_AES_128_CBC_SHA256"/>
  <int value="61" label="TLS_RSA_WITH_AES_256_CBC_SHA256"/>
  <int value="62" label="TLS_DH_DSS_WITH_AES_128_CBC_SHA256"/>
  <int value="63" label="TLS_DH_RSA_WITH_AES_128_CBC_SHA256"/>
  <int value="64" label="TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"/>
  <int value="65" label="TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"/>
  <int value="66" label="TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA"/>
  <int value="67" label="TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA"/>
  <int value="68" label="TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"/>
  <int value="69" label="TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"/>
  <int value="70" label="TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"/>
  <int value="103" label="TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"/>
  <int value="104" label="TLS_DH_DSS_WITH_AES_256_CBC_SHA256"/>
  <int value="105" label="TLS_DH_RSA_WITH_AES_256_CBC_SHA256"/>
  <int value="106" label="TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"/>
  <int value="107" label="TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"/>
  <int value="108" label="TLS_DH_anon_WITH_AES_128_CBC_SHA256"/>
  <int value="109" label="TLS_DH_anon_WITH_AES_256_CBC_SHA256"/>
  <int value="132" label="TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"/>
  <int value="133" label="TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA"/>
  <int value="134" label="TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA"/>
  <int value="135" label="TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"/>
  <int value="136" label="TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"/>
  <int value="137" label="TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"/>
  <int value="138" label="TLS_PSK_WITH_RC4_128_SHA"/>
  <int value="139" label="TLS_PSK_WITH_3DES_EDE_CBC_SHA"/>
  <int value="140" label="TLS_PSK_WITH_AES_128_CBC_SHA"/>
  <int value="141" label="TLS_PSK_WITH_AES_256_CBC_SHA"/>
  <int value="142" label="TLS_DHE_PSK_WITH_RC4_128_SHA"/>
  <int value="143" label="TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA"/>
  <int value="144" label="TLS_DHE_PSK_WITH_AES_128_CBC_SHA"/>
  <int value="145" label="TLS_DHE_PSK_WITH_AES_256_CBC_SHA"/>
  <int value="146" label="TLS_RSA_PSK_WITH_RC4_128_SHA"/>
  <int value="147" label="TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA"/>
  <int value="148" label="TLS_RSA_PSK_WITH_AES_128_CBC_SHA"/>
  <int value="149" label="TLS_RSA_PSK_WITH_AES_256_CBC_SHA"/>
  <int value="150" label="TLS_RSA_WITH_SEED_CBC_SHA"/>
  <int value="151" label="TLS_DH_DSS_WITH_SEED_CBC_SHA"/>
  <int value="152" label="TLS_DH_RSA_WITH_SEED_CBC_SHA"/>
  <int value="153" label="TLS_DHE_DSS_WITH_SEED_CBC_SHA"/>
  <int value="154" label="TLS_DHE_RSA_WITH_SEED_CBC_SHA"/>
  <int value="155" label="TLS_DH_anon_WITH_SEED_CBC_SHA"/>
  <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="160" label="TLS_DH_RSA_WITH_AES_128_GCM_SHA256"/>
  <int value="161" label="TLS_DH_RSA_WITH_AES_256_GCM_SHA384"/>
  <int value="162" label="TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"/>
  <int value="163" label="TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"/>
  <int value="164" label="TLS_DH_DSS_WITH_AES_128_GCM_SHA256"/>
  <int value="165" label="TLS_DH_DSS_WITH_AES_256_GCM_SHA384"/>
  <int value="166" label="TLS_DH_anon_WITH_AES_128_GCM_SHA256"/>
  <int value="167" label="TLS_DH_anon_WITH_AES_256_GCM_SHA384"/>
  <int value="168" label="TLS_PSK_WITH_AES_128_GCM_SHA256"/>
  <int value="169" label="TLS_PSK_WITH_AES_256_GCM_SHA384"/>
  <int value="170" label="TLS_DHE_PSK_WITH_AES_128_GCM_SHA256"/>
  <int value="171" label="TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"/>
  <int value="172" label="TLS_RSA_PSK_WITH_AES_128_GCM_SHA256"/>
  <int value="173" label="TLS_RSA_PSK_WITH_AES_256_GCM_SHA384"/>
  <int value="174" label="TLS_PSK_WITH_AES_128_CBC_SHA256"/>
  <int value="175" label="TLS_PSK_WITH_AES_256_CBC_SHA384"/>
  <int value="176" label="TLS_PSK_WITH_NULL_SHA256"/>
  <int value="177" label="TLS_PSK_WITH_NULL_SHA384"/>
  <int value="178" label="TLS_DHE_PSK_WITH_AES_128_CBC_SHA256"/>
  <int value="179" label="TLS_DHE_PSK_WITH_AES_256_CBC_SHA384"/>
  <int value="180" label="TLS_DHE_PSK_WITH_NULL_SHA256"/>
  <int value="181" label="TLS_DHE_PSK_WITH_NULL_SHA384"/>
  <int value="182" label="TLS_RSA_PSK_WITH_AES_128_CBC_SHA256"/>
  <int value="183" label="TLS_RSA_PSK_WITH_AES_256_CBC_SHA384"/>
  <int value="184" label="TLS_RSA_PSK_WITH_NULL_SHA256"/>
  <int value="185" label="TLS_RSA_PSK_WITH_NULL_SHA384"/>
  <int value="186" label="TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="187" label="TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="188" label="TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="189" label="TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="190" label="TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="191" label="TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="192" label="TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256"/>
  <int value="193" label="TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256"/>
  <int value="194" label="TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256"/>
  <int value="195" label="TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256"/>
  <int value="196" label="TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256"/>
  <int value="197" label="TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256"/>
  <int value="255" label="TLS_EMPTY_RENEGOTIATION_INFO_SCSV"/>
  <int value="49153" label="TLS_ECDH_ECDSA_WITH_NULL_SHA"/>
  <int value="49154" label="TLS_ECDH_ECDSA_WITH_RC4_128_SHA"/>
  <int value="49155" label="TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49156" label="TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"/>
  <int value="49157" label="TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"/>
  <int value="49158" label="TLS_ECDHE_ECDSA_WITH_NULL_SHA"/>
  <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="49163" label="TLS_ECDH_RSA_WITH_NULL_SHA"/>
  <int value="49164" label="TLS_ECDH_RSA_WITH_RC4_128_SHA"/>
  <int value="49165" label="TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49166" label="TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="49167" label="TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="49168" label="TLS_ECDHE_RSA_WITH_NULL_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="49173" label="TLS_ECDH_anon_WITH_NULL_SHA"/>
  <int value="49174" label="TLS_ECDH_anon_WITH_RC4_128_SHA"/>
  <int value="49175" label="TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49176" label="TLS_ECDH_anon_WITH_AES_128_CBC_SHA"/>
  <int value="49177" label="TLS_ECDH_anon_WITH_AES_256_CBC_SHA"/>
  <int value="49178" label="TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49179" label="TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49180" label="TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49181" label="TLS_SRP_SHA_WITH_AES_128_CBC_SHA"/>
  <int value="49182" label="TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="49183" label="TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA"/>
  <int value="49184" label="TLS_SRP_SHA_WITH_AES_256_CBC_SHA"/>
  <int value="49185" label="TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="49186" label="TLS_SRP_SHA_DSS_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="49189" label="TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256"/>
  <int value="49190" label="TLS_ECDH_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="49193" label="TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256"/>
  <int value="49194" label="TLS_ECDH_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="49197" label="TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"/>
  <int value="49198" label="TLS_ECDH_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="49201" label="TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"/>
  <int value="49202" label="TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384"/>
  <int value="49203" label="TLS_ECDHE_PSK_WITH_RC4_128_SHA"/>
  <int value="49204" label="TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49205" label="TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA"/>
  <int value="49206" label="TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA"/>
  <int value="49207" label="TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256"/>
  <int value="49208" label="TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384"/>
  <int value="49209" label="TLS_ECDHE_PSK_WITH_NULL_SHA"/>
  <int value="49210" label="TLS_ECDHE_PSK_WITH_NULL_SHA256"/>
  <int value="49211" label="TLS_ECDHE_PSK_WITH_NULL_SHA384"/>
  <int value="49212" label="TLS_RSA_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49213" label="TLS_RSA_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49214" label="TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49215" label="TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49216" label="TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49217" label="TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49218" label="TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49219" label="TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49220" label="TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49221" label="TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49222" label="TLS_DH_anon_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49223" label="TLS_DH_anon_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49224" label="TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49225" label="TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49226" label="TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49227" label="TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49228" label="TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49229" label="TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49230" label="TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49231" label="TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49232" label="TLS_RSA_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49233" label="TLS_RSA_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49234" label="TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49235" label="TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49236" label="TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49237" label="TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49238" label="TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49239" label="TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49240" label="TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49241" label="TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49242" label="TLS_DH_anon_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49243" label="TLS_DH_anon_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49244" label="TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49245" label="TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49246" label="TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49247" label="TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49248" label="TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49249" label="TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49250" label="TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49251" label="TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49252" label="TLS_PSK_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49253" label="TLS_PSK_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49254" label="TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49255" label="TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49256" label="TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49257" label="TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49258" label="TLS_PSK_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49259" label="TLS_PSK_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49260" label="TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49261" label="TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49262" label="TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256"/>
  <int value="49263" label="TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384"/>
  <int value="49264" label="TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256"/>
  <int value="49265" label="TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384"/>
  <int value="49266" label="TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49267" label="TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49268" label="TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49269" label="TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49270" label="TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49271" label="TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49272" label="TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49273" label="TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49274" label="TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49275" label="TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49276" label="TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49277" label="TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49278" label="TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49279" label="TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49280" label="TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49281" label="TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49282" label="TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49283" label="TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49284" label="TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49285" label="TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49286" label="TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49287" label="TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49288" label="TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49289" label="TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49290" label="TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49291" label="TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49292" label="TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49293" label="TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49294" label="TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49295" label="TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49296" label="TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49297" label="TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49298" label="TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256"/>
  <int value="49299" label="TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384"/>
  <int value="49300" label="TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49301" label="TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49302" label="TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49303" label="TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49304" label="TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49305" label="TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49306" label="TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"/>
  <int value="49307" label="TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"/>
  <int value="49308" label="TLS_RSA_WITH_AES_128_CCM"/>
  <int value="49309" label="TLS_RSA_WITH_AES_256_CCM"/>
  <int value="49310" label="TLS_DHE_RSA_WITH_AES_128_CCM"/>
  <int value="49311" label="TLS_DHE_RSA_WITH_AES_256_CCM"/>
  <int value="49312" label="TLS_RSA_WITH_AES_128_CCM_8"/>
  <int value="49313" label="TLS_RSA_WITH_AES_256_CCM_8"/>
  <int value="49314" label="TLS_DHE_RSA_WITH_AES_128_CCM_8"/>
  <int value="49315" label="TLS_DHE_RSA_WITH_AES_256_CCM_8"/>
  <int value="49316" label="TLS_PSK_WITH_AES_128_CCM"/>
  <int value="49317" label="TLS_PSK_WITH_AES_256_CCM"/>
  <int value="49318" label="TLS_DHE_PSK_WITH_AES_128_CCM"/>
  <int value="49319" label="TLS_DHE_PSK_WITH_AES_256_CCM"/>
  <int value="49320" label="TLS_PSK_WITH_AES_128_CCM_8"/>
  <int value="49321" label="TLS_PSK_WITH_AES_256_CCM_8"/>
  <int value="49322" label="TLS_PSK_DHE_WITH_AES_128_CCM_8"/>
  <int value="49323" label="TLS_PSK_DHE_WITH_AES_256_CCM_8"/>
  <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: 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 (CN or SANs)
    only by the presence or absence of the single-label prefix &quot;www&quot;.
    This case is not recored if the host name is not a known TLD.
  </int>
  <int value="3" label="SUBDOMAIN_MATCH: The URL is a subdomain of the DNS">
    This cause is recorded if the ssl error is CERT_COMMON_NAME_INVALID 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="4"
      label="SUBDOMAIN_INVERSE_MATCH: The DNS is a subdomain of the URL">
    This cause is recorded if the ssl error is CERT_COMMON_NAME_INVALID 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="5"
      label="SUBDOMAIN_OUTSIDE_WILDCARD: 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="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: The certificate is a shared
             certificate">
    This cause is recorded only for CERT_COMMON_NAME_INVALID errors. It is
    possible that this error overlaps with others but it is not likely because
    of the heuristics which decide as to what constitutes a shared certificate.
    In cases of overlap, we emit to only one bucket.
  </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: 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
    the common name or at least one of the subject alternative names in
    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"/>
  <int value="6" label="WWW_MISMATCH_URL_AVAILABLE"/>
  <int value="7" label="WWW_MISMATCH_URL_NOT_AVAILABLE"/>
  <int value="8" label="SHOW_BAD_CLOCK"/>
</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="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="SubresourceFilterActivationState" type="int">
  <int value="0" label="Disabled"/>
  <int value="1" label="DryRun"/>
  <int value="2" label="Enabled"/>
</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="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="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="38" label="Reading List"/>
</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="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="TabRendererDetailedExitStatus" 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="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="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="TouchEventsState" 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"/>
  <int value="9" label="kDefaultSearchProviderKeyword"/>
  <int value="10" label="kDefaultSearchProviderName"/>
  <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"/>
</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"/>
</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="TranslateRankerModelStatus" 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"/>
</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="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="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="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">
  <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"/>
</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>
</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"/>
</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"/>
</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"/>
</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="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"/>
</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="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="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 (unused)"/>
  <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"/>
</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="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="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="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"/>
  <int value="10" label="Invalid Attribute Length"/>
  <int value="11" label="Congested Connection"/>
  <int value="12" label="Insufficient Encryption"/>
  <int value="13" label="Invalid Offset"/>
  <int value="14" label="Read Not Permitted"/>
  <int value="15" label="Unsupported Request"/>
  <int value="16" label="Write Not Permitted"/>
</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()"/>
</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="Blacklisted"/>
</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="Blacklisted"/>
  <int value="5" label="No characteristics"/>
</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="Blacklisted 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"/>
</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="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="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="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="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="Selected Permissions tab"/>
  <int value="2" label="Selected Connection tab"/>
  <int value="3" label="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="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="-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="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="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="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="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>

</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="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="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="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="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"/>
  <suffix name="GIF"/>
  <suffix name="ICON"/>
  <suffix name="JPEG"/>
  <suffix name="PNG"/>
  <suffix name="TIFF"/>
  <suffix name="Unknown"/>
  <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)"/>
  <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"/>
</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.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>
  <suffix name="Overestimate"
      label="Tracks when the compositor's estimates were too high and by how
             much.">

  </suffix>
  <suffix name="Underestimate"
      label="Tracks when the compositor's estimates were too low and by how
             much.">

  </suffix>
  <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.">

  </suffix>
  <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"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.CountOnNtpOpened"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MenuOpened"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MenuOpenedAge"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MenuOpenedScore"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.OpenDisposition"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.Opened"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.OpenedAge"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.OpenedScore"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.Shown"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.ShownAge"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.ShownScore"/>
  <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"/>
  <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"/>
  <suffix name="BlimpRenderWorker"
      label="BlimpCompositor worker command buffer context"/>
  <affected-histogram name="GPU.ContextLost"/>
</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"/>
  <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.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"/>
  <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"/>
  <affected-histogram name="DataUse.MessageSize"/>
</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."/>
  <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="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="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="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"/>
</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."/>
  <suffix name="DOM" label="Time to initialize DOM."/>
  <suffix name="FileSystem"
      label="Deprecated as of 9/2013. Time to get access to the local file
             system."/>
  <suffix name="Parse" label="Time to parse Javascript and CSS."/>
  <suffix name="Roots" label="Time to enumerate file system roots."/>
  <suffix name="Total"
      label="Total load time from the moment the Javascript started parsing
             till the moment the empty file list is displayed."/>
  <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="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="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="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="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="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=".">
  <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=".">
  <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"/>
  <obsolete>
    Deprecated by PageLoad.PaintTiming.NavigationToFirstContentfulPaint.
  </obsolete>
</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="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="_">
  <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="_">
  <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="_">
  <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.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="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="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="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="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="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."/>
  <affected-histogram name="Media.WatchTime"/>
</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="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="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="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="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"/>
</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="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"/>
</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"/>
  <suffix name="60"
      label="Recorded approximately 60 seconds after navigation start"/>
  <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"/>
</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"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Negative.60"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Positive.30"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Positive.60"/>
</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"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Negative.60"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Positive.30"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Positive.60"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.30"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.60"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.30"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.60"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Negative.30"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Negative.60"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Positive.30"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Positive.60"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Negative.30"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Negative.60"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Positive.30"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Positive.60"/>
</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.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="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=".">
  <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.OfflinerRequestStatus"/>
  <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.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 name="AfterPaint.BeforeInteraction"/>
  <suffix name="AfterPaint.Before1sDelayedInteraction"/>
  <suffix name="DuringParse"/>
  <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.Timing2.NavigationToFirstBackground"/>
</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="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"/>
</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.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="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.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="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="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="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.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="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.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
</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.PaintTiming.NavigationToFirstContentfulPaint"/>
</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="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="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="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="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.NoStatePrefetchTTFCP"/>
</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.NoStatePrefetchTTFCP.Cold"/>
  <affected-histogram name="Prerender.NoStatePrefetchTTFCP.Reference"/>
  <affected-histogram name="Prerender.NoStatePrefetchTTFCP.Warm"/>
</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="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.NoStatePrefetchTTFCP.Cold.Cacheable"/>
  <affected-histogram name="Prerender.NoStatePrefetchTTFCP.Cold.NoStore"/>
  <affected-histogram
      name="Prerender.NoStatePrefetchTTFCP.Reference.Cacheable"/>
  <affected-histogram name="Prerender.NoStatePrefetchTTFCP.Reference.NoStore"/>
  <affected-histogram name="Prerender.NoStatePrefetchTTFCP.Warm.Cacheable"/>
  <affected-histogram name="Prerender.NoStatePrefetchTTFCP.Warm.NoStore"/>
  <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.PercentLoadDoneAtSwapin"/>
  <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="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="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=".">
  <affected-histogram name="Compositing.Browser.RasterTask.RasterPixelsPerMs"/>
  <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.RasterUs"/>
  <affected-histogram name="Compositing.Renderer.RasterTask.RasterPixelsPerMs"/>
  <affected-histogram name="Compositing.Renderer.RasterTask.RasterUs"/>
</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="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"/>
  <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."/>
  <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=".">
  <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=".">
  <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">
  <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"/>
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <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="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="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">
  <affected-histogram name="Event.Latency.ScrollUpdate.HandledToRendererSwap"/>
  <suffix name="Main" label="ScrollUpdate handled on main thread"/>
  <suffix name="Impl" label="ScrollUpdate handled on impl thread"/>
  <affected-histogram name="Event.Latency.ScrollUpdate.TouchToHandled"/>
</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.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"/>
  <suffix name="NAVIGATION_HINT_LINK_TAP_UNCONFIRMED"
      label="NAVIGATION_HINT_LINK_TAP_UNCONFIRMED"/>
  <suffix name="NAVIGATION_HINT_LINK_TAP_DOWN"
      label="NAVIGATION_HINT_LINK_TAP_DOWN"/>
  <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">
  <affected-histogram name="ServiceWorker.StartWorker.AfterFailureStreak"/>
  <suffix name="1" label="Failed one time."/>
  <suffix name="2" label="Failed two times."/>
  <suffix name="3" label="Failed three times."/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.NavigationHint" separator=".">
  <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."/>
  <affected-histogram name="Event.Latency.TouchToFirstScrollUpdateSwapBegin"/>
  <affected-histogram name="Event.Latency.TouchToScrollUpdateSwapBegin"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.ShutdownStatus">
  <affected-histogram name="ServiceWorker.ActivateEventStatus"/>
  <suffix name="InShutdown" label="Browser shutdown started."/>
  <suffix name="NotInShutdown" label="Browser shutdown has not started."/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.StartSituation">
  <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"/>
  <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="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="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">
  <affected-histogram name="SimpleCache.SyncCreatePlatformFileError"/>
  <affected-histogram name="SimpleCache.SyncCreateResult"/>
  <affected-histogram name="SimpleCache.SyncOpenPlatformFileError"/>
  <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.SyncOpenResult"/>
</histogram_suffixes>

<histogram_suffixes name="SkiaDrawScaleFactorFilterQuality" separator=".">
  <affected-histogram name="Skia.DrawScaleFactor"/>
  <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."/>
</histogram_suffixes>

<histogram_suffixes name="SocketOperation" separator=".">
  <affected-histogram name="Net.SSLProtocolErrorCipher"/>
  <affected-histogram name="Net.SSLProtocolErrorReason"/>
  <suffix name="Connect"/>
  <suffix name="Read"/>
  <suffix name="Write"/>
</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.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="BookmarkImages" label="BookmarkImages"/>
  <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="Predictor" label="Predictor"/>
  <suffix name="Quota" label="Quota"/>
  <suffix name="Shortcuts" label="Shortcuts"/>
  <suffix name="SyncDirectory" label="SyncDirectory"/>
  <suffix name="Text" label="Text (obsolete 7/24/13)"/>
  <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="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.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="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."/>
  <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="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="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="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.BackgroundFileIOPool"/>
  <affected-histogram name="TaskScheduler.TaskLatency.BackgroundPool"/>
  <affected-histogram name="TaskScheduler.TaskLatency.ForegroundFileIOPool"/>
  <affected-histogram name="TaskScheduler.TaskLatency.ForegroundPool"/>
</histogram_suffixes>

<histogram_suffixes name="TaskSchedulerWorkerPool" separator=".">
  <suffix name="BackgroundFileIOPool"
      label="Applies to the BackgroundFileIO worker pool."/>
  <suffix name="BackgroundPool" label="Applies to the Background worker pool."/>
  <suffix name="ForegroundFileIOPool"
      label="Applies to the ForegroundFileIO worker pool."/>
  <suffix name="ForegroundPool" label="Applies to the Foreground worker pool."/>
  <affected-histogram name="TaskScheduler.DetachDuration"/>
  <affected-histogram name="TaskScheduler.NumTasksBetweenWaits"/>
  <affected-histogram name="TaskScheduler.TaskLatency"/>
</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="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"/>
  <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="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="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="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="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="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"/>
  <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>
