|  | // Copyright 2019 The Chromium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef CHROME_BROWSER_THUMBNAIL_GENERATOR_ANDROID_STATS_H_ | 
|  | #define CHROME_BROWSER_THUMBNAIL_GENERATOR_ANDROID_STATS_H_ | 
|  |  | 
|  | #include "build/build_config.h" | 
|  |  | 
|  | // Tracks media parser events. Each media parser hubs IPC channels for local | 
|  | // media analysis tasks. Used in UMA, do not remove, change or reuse existing | 
|  | // entries. | 
|  | enum class MediaParserEvent { | 
|  | // Started to initialize the media parser. | 
|  | kInitialize = 0, | 
|  | // The mime type is not supported by the media parser. | 
|  | kUnsupportedMimeType = 1, | 
|  | // Failed to read the local media file. | 
|  | kReadFileError = 2, | 
|  | // Utility process connection error. | 
|  | kUtilityConnectionError = 3, | 
|  | // GPU process connection error. | 
|  | kGpuConnectionError = 4, | 
|  | // Failed to parse metadata. | 
|  | kMetadataFailed = 5, | 
|  | // Failed to retrieve video thumbnail. | 
|  | kVideoThumbnailFailed = 6, | 
|  | // Failed to parse media file, aggregation of all failure reasons. | 
|  | kFailure = 7, | 
|  | // Media file successfully parsed. | 
|  | kSuccess = 8, | 
|  | // Time out and failed. | 
|  | kTimeout = 9, | 
|  | kCount | 
|  | }; | 
|  |  | 
|  | // Tracks local media metadata requests. Used in UMA, do not remove, change or | 
|  | // reuse existing entries. | 
|  | enum class MediaMetadataEvent { | 
|  | // Started to retrieve metadata. | 
|  | kMetadataStart = 0, | 
|  | // Failed to retrieve metadata. | 
|  | kMetadataFailed = 1, | 
|  | // Completed to retrieve metadata. | 
|  | kMetadataComplete = 2, | 
|  | kCount | 
|  | }; | 
|  |  | 
|  | // Tracks video thumbnail requests. Used in UMA, do not remove, change or | 
|  | // reuse existing entries. | 
|  | enum class VideoThumbnailEvent { | 
|  | kVideoThumbnailStart = 0, | 
|  | // Failed to extract video frame. | 
|  | kVideoFrameExtractionFailed = 1, | 
|  | // Failed to decode video frame. | 
|  | kVideoDecodeFailed = 2, | 
|  | // Completed to retrieve video thumbnail. | 
|  | kVideoThumbnailComplete = 3, | 
|  | kCount | 
|  | }; | 
|  |  | 
|  | // Records download media parser event. | 
|  | void RecordMediaParserEvent(MediaParserEvent event); | 
|  |  | 
|  | // Records media metadata parsing events. | 
|  | void RecordMediaMetadataEvent(MediaMetadataEvent event); | 
|  |  | 
|  | // Records video thumbnail retrieval events. | 
|  | void RecordVideoThumbnailEvent(VideoThumbnailEvent event); | 
|  |  | 
|  | #endif  // CHROME_BROWSER_THUMBNAIL_GENERATOR_ANDROID_STATS_H_ |