| Index: chrome/browser/media/router/media_router_metrics.cc
|
| diff --git a/chrome/browser/media/router/media_router_metrics.cc b/chrome/browser/media/router/media_router_metrics.cc
|
| index cda93c8ee399e6496c6acc6dec6cc25fdb67e213..707a3a1f3d1646f851b14071e489e695fca56b1a 100644
|
| --- a/chrome/browser/media/router/media_router_metrics.cc
|
| +++ b/chrome/browser/media/router/media_router_metrics.cc
|
| @@ -6,13 +6,18 @@
|
|
|
| #include "base/macros.h"
|
| #include "base/metrics/histogram_macros.h"
|
| +#if !defined(OS_ANDROID)
|
| +#include "base/version.h"
|
| +#include "components/version_info/version_info.h"
|
| +#include "extensions/common/extension.h"
|
| +#endif // !defined(OS_ANDROID)
|
|
|
| namespace media_router {
|
|
|
| // static
|
| void MediaRouterMetrics::RecordMediaRouterDialogOrigin(
|
| MediaRouterDialogOpenOrigin origin) {
|
| - DCHECK_NE(static_cast<int>(origin),
|
| + DCHECK_LT(static_cast<int>(origin),
|
| static_cast<int>(MediaRouterDialogOpenOrigin::TOTAL_COUNT));
|
| UMA_HISTOGRAM_ENUMERATION(
|
| "MediaRouter.Icon.Click.Location", static_cast<int>(origin),
|
| @@ -20,16 +25,6 @@ void MediaRouterMetrics::RecordMediaRouterDialogOrigin(
|
| }
|
|
|
| // static
|
| -void MediaRouterMetrics::RecordMediaRouteProviderWakeReason(
|
| - MediaRouteProviderWakeReason reason) {
|
| - DCHECK_NE(static_cast<int>(reason),
|
| - static_cast<int>(MediaRouteProviderWakeReason::TOTAL_COUNT));
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - "MediaRouter.Provider.WakeReason", static_cast<int>(reason),
|
| - static_cast<int>(MediaRouteProviderWakeReason::TOTAL_COUNT));
|
| -}
|
| -
|
| -// static
|
| void MediaRouterMetrics::RecordMediaRouterDialogPaint(
|
| const base::TimeDelta delta) {
|
| UMA_HISTOGRAM_TIMES("MediaRouter.Ui.Dialog.Paint",
|
| @@ -46,7 +41,7 @@ void MediaRouterMetrics::RecordMediaRouterDialogLoaded(
|
| // static
|
| void MediaRouterMetrics::RecordMediaRouterInitialUserAction(
|
| MediaRouterUserAction action) {
|
| - DCHECK_NE(static_cast<int>(action),
|
| + DCHECK_LT(static_cast<int>(action),
|
| static_cast<int>(MediaRouterUserAction::TOTAL_COUNT));
|
| UMA_HISTOGRAM_ENUMERATION(
|
| "MediaRouter.Ui.FirstAction", static_cast<int>(action),
|
| @@ -56,12 +51,73 @@ void MediaRouterMetrics::RecordMediaRouterInitialUserAction(
|
| // static
|
| void MediaRouterMetrics::RecordRouteCreationOutcome(
|
| MediaRouterRouteCreationOutcome outcome) {
|
| - DCHECK_NE(static_cast<int>(outcome),
|
| - static_cast<int>(
|
| - MediaRouterRouteCreationOutcome::TOTAL_COUNT));
|
| + DCHECK_LT(static_cast<int>(outcome),
|
| + static_cast<int>(MediaRouterRouteCreationOutcome::TOTAL_COUNT));
|
| UMA_HISTOGRAM_ENUMERATION(
|
| "MediaRouter.Route.CreationOutcome", static_cast<int>(outcome),
|
| static_cast<int>(MediaRouterRouteCreationOutcome::TOTAL_COUNT));
|
| }
|
|
|
| +#if !defined(OS_ANDROID)
|
| +// static
|
| +void MediaRouterMetrics::RecordMediaRouteProviderWakeReason(
|
| + MediaRouteProviderWakeReason reason) {
|
| + DCHECK_LT(static_cast<int>(reason),
|
| + static_cast<int>(MediaRouteProviderWakeReason::TOTAL_COUNT));
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "MediaRouter.Provider.WakeReason", static_cast<int>(reason),
|
| + static_cast<int>(MediaRouteProviderWakeReason::TOTAL_COUNT));
|
| +}
|
| +
|
| +// static
|
| +void MediaRouterMetrics::RecordMediaRouteProviderVersion(
|
| + const extensions::Extension& extension) {
|
| + MediaRouteProviderVersion version = MediaRouteProviderVersion::UNKNOWN;
|
| + const base::Version* extension_version = extension.version();
|
| + if (extension_version) {
|
| + version = GetMediaRouteProviderVersion(
|
| + *extension_version, base::Version(version_info::GetVersionNumber()));
|
| + }
|
| +
|
| + DCHECK_LT(static_cast<int>(version),
|
| + static_cast<int>(MediaRouteProviderVersion::TOTAL_COUNT));
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "MediaRouter.Provider.Version", static_cast<int>(version),
|
| + static_cast<int>(MediaRouteProviderVersion::TOTAL_COUNT));
|
| +}
|
| +
|
| +// static
|
| +void MediaRouterMetrics::RecordMediaRouteProviderWakeup(
|
| + MediaRouteProviderWakeup wakeup) {
|
| + DCHECK_LT(static_cast<int>(wakeup),
|
| + static_cast<int>(MediaRouteProviderWakeup::TOTAL_COUNT));
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "MediaRouter.Provider.Wakeup", static_cast<int>(wakeup),
|
| + static_cast<int>(MediaRouteProviderWakeup::TOTAL_COUNT));
|
| +}
|
| +
|
| +// static
|
| +MediaRouteProviderVersion MediaRouterMetrics::GetMediaRouteProviderVersion(
|
| + const base::Version& extension_version,
|
| + const base::Version& browser_version) {
|
| + if (!extension_version.IsValid() || extension_version.components().empty() ||
|
| + !browser_version.IsValid() || browser_version.components().empty()) {
|
| + return MediaRouteProviderVersion::UNKNOWN;
|
| + }
|
| +
|
| + uint32_t extension_major = extension_version.components()[0];
|
| + uint32_t browser_major = browser_version.components()[0];
|
| + // Sanity check.
|
| + if (extension_major == 0 || browser_major == 0) {
|
| + return MediaRouteProviderVersion::UNKNOWN;
|
| + } else if (extension_major >= browser_major) {
|
| + return MediaRouteProviderVersion::SAME_VERSION_AS_CHROME;
|
| + } else if (browser_major - extension_major == 1) {
|
| + return MediaRouteProviderVersion::ONE_VERSION_BEHIND_CHROME;
|
| + } else {
|
| + return MediaRouteProviderVersion::MULTIPLE_VERSIONS_BEHIND_CHROME;
|
| + }
|
| +}
|
| +#endif // !defined(OS_ANDROID)
|
| +
|
| } // namespace media_router
|
|
|