1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef BASE_MEMORY_DISCARDABLE_MEMORY_EMULATED_H_
6 #define BASE_MEMORY_DISCARDABLE_MEMORY_EMULATED_H_
8 #include "base/memory/discardable_memory.h"
13 class DiscardableMemoryEmulated
: public DiscardableMemory
{
15 explicit DiscardableMemoryEmulated(size_t size
);
16 virtual ~DiscardableMemoryEmulated();
18 static void RegisterMemoryPressureListeners();
19 static void UnregisterMemoryPressureListeners();
21 static void PurgeForTesting();
25 // Overridden from DiscardableMemory:
26 virtual DiscardableMemoryLockStatus
Lock() OVERRIDE
;
27 virtual void Unlock() OVERRIDE
;
28 virtual void* Memory() const OVERRIDE
;
31 scoped_ptr
<uint8
, FreeDeleter
> memory_
;
34 DISALLOW_COPY_AND_ASSIGN(DiscardableMemoryEmulated
);
37 } // namespace internal
40 #endif // BASE_MEMORY_DISCARDABLE_MEMORY_EMULATED_H_