chromium/chrome/browser/accessibility/page_colors.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_ACCESSIBILITY_PAGE_COLORS_H_
#define CHROME_BROWSER_ACCESSIBILITY_PAGE_COLORS_H_

#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/scoped_observation.h"
#include "build/build_config.h"
#include "components/keyed_service/core/keyed_service.h"
#include "components/prefs/pref_change_registrar.h"
#include "ui/native_theme/native_theme.h"

namespace user_prefs {
class PrefRegistrySyncable;
}

// Manages the page colors feature, which simulates forced colors mode at the
// browser level. This tracks the per-profile preference and OS preferred
// contrast state from NativeTheme to update the WebContents Page Colors state
// based on any changes.
class PageColors : public KeyedService, public ui::NativeThemeObserver {};

#endif  // CHROME_BROWSER_ACCESSIBILITY_PAGE_COLORS_H_