| Index: net/disk_cache/simple/simple_backend_impl.cc
|
| diff --git a/net/disk_cache/simple/simple_backend_impl.cc b/net/disk_cache/simple/simple_backend_impl.cc
|
| index e5645e357ebd44aecac4b580e3fb88444f7dc7b9..e81877c9017bef6324ef7883b2daa1357ca74456 100644
|
| --- a/net/disk_cache/simple/simple_backend_impl.cc
|
| +++ b/net/disk_cache/simple/simple_backend_impl.cc
|
| @@ -30,6 +30,7 @@
|
| #include "base/threading/sequenced_worker_pool.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "base/time/time.h"
|
| +#include "base/trace_event/memory_usage_estimator.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/disk_cache/cache_util.h"
|
| #include "net/disk_cache/simple/simple_entry_format.h"
|
| @@ -204,6 +205,13 @@ void RecordIndexLoad(net::CacheType cache_type,
|
|
|
| } // namespace
|
|
|
| +// Static function which is called by base::trace_event::EstimateMemoryUsage()
|
| +// to estimate the memory of SimpleEntryImpl* type.
|
| +// This needs to be in disk_cache namespace.
|
| +size_t EstimateMemoryUsage(const SimpleEntryImpl* const& entry_impl) {
|
| + return sizeof(SimpleEntryImpl) + entry_impl->EstimateMemoryUsage();
|
| +}
|
| +
|
| class SimpleBackendImpl::ActiveEntryProxy
|
| : public SimpleEntryImpl::ActiveEntryProxy {
|
| public:
|
| @@ -552,6 +560,13 @@ void SimpleBackendImpl::OnExternalCacheHit(const std::string& key) {
|
| index_->UseIfExists(simple_util::GetEntryHashKey(key));
|
| }
|
|
|
| +size_t SimpleBackendImpl::EstimateMemoryUsage() const {
|
| + // TODO(xunjieli): crbug.com/669108. Track |entries_pending_doom_| once
|
| + // base::Closure is suppported in memory_usage_estimator.h.
|
| + return base::trace_event::EstimateMemoryUsage(index_) +
|
| + base::trace_event::EstimateMemoryUsage(active_entries_);
|
| +}
|
| +
|
| void SimpleBackendImpl::InitializeIndex(const CompletionCallback& callback,
|
| const DiskStatResult& result) {
|
| if (result.net_error == net::OK) {
|
|
|