chromium/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_file_processor.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_TELEMETRY_FILE_PROCESSOR_H_
#define CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_FILE_PROCESSOR_H_

#include "base/containers/flat_set.h"
#include "base/files/file_path.h"
#include "base/memory/weak_ptr.h"
#include "base/sequence_checker.h"
#include "base/values.h"

namespace base {
class FilePath;
}  // namespace base

namespace safe_browsing {

// Given an extension root path, the FileProcessor does the following:
//   - Computes and retrieves the installed file hashes
//   - Retrieves the manifest.json file contents
// The FileProcessor is owned and instantiated by ExtensionTelemetryService when
// it is enabled and destroyed when it is disabled. This object lives on a
// different sequence from the ExtensionTelemetryService because it performs
// blocking file read operations.
class ExtensionTelemetryFileProcessor {};

}  // namespace safe_browsing
#endif  // CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_FILE_PROCESSOR_H_