chromium/chrome/browser/safe_browsing/extension_telemetry/extension_web_request_reporter_impl.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 CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_WEB_REQUEST_REPORTER_IMPL_H_
#define CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_WEB_REQUEST_REPORTER_IMPL_H_

#include "base/supports_user_data.h"
#include "chrome/browser/profiles/profile.h"
#include "components/safe_browsing/content/common/safe_browsing.mojom.h"
#include "content/public/browser/render_process_host.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"

namespace safe_browsing {

// Implements Mojo interface for renderers to collect telemetry from extensions
// and send to the Extension Telemetry Service in the browser process.
// A MojoSafeBrowsingImpl instance is destructed when the Mojo message pipe is
// disconnected or |user_data_| is destructed.
class ExtensionWebRequestReporterImpl
    : public mojom::ExtensionWebRequestReporter,
      public base::SupportsUserData::Data {};

}  // namespace safe_browsing

#endif  // CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_WEB_REQUEST_REPORTER_IMPL_H_