diff --git a/brightray/browser/url_request_context_getter.cc b/brightray/browser/url_request_context_getter.cc index 2e483d62ae..209260ace1 100644 --- a/brightray/browser/url_request_context_getter.cc +++ b/brightray/browser/url_request_context_getter.cc @@ -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,17 @@ URLRequestContextGetter::Delegate::CreateURLRequestJobFactory( net::HttpCache::BackendFactory* URLRequestContextGetter::Delegate::CreateHttpCacheBackendFactory( const base::FilePath& base_path) { + auto command_line = base::CommandLine::ForCurrentProcess(); + int max_size = 0; + 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)); } diff --git a/brightray/common/switches.cc b/brightray/common/switches.cc index 1f0da2adfd..17ca058577 100644 --- a/brightray/common/switches.cc +++ b/brightray/common/switches.cc @@ -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 diff --git a/brightray/common/switches.h b/brightray/common/switches.h index 3aad50656b..286c4d633b 100644 --- a/brightray/common/switches.h +++ b/brightray/common/switches.h @@ -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 diff --git a/docs/api/chrome-command-line-switches.md b/docs/api/chrome-command-line-switches.md index 5bc1a99e95..7308c5d451 100644 --- a/docs/api/chrome-command-line-switches.md +++ b/docs/api/chrome-command-line-switches.md @@ -36,6 +36,10 @@ Debug-related flags, see the [Debugging the Main Process][debugging-main-process Enables remote debugging over HTTP on the specified `port`. +## --disk-cache-size=`size` + +Forces the maximum disk space to be used by the disk cache, in bytes. + ## --js-flags=`flags` Specifies the flags passed to the Node JS engine. It has to be passed when starting