| Index: base/memory/discardable_memory.cc
|
| diff --git a/base/memory/discardable_memory.cc b/base/memory/discardable_memory.cc
|
| index 33f9e19cdeee523f7b99a53a8452ef23f0f569f0..c5ee134448b558744403e8380affa36e4d0b0086 100644
|
| --- a/base/memory/discardable_memory.cc
|
| +++ b/base/memory/discardable_memory.cc
|
| @@ -4,63 +4,24 @@
|
|
|
| #include "base/memory/discardable_memory.h"
|
|
|
| -#include "base/logging.h"
|
| -
|
| namespace base {
|
|
|
| -DiscardableMemory::DiscardableMemory()
|
| - : memory_(NULL),
|
| - size_(0),
|
| - is_locked_(false)
|
| -#if defined(OS_ANDROID)
|
| - , fd_(-1)
|
| -#endif // OS_ANDROID
|
| - {
|
| - DCHECK(Supported());
|
| -}
|
| -
|
| -void* DiscardableMemory::Memory() const {
|
| - DCHECK(is_locked_);
|
| - return memory_;
|
| -}
|
| -
|
| -// Stub implementations for platforms that don't support discardable memory.
|
| -
|
| -#if !defined(OS_ANDROID) && !defined(OS_MACOSX)
|
| -
|
| -DiscardableMemory::~DiscardableMemory() {
|
| - NOTIMPLEMENTED();
|
| -}
|
| +#if !defined(DISCARDABLE_MEMORY_SUPPORTED_NATIVELY)
|
| +static DiscardableMemoryProvider* s_factory = NULL;
|
|
|
| // static
|
| -bool DiscardableMemory::Supported() {
|
| - return false;
|
| -}
|
| -
|
| -bool DiscardableMemory::InitializeAndLock(size_t size) {
|
| - NOTIMPLEMENTED();
|
| - return false;
|
| -}
|
| -
|
| -LockDiscardableMemoryStatus DiscardableMemory::Lock() {
|
| - NOTIMPLEMENTED();
|
| - return DISCARDABLE_MEMORY_FAILED;
|
| -}
|
| -
|
| -void DiscardableMemory::Unlock() {
|
| - NOTIMPLEMENTED();
|
| +DiscardableMemoryProvider* DiscardableMemoryProvider::GetInstance() {
|
| + return s_factory;
|
| }
|
|
|
| // static
|
| -bool DiscardableMemory::PurgeForTestingSupported() {
|
| - return false;
|
| +void DiscardableMemoryProvider::SetInstance(
|
| + DiscardableMemoryProvider* factory) {
|
| + s_factory = factory;
|
| }
|
| +#endif
|
|
|
| -// static
|
| -void DiscardableMemory::PurgeForTesting() {
|
| - NOTIMPLEMENTED();
|
| +DiscardableMemory::~DiscardableMemory() {
|
| }
|
|
|
| -#endif // OS_*
|
| -
|
| } // namespace base
|
|
|