chromium/ui/color/color_provider_source.h

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_COLOR_COLOR_PROVIDER_SOURCE_H_
#define UI_COLOR_COLOR_PROVIDER_SOURCE_H_

#include "base/component_export.h"
#include "base/observer_list.h"
#include "base/observer_list_types.h"
#include "ui/color/color_provider.h"
#include "ui/color/color_provider_key.h"
#include "ui/color/color_provider_utils.h"

namespace ui {

class ColorProviderSourceObserver;

// Encapsulates the theme bits that are used to uniquely identify a
// ColorProvider instance (i.e. the bits that comprise the ColorProviderKey).
// Notifies observers when the ColorProvider instance that maps to these theme
// bits changes. References are managed to avoid dangling pointers in the case
// the source or the observer are deleted.
class COMPONENT_EXPORT(COLOR) ColorProviderSource {};

}  // namespace ui

#endif  // UI_COLOR_COLOR_PROVIDER_SOURCE_H_