#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
#include "base/containers/contains.h"
#include "base/metrics/field_trial_params.h"
#include "base/rand_util.h"
#include "base/ranges/algorithm.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/about_flags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/flag_descriptions.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/common/channel_info.h"
#include "components/flags_ui/feature_entry.h"
#include "components/flags_ui/pref_service_flags_storage.h"
#include "components/prefs/scoped_user_pref_update.h"
#include "components/variations/variations_switches.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_switches.h"
#include "chrome/browser/ash/profiles/profile_helper.h"
#endif
bool IsFeatureSupportedOnChannel(const LabInfo& lab) { … }
bool IsFeatureSupportedOnPlatform(const flags_ui::FeatureEntry* entry) { … }
bool IsChromeLabsFeatureValid(const LabInfo& lab, Profile* profile) { … }
void UpdateChromeLabsNewBadgePrefs(Profile* profile,
const ChromeLabsModel* model) { … }
bool ShouldShowChromeLabsUI(const ChromeLabsModel* model, Profile* profile) { … }
bool AreNewChromeLabsExperimentsAvailable(const ChromeLabsModel* model,
Profile* profile) { … }
bool IsChromeLabsEnabled() { … }