#include "chrome/browser/app_mode/app_mode_utils.h"
#include <stddef.h>
#include <optional>
#include "base/check.h"
#include "base/command_line.h"
#include "base/containers/contains.h"
#include "base/feature_list.h"
#include "base/strings/string_split.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/policy/policy_util.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chromeos/components/kiosk/kiosk_utils.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/permissions/features.h"
#include "components/prefs/pref_service.h"
#include "url/gurl.h"
namespace {
std::optional<std::string> GetForcedAppModeApp() { … }
#if BUILDFLAG(IS_CHROMEOS)
bool IsOriginAllowedByPermissionFeatureFlag(
const std::vector<std::string>& allowlist,
const GURL& origin) {
if (allowlist.empty()) {
return false;
}
for (auto const& value : allowlist) {
ContentSettingsPattern pattern = ContentSettingsPattern::FromString(value);
if (pattern == ContentSettingsPattern::Wildcard() || !pattern.IsValid()) {
continue;
}
if (pattern.Matches(origin)) {
return true;
}
}
return false;
}
#endif
}
bool IsCommandAllowedInAppMode(int command_id, bool is_popup) { … }
bool IsRunningInAppMode() { … }
bool IsRunningInForcedAppMode() { … }
bool IsRunningInForcedAppModeForApp(const std::string& app_id) { … }
bool IsWebKioskOriginAllowed(const PrefService* prefs, const GURL& origin) { … }