#include "chrome/browser/ui/webui/flags/flags_ui_handler.h"
#include "base/functional/bind.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/about_flags.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/common/channel_info.h"
#include "components/flags_ui/flags_storage.h"
#include "components/flags_ui/flags_ui_constants.h"
#include "components/version_info/channel.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ash/crosapi/browser_data_migrator.h"
#include "chrome/browser/ash/crosapi/browser_util.h"
#include "chrome/browser/ash/settings/about_flags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
#endif
namespace {
bool ExtractKeyValue(const base::Value::List& args,
std::string& key,
std::string& value) { … }
}
FlagsUIHandler::FlagsUIHandler()
: … { … }
FlagsUIHandler::~FlagsUIHandler() { … }
void FlagsUIHandler::RegisterMessages() { … }
void FlagsUIHandler::Init(std::unique_ptr<flags_ui::FlagsStorage> flags_storage,
flags_ui::FlagAccess access) { … }
void FlagsUIHandler::HandleRequestDeprecatedFeatures(
const base::Value::List& args) { … }
void FlagsUIHandler::HandleRequestExperimentalFeatures(
const base::Value::List& args) { … }
void FlagsUIHandler::SendExperimentalFeatures(bool deprecated_features_only) { … }
void FlagsUIHandler::HandleEnableExperimentalFeatureMessage(
const base::Value::List& args) { … }
void FlagsUIHandler::HandleSetOriginListFlagMessage(
const base::Value::List& args) { … }
void FlagsUIHandler::HandleSetStringFlagMessage(const base::Value::List& args) { … }
void FlagsUIHandler::HandleRestartBrowser(const base::Value::List& args) { … }
void FlagsUIHandler::HandleResetAllFlags(const base::Value::List& args) { … }
#if BUILDFLAG(IS_CHROMEOS)
void FlagsUIHandler::HandleCrosUrlFlagsRedirect(const base::Value::List& args) {
about_flags::CrosUrlFlagsRedirect();
}
#endif