chromium/components/media_router/browser/media_router_metrics.h

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_MEDIA_ROUTER_BROWSER_MEDIA_ROUTER_METRICS_H_
#define COMPONENTS_MEDIA_ROUTER_BROWSER_MEDIA_ROUTER_METRICS_H_

#include <optional>

#include "base/gtest_prod_util.h"
#include "base/time/time.h"
#include "components/media_router/common/media_route_provider_helper.h"
#include "components/media_router/common/media_source.h"
#include "components/media_router/common/mojom/media_router.mojom-forward.h"
#include "components/media_router/common/route_request_result.h"
#include "media/base/container_names.h"

class GURL;

namespace media_router {

enum class SinkIconType;

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused. When making changes, also update the
// enum list in tools/metrics/histograms/enums.xml to keep it in sync.

// NOTE: For metrics specific to the Media Router component extension, see
// mojo/media_router_mojo_metrics.h.

// This enum is a cartesian product of dialog activation locations and Cast
// modes. Per tools/metrics/histograms/README.md, a multidimensional histogram
// must be flattened into one dimension.
enum class DialogActivationLocationAndCastMode {};

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
// Where the user clicked to open the Media Router dialog.
enum class MediaRouterDialogActivationLocation {};

enum class PresentationUrlType {};

enum class UiType {};

enum class MediaRouterAndroidDialogType {};

enum class MediaRouterAndroidDialogAction {};

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class MediaRouterUserPromptWhenLaunchingCast {};

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class MediaRouterUiPermissionRejectedViewEvents {};

class MediaRouterMetrics {};

}  // namespace media_router

#endif  // COMPONENTS_MEDIA_ROUTER_BROWSER_MEDIA_ROUTER_METRICS_H_