chromium/components/webapps/browser/banners/app_banner_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_WEBAPPS_BROWSER_BANNERS_APP_BANNER_METRICS_H_
#define COMPONENTS_WEBAPPS_BROWSER_BANNERS_APP_BANNER_METRICS_H_

#include "components/webapps/browser/installable/installable_logging.h"
#include "third_party/blink/public/mojom/manifest/display_mode.mojom-forward.h"

namespace webapps {

// This enum backs a UMA histogram, so it should be treated as append-only.
enum DisplayEvent {};

// This enum backs a UMA histogram, so it should be treated as append-only.
enum InstallEvent {};

// This enum backs a UMA histogram, so it should be treated as append-only.
enum DismissEvent {};

// This enum backs a UMA histogram, so it should be treated as append-only.
enum UserResponse {};

// This enum backs a UMA histogram, so it should be treated as append-only.
enum BeforeInstallEvent {};

extern const char kDismissEventHistogram[];
extern const char kDisplayEventHistogram[];
extern const char kInstallEventHistogram[];
extern const char kUserResponseHistogram[];
extern const char kBeforeInstallEventHistogram[];
extern const char kInstallableStatusCodeHistogram[];
extern const char kInstallDisplayModeHistogram[];

void TrackDismissEvent(int event);
void TrackDisplayEvent(int event);
void TrackInstallEvent(int event);
void TrackUserResponse(int event);
void TrackBeforeInstallEvent(int event);
void TrackInstallableStatusCode(InstallableStatusCode code);
void TrackInstallDisplayMode(blink::mojom::DisplayMode display);

}  // namespace webapps

#endif  // COMPONENTS_WEBAPPS_BROWSER_BANNERS_APP_BANNER_METRICS_H_