#include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.h"
#include <memory>
#include <utility>
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "components/url_formatter/url_formatter.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/extension_set.h"
#include "extensions/common/feature_switch.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handlers/permissions_parser.h"
#include "extensions/common/permissions/api_permission_set.h"
#include "extensions/common/permissions/manifest_permission.h"
#include "extensions/common/permissions/permissions_info.h"
#include "extensions/common/permissions/settings_override_permission.h"
#include "ipc/ipc_message.h"
#include "ipc/ipc_message_utils.h"
#include "url/gurl.h"
ChromeSettingsOverrides;
APIPermissionID;
namespace extensions {
namespace {
std::optional<GURL> CreateManifestURL(const std::string& url) { … }
std::optional<GURL> ParseHomepage(const ChromeSettingsOverrides& overrides,
std::u16string* error) { … }
std::vector<GURL> ParseStartupPage(const ChromeSettingsOverrides& overrides,
std::u16string* error) { … }
std::optional<ChromeSettingsOverrides::SearchProvider> ParseSearchEngine(
ChromeSettingsOverrides* overrides,
std::u16string* error) { … }
std::string FormatUrlForDisplay(const GURL& url) { … }
}
SettingsOverrides::SettingsOverrides() { … }
SettingsOverrides::~SettingsOverrides() { … }
const SettingsOverrides* SettingsOverrides::Get(
const Extension* extension) { … }
SettingsOverridesHandler::SettingsOverridesHandler() { … }
SettingsOverridesHandler::~SettingsOverridesHandler() { … }
bool SettingsOverridesHandler::Parse(Extension* extension,
std::u16string* error) { … }
base::span<const char* const> SettingsOverridesHandler::Keys() const { … }
}