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

#include <algorithm>
#include <memory>
#include <string>

#include "base/containers/flat_map.h"
#include "base/containers/queue.h"
#include "base/timer/timer.h"
#include "chrome/browser/safe_browsing/extension_telemetry/extension_signal_processor.h"
#include "components/password_manager/core/browser/password_manager_metrics_util.h"
#include "components/safe_browsing/content/browser/password_protection/password_protection_service.h"
#include "components/safe_browsing/core/common/proto/csd.pb.h"

namespace safe_browsing {

LoginReputationClientReusedPasswordAccountType;
PasswordType;
ExtensionTelemetryReusedPasswordAccountType;

class ExtensionSignal;
class ExtensionTelemetryReportRequest_SignalInfo;
struct PasswordReuseInfo;

/**
 * This signal processor maintains two data stores, password reuse event info
 * and remote hosts contacted (within 1 sec of a password reuse).
 * - Password reuse information contains information about a list of password
 * reuse events.
 * - Remote hosts contacted store lists hosts that were contacted by the
 * extension within 1 second of any password reuse event (present in the
 * password reuse store).
 */
class PotentialPasswordTheftSignalProcessor : public ExtensionSignalProcessor {};

}  // namespace safe_browsing

#endif  // CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_POTENTIAL_PASSWORD_THEFT_SIGNAL_PROCESSOR_H_