| Index: base/memory/discardable_memory_linux.cc
|
| diff --git a/base/memory/discardable_memory_linux.cc b/base/memory/discardable_memory_linux.cc
|
| index 92e39e5e7d421f3f7acd67ae39b7c9e95b060cd2..33c85bdcb86450e16c8463ea553c689ea113b609 100644
|
| --- a/base/memory/discardable_memory_linux.cc
|
| +++ b/base/memory/discardable_memory_linux.cc
|
| @@ -2,24 +2,42 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/memory/discardable_memory.h"
|
| +
|
| +#include "base/logging.h"
|
| #include "base/memory/discardable_memory_emulated.h"
|
|
|
| namespace base {
|
|
|
| // static
|
| -bool DiscardableMemory::SupportedNatively() {
|
| - return false;
|
| +void DiscardableMemory::GetSupportedTypes(
|
| + std::vector<DiscardableMemoryType>* types) {
|
| + const DiscardableMemoryType supported_types[] = {
|
| + DISCARDABLE_MEMORY_TYPE_EMULATED
|
| + };
|
| + types->assign(supported_types, supported_types + arraysize(supported_types));
|
| }
|
|
|
| // static
|
| -scoped_ptr<DiscardableMemory> DiscardableMemory::CreateLockedMemory(
|
| - size_t size) {
|
| - scoped_ptr<internal::DiscardableMemoryEmulated> memory(
|
| - new internal::DiscardableMemoryEmulated(size));
|
| - if (!memory->Initialize())
|
| - return scoped_ptr<DiscardableMemory>();
|
| -
|
| - return memory.PassAs<DiscardableMemory>();
|
| +scoped_ptr<DiscardableMemory> DiscardableMemory::CreateLockedMemoryWithType(
|
| + DiscardableMemoryType type, size_t size) {
|
| + switch (type) {
|
| + case DISCARDABLE_MEMORY_TYPE_NONE:
|
| + case DISCARDABLE_MEMORY_TYPE_ANDROID:
|
| + case DISCARDABLE_MEMORY_TYPE_MAC:
|
| + return scoped_ptr<DiscardableMemory>();
|
| + case DISCARDABLE_MEMORY_TYPE_EMULATED: {
|
| + scoped_ptr<internal::DiscardableMemoryEmulated> memory(
|
| + new internal::DiscardableMemoryEmulated(size));
|
| + if (!memory->Initialize())
|
| + return scoped_ptr<DiscardableMemory>();
|
| +
|
| + return memory.PassAs<DiscardableMemory>();
|
| + }
|
| + }
|
| +
|
| + NOTREACHED();
|
| + return scoped_ptr<DiscardableMemory>();
|
| }
|
|
|
| // static
|
|
|