chromium/components/segmentation_platform/internal/signals/url_signal_handler.h

// Copyright 2022 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_SEGMENTATION_PLATFORM_INTERNAL_SIGNALS_URL_SIGNAL_HANDLER_H_
#define COMPONENTS_SEGMENTATION_PLATFORM_INTERNAL_SIGNALS_URL_SIGNAL_HANDLER_H_

#include "base/containers/flat_set.h"

#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/scoped_observation_traits.h"
#include "base/sequence_checker.h"
#include "services/metrics/public/cpp/ukm_source_id.h"

class GURL;

namespace segmentation_platform {

class UkmDatabase;

// The URL signals from various sources will go through this signal handler
// before being written to the database.
class UrlSignalHandler {};

}  // namespace segmentation_platform

namespace base {

template <>
struct ScopedObservationTraits<
    segmentation_platform::UrlSignalHandler,
    segmentation_platform::UrlSignalHandler::HistoryDelegate> {};

}  // namespace base

#endif  // COMPONENTS_SEGMENTATION_PLATFORM_INTERNAL_SIGNALS_URL_SIGNAL_HANDLER_H_