#include "third_party/blink/renderer/platform/graphics/dark_mode_settings_builder.h"
#include <string>
#include <unordered_map>
#include "base/command_line.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/forcedark/forcedark_switches.h"
#include "third_party/blink/renderer/platform/graphics/dark_mode_settings.h"
namespace blink {
namespace {
const constexpr DarkModeInversionAlgorithm kDefaultDarkModeInversionAlgorithm = …;
const constexpr DarkModeImagePolicy kDefaultDarkModeImagePolicy = …;
const constexpr DarkModeImageClassifierPolicy
kDefaultDarkModeImageClassifierPolicy = …;
const constexpr int kDefaultForegroundBrightnessThreshold = …;
const constexpr int kDefaultBackgroundBrightnessThreshold = …;
const constexpr float kDefaultDarkModeContrastPercent = …;
SwitchParams;
SwitchParams ParseDarkModeSettings() { … }
template <typename T>
T GetIntegerSwitchParamValue(const SwitchParams& switch_params,
std::string param,
T default_value) { … }
float GetFloatSwitchParamValue(const SwitchParams& switch_params,
std::string param,
float default_value) { … }
DarkModeInversionAlgorithm GetMode(const SwitchParams& switch_params) { … }
DarkModeImageClassifierPolicy GetImageClassifierPolicy(
const SwitchParams& switch_params) { … }
DarkModeImagePolicy GetImagePolicy(const SwitchParams& switch_params) { … }
int GetForegroundBrightnessThreshold(const SwitchParams& switch_params) { … }
int GetBackgroundBrightnessThreshold(const SwitchParams& switch_params) { … }
template <typename T>
T Clamp(T value, T min_value, T max_value) { … }
DarkModeSettings BuildDarkModeSettings() { … }
}
const DarkModeSettings& GetCurrentDarkModeSettings() { … }
}