#include "ui/color/color_provider_manager.h"
#include <algorithm>
#include <optional>
#include <utility>
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/metrics/histogram_functions.h"
#include "base/no_destructor.h"
#include "base/timer/elapsed_timer.h"
#include "build/build_config.h"
#include "ui/color/color_metrics.h"
#include "ui/color/color_provider.h"
#include "ui/color/color_provider_key.h"
#include "ui/color/color_provider_utils.h"
#if !BUILDFLAG(IS_ANDROID)
#include "ui/color/color_mixers.h"
#endif
namespace ui {
namespace {
class GlobalManager : public ColorProviderManager { … };
static_assert …;
std::optional<GlobalManager>& GetGlobalManager() { … }
}
ColorProviderManager::ColorProviderManager() { … }
ColorProviderManager::~ColorProviderManager() = default;
ColorProviderManager& ColorProviderManager::Get() { … }
ColorProviderManager& ColorProviderManager::GetForTesting() { … }
void ColorProviderManager::ResetForTesting() { … }
void ColorProviderManager::ResetColorProviderInitializerList() { … }
void ColorProviderManager::ResetColorProviderCache() { … }
void ColorProviderManager::AppendColorProviderInitializer(
ColorProviderInitializerList::CallbackType initializer) { … }
ColorProvider* ColorProviderManager::GetColorProviderFor(ColorProviderKey key) { … }
}