chromium/components/client_hints/browser/in_memory_client_hints_controller_delegate.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_CLIENT_HINTS_BROWSER_IN_MEMORY_CLIENT_HINTS_CONTROLLER_DELEGATE_H_
#define COMPONENTS_CLIENT_HINTS_BROWSER_IN_MEMORY_CLIENT_HINTS_CONTROLLER_DELEGATE_H_

#include <map>
#include <vector>

#include "base/memory/raw_ptr.h"
#include "base/sequence_checker.h"
#include "content/public/browser/client_hints_controller_delegate.h"
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"

namespace blink {
class EnabledClientHints;
}

namespace network {
class NetworkQualityTracker;
}

namespace url {
class Origin;
}

namespace client_hints {

// In-memory manager of Accept-CH Cache used in Client Hints infrastructure.
// See https://wicg.github.io/client-hints-infrastructure/.
//
// This cache is not persisted and has the same lifetime as the delegate.
// Differs from client_hints::ClientHints by not relying on ContentSettings to
// store Accept-CH Cache.
class InMemoryClientHintsControllerDelegate final
    : public content::ClientHintsControllerDelegate {};

}  // namespace client_hints

#endif  // COMPONENTS_CLIENT_HINTS_BROWSER_IN_MEMORY_CLIENT_HINTS_CONTROLLER_DELEGATE_H_