chromium/components/reduce_accept_language/browser/in_memory_reduce_accept_language_service.h

// Copyright 2024 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_REDUCE_ACCEPT_LANGUAGE_BROWSER_IN_MEMORY_REDUCE_ACCEPT_LANGUAGE_SERVICE_H_
#define COMPONENTS_REDUCE_ACCEPT_LANGUAGE_BROWSER_IN_MEMORY_REDUCE_ACCEPT_LANGUAGE_SERVICE_H_

#include <map>
#include <optional>
#include <string>
#include <vector>

#include "base/sequence_checker.h"
#include "content/public/browser/reduce_accept_language_controller_delegate.h"
#include "url/origin.h"

namespace reduce_accept_language {

// In-memory manager of stores and retrieves the last reduced accept language
// negotiated for each origin.
//
// This cache is not persisted and has the same lifetime as the delegate.
// Differs from ReduceAcceptLanguageService by not relying on ContentSettings to
// store ReduceAcceptLanguage Cache.
class InMemoryReduceAcceptLanguageService
    : public content::ReduceAcceptLanguageControllerDelegate {};

}  // namespace reduce_accept_language

#endif  // COMPONENTS_REDUCE_ACCEPT_LANGUAGE_BROWSER_IN_MEMORY_REDUCE_ACCEPT_LANGUAGE_SERVICE_H_