#include "chrome/updater/external_constants_override.h"
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "base/check.h"
#include "base/containers/flat_map.h"
#include "base/files/file_path.h"
#include "base/json/json_file_value_serializer.h"
#include "base/json/json_reader.h"
#include "base/logging.h"
#include "base/memory/scoped_refptr.h"
#include "base/notreached.h"
#include "base/time/time.h"
#include "base/values.h"
#include "build/build_config.h"
#include "chrome/updater/constants.h"
#include "chrome/updater/external_constants.h"
#include "chrome/updater/external_constants_default.h"
#include "chrome/updater/updater_branding.h"
#include "chrome/updater/updater_scope.h"
#include "chrome/updater/updater_version.h"
#include "chrome/updater/util/util.h"
#include "components/crx_file/crx_verifier.h"
#include "url/gurl.h"
#if BUILDFLAG(IS_MAC)
#include "base/apple/foundation_util.h"
#elif BUILDFLAG(IS_WIN)
#include "base/path_service.h"
#endif
namespace {
const char kDevOverrideFileName[] = …;
std::vector<GURL> GURLVectorFromStringList(
const base::Value::List& update_url_list) { … }
}
namespace updater {
std::optional<base::FilePath> GetOverrideFilePath(UpdaterScope scope) { … }
ExternalConstantsOverrider::ExternalConstantsOverrider(
base::Value::Dict override_values,
scoped_refptr<ExternalConstants> next_provider)
: … { … }
ExternalConstantsOverrider::~ExternalConstantsOverrider() = default;
std::vector<GURL> ExternalConstantsOverrider::UpdateURL() const { … }
GURL ExternalConstantsOverrider::CrashUploadURL() const { … }
GURL ExternalConstantsOverrider::DeviceManagementURL() const { … }
GURL ExternalConstantsOverrider::AppLogoURL() const { … }
bool ExternalConstantsOverrider::UseCUP() const { … }
base::TimeDelta ExternalConstantsOverrider::InitialDelay() const { … }
base::TimeDelta ExternalConstantsOverrider::ServerKeepAliveTime() const { … }
crx_file::VerifierFormat ExternalConstantsOverrider::CrxVerifierFormat() const { … }
base::Value::Dict ExternalConstantsOverrider::GroupPolicies() const { … }
base::TimeDelta ExternalConstantsOverrider::OverinstallTimeout() const { … }
base::TimeDelta ExternalConstantsOverrider::IdleCheckPeriod() const { … }
std::optional<bool> ExternalConstantsOverrider::IsMachineManaged() const { … }
bool ExternalConstantsOverrider::EnableDiffUpdates() const { … }
scoped_refptr<ExternalConstantsOverrider>
ExternalConstantsOverrider::FromDefaultJSONFile(
scoped_refptr<ExternalConstants> next_provider) { … }
scoped_refptr<ExternalConstants> CreateExternalConstants() { … }
}