chromium/components/safe_browsing/core/common/scheme_logger.h

// Copyright 2023 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_SAFE_BROWSING_CORE_COMMON_SCHEME_LOGGER_H_
#define COMPONENTS_SAFE_BROWSING_CORE_COMMON_SCHEME_LOGGER_H_

#include "url/gurl.h"

namespace safe_browsing::scheme_logger {

// Non-comprehensive list of URL schemes found mentioned throughout the
// codebase. More can be added if useful.
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class UrlScheme {};

// Logs the scheme of the |url| to the |enum_histogram_name| histogram. If the
// scheme is not found in the hard-coded list of schemes, it will log unknown.
void LogScheme(const GURL& url, const std::string& enum_histogram_name);

}  // namespace safe_browsing::scheme_logger

#endif  // COMPONENTS_SAFE_BROWSING_CORE_COMMON_SCHEME_LOGGER_H_