#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
#include <optional>
#include "base/no_destructor.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "build/buildflag.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/flag_descriptions.h"
#include "chrome/grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
namespace {
std::optional<std::vector<LabInfo>>& GetTestData() { … }
void SetLabInfoForTesting(const std::vector<LabInfo>& test_feature_info) { … }
const std::vector<LabInfo>& GetData() { … }
}
LabInfo::LabInfo(
const std::string& internal_name,
const std::u16string& visible_name,
const std::u16string& visible_description,
const std::string& feedback_category_name,
version_info::Channel allowed_channel,
std::vector<std::u16string> translated_feature_variation_descriptions)
: … { … }
LabInfo::LabInfo(const LabInfo& other) = default;
LabInfo::~LabInfo() = default;
ChromeLabsModel::ChromeLabsModel() : … { … }
ChromeLabsModel::~ChromeLabsModel() = default;
const std::vector<LabInfo>& ChromeLabsModel::GetLabInfo() const { … }
ScopedChromeLabsModelDataForTesting::ScopedChromeLabsModelDataForTesting() =
default;
ScopedChromeLabsModelDataForTesting::~ScopedChromeLabsModelDataForTesting() { … }
void ScopedChromeLabsModelDataForTesting::SetModelDataForTesting(
const std::vector<LabInfo>& test_feature_info) { … }