| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/media/router/mojo/media_router_mojo_metrics.h" | 5 #include "chrome/browser/media/router/mojo/media_router_mojo_metrics.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
| 9 #include "base/version.h" | 9 #include "base/version.h" |
| 10 #include "components/version_info/version_info.h" | 10 #include "components/version_info/version_info.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 void MediaRouterMojoMetrics::RecordMediaRouteProviderWakeup( | 43 void MediaRouterMojoMetrics::RecordMediaRouteProviderWakeup( |
| 44 MediaRouteProviderWakeup wakeup) { | 44 MediaRouteProviderWakeup wakeup) { |
| 45 DCHECK_LT(static_cast<int>(wakeup), | 45 DCHECK_LT(static_cast<int>(wakeup), |
| 46 static_cast<int>(MediaRouteProviderWakeup::TOTAL_COUNT)); | 46 static_cast<int>(MediaRouteProviderWakeup::TOTAL_COUNT)); |
| 47 UMA_HISTOGRAM_ENUMERATION( | 47 UMA_HISTOGRAM_ENUMERATION( |
| 48 "MediaRouter.Provider.Wakeup", static_cast<int>(wakeup), | 48 "MediaRouter.Provider.Wakeup", static_cast<int>(wakeup), |
| 49 static_cast<int>(MediaRouteProviderWakeup::TOTAL_COUNT)); | 49 static_cast<int>(MediaRouteProviderWakeup::TOTAL_COUNT)); |
| 50 } | 50 } |
| 51 | 51 |
| 52 // static | 52 // static |
| 53 void MediaRouterMojoMetrics::RecordMediaRouteProviderTerminateRoute( |
| 54 RouteRequestResult::ResultCode result_code) { |
| 55 DCHECK_LT(result_code, RouteRequestResult::ResultCode::TOTAL_COUNT); |
| 56 UMA_HISTOGRAM_ENUMERATION( |
| 57 "MediaRouter.Provider.TerminateRoute.Result", result_code, |
| 58 RouteRequestResult::ResultCode::TOTAL_COUNT); |
| 59 } |
| 60 |
| 61 // static |
| 53 MediaRouteProviderVersion MediaRouterMojoMetrics::GetMediaRouteProviderVersion( | 62 MediaRouteProviderVersion MediaRouterMojoMetrics::GetMediaRouteProviderVersion( |
| 54 const base::Version& extension_version, | 63 const base::Version& extension_version, |
| 55 const base::Version& browser_version) { | 64 const base::Version& browser_version) { |
| 56 if (!extension_version.IsValid() || extension_version.components().empty() || | 65 if (!extension_version.IsValid() || extension_version.components().empty() || |
| 57 !browser_version.IsValid() || browser_version.components().empty()) { | 66 !browser_version.IsValid() || browser_version.components().empty()) { |
| 58 return MediaRouteProviderVersion::UNKNOWN; | 67 return MediaRouteProviderVersion::UNKNOWN; |
| 59 } | 68 } |
| 60 | 69 |
| 61 uint32_t extension_major = extension_version.components()[0]; | 70 uint32_t extension_major = extension_version.components()[0]; |
| 62 uint32_t browser_major = browser_version.components()[0]; | 71 uint32_t browser_major = browser_version.components()[0]; |
| 63 // Sanity check. | 72 // Sanity check. |
| 64 if (extension_major == 0 || browser_major == 0) { | 73 if (extension_major == 0 || browser_major == 0) { |
| 65 return MediaRouteProviderVersion::UNKNOWN; | 74 return MediaRouteProviderVersion::UNKNOWN; |
| 66 } else if (extension_major >= browser_major) { | 75 } else if (extension_major >= browser_major) { |
| 67 return MediaRouteProviderVersion::SAME_VERSION_AS_CHROME; | 76 return MediaRouteProviderVersion::SAME_VERSION_AS_CHROME; |
| 68 } else if (browser_major - extension_major == 1) { | 77 } else if (browser_major - extension_major == 1) { |
| 69 return MediaRouteProviderVersion::ONE_VERSION_BEHIND_CHROME; | 78 return MediaRouteProviderVersion::ONE_VERSION_BEHIND_CHROME; |
| 70 } else { | 79 } else { |
| 71 return MediaRouteProviderVersion::MULTIPLE_VERSIONS_BEHIND_CHROME; | 80 return MediaRouteProviderVersion::MULTIPLE_VERSIONS_BEHIND_CHROME; |
| 72 } | 81 } |
| 73 } | 82 } |
| 74 | 83 |
| 75 } // namespace media_router | 84 } // namespace media_router |
| OLD | NEW |