support --disk-cache-size flag #290

This commit is contained in:
Dun Liang 2017-04-26 17:16:25 +08:00 committed by Kevin Sawicki
parent e708a45496
commit 9ce08d08de
3 changed files with 12 additions and 1 deletions

View file

@ -15,6 +15,7 @@
#include "base/command_line.h"
#include "base/memory/ptr_util.h"
#include "base/strings/string_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/threading/sequenced_worker_pool.h"
#include "base/threading/worker_pool.h"
#include "content/public/browser/browser_thread.h"
@ -92,12 +93,18 @@ URLRequestContextGetter::Delegate::CreateURLRequestJobFactory(
net::HttpCache::BackendFactory*
URLRequestContextGetter::Delegate::CreateHttpCacheBackendFactory(
const base::FilePath& base_path) {
auto& command_line = *base::CommandLine::ForCurrentProcess();
int max_size = 0;
if (command_line.HasSwitch(switches::kDiskCacheSize)) {
base::StringToInt(command_line.GetSwitchValueASCII(switches::kDiskCacheSize),
&max_size);
}
base::FilePath cache_path = base_path.Append(FILE_PATH_LITERAL("Cache"));
return new net::HttpCache::DefaultBackend(
net::DISK_CACHE,
net::CACHE_BACKEND_DEFAULT,
cache_path,
0,
max_size,
BrowserThread::GetTaskRunnerForThread(BrowserThread::CACHE));
}

View file

@ -53,6 +53,9 @@ const char kAuthNegotiateDelegateWhitelist[] =
// Ignores certificate-related errors.
const char kIgnoreCertificateErrors[] = "ignore-certificate-errors";
// Forces the maximum disk space to be used by the disk cache, in bytes.
const char kDiskCacheSize[] = "disk-cache-size";
} // namespace switches
} // namespace brightray

View file

@ -18,6 +18,7 @@ extern const char kDisableHttp2[];
extern const char kAuthServerWhitelist[];
extern const char kAuthNegotiateDelegateWhitelist[];
extern const char kIgnoreCertificateErrors[];
extern const char kDiskCacheSize[];
} // namespace switches