#include "storage/browser/quota/quota_settings.h"
#include <algorithm>
#include <limits>
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/no_destructor.h"
#include "base/rand_util.h"
#include "base/system/sys_info.h"
#include "base/task/thread_pool.h"
#include "base/threading/scoped_blocking_call.h"
#include "build/build_config.h"
#include "storage/browser/quota/quota_device_info_helper.h"
#include "storage/browser/quota/quota_features.h"
#include "storage/browser/quota/quota_macros.h"
namespace storage {
namespace {
const int64_t kMBytes = …;
const int kRandomizedPercentage = …;
const double kDefaultPerStorageKeyRatio = …;
const double kIncognitoQuotaRatioLowerBound = …;
const double kIncognitoQuotaRatioUpperBound = …;
int64_t RandomizeByPercent(int64_t value, int percent) { … }
QuotaSettings CalculateIncognitoDynamicSettings(
uint64_t physical_memory_amount) { … }
std::optional<QuotaSettings> CalculateNominalDynamicSettings(
const base::FilePath& partition_path,
bool is_incognito,
QuotaDeviceInfoHelper* device_info_helper) { … }
}
void GetNominalDynamicSettings(const base::FilePath& partition_path,
bool is_incognito,
QuotaDeviceInfoHelper* device_info_helper,
OptionalQuotaSettingsCallback callback) { … }
QuotaDeviceInfoHelper* GetDefaultDeviceInfoHelper() { … }
double GetIncognitoQuotaRatioLowerBound_ForTesting() { … }
double GetIncognitoQuotaRatioUpperBound_ForTesting() { … }
}