chromium/chrome/browser/ui/tabs/organization/tab_sensitivity_cache.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_UI_TABS_ORGANIZATION_TAB_SENSITIVITY_CACHE_H_
#define CHROME_BROWSER_UI_TABS_ORGANIZATION_TAB_SENSITIVITY_CACHE_H_

#include "chrome/browser/profiles/profile.h"
#include "components/page_content_annotations/core/page_content_annotations_service.h"
#include "url/gurl.h"

// In order to have GURL as a key in a hashmap, GURL hashing mechanism is
// needed.
struct GURLHash {};

// Adapts the sensitivity scores from the PageContentAnnotationService into a
// synchronously available form, for specifically the currently open tabs, by
// caching scores emitted to PageContentAnnotationsObservers.
class TabSensitivityCache final
    : public page_content_annotations::PageContentAnnotationsService::
          PageContentAnnotationsObserver {};

#endif  // CHROME_BROWSER_UI_TABS_ORGANIZATION_TAB_SENSITIVITY_CACHE_H_