| Index: base/memory/discardable_memory_provider.cc
 | 
| diff --git a/base/memory/discardable_memory_provider.cc b/base/memory/discardable_memory_provider.cc
 | 
| index f7511a1a07e350af3af3a6a0462bd326d3721afe..1c84339eba7aea5877446f893a94a019c2605def 100644
 | 
| --- a/base/memory/discardable_memory_provider.cc
 | 
| +++ b/base/memory/discardable_memory_provider.cc
 | 
| @@ -8,8 +8,6 @@
 | 
|  #include "base/containers/hash_tables.h"
 | 
|  #include "base/containers/mru_cache.h"
 | 
|  #include "base/debug/trace_event.h"
 | 
| -#include "base/lazy_instance.h"
 | 
| -#include "base/memory/discardable_memory.h"
 | 
|  #include "base/synchronization/lock.h"
 | 
|  #include "base/sys_info.h"
 | 
|  
 | 
| @@ -18,13 +16,6 @@ namespace internal {
 | 
|  
 | 
|  namespace {
 | 
|  
 | 
| -static base::LazyInstance<DiscardableMemoryProvider>::Leaky g_provider =
 | 
| -    LAZY_INSTANCE_INITIALIZER;
 | 
| -
 | 
| -// If this is given a valid value via SetInstanceForTest, this pointer will be
 | 
| -// returned by GetInstance rather than |g_provider|.
 | 
| -static DiscardableMemoryProvider* g_provider_for_test = NULL;
 | 
| -
 | 
|  // This is admittedly pretty magical. It's approximately enough memory for two
 | 
|  // 2560x1600 images.
 | 
|  static const size_t kDefaultDiscardableMemoryLimit = 32 * 1024 * 1024;
 | 
| @@ -40,7 +31,8 @@ DiscardableMemoryProvider::DiscardableMemoryProvider()
 | 
|        bytes_to_reclaim_under_moderate_pressure_(
 | 
|            kDefaultBytesToReclaimUnderModeratePressure),
 | 
|        memory_pressure_listener_(
 | 
| -          base::Bind(&DiscardableMemoryProvider::NotifyMemoryPressure)) {
 | 
| +          base::Bind(&DiscardableMemoryProvider::NotifyMemoryPressure,
 | 
| +                     Unretained(this))) {
 | 
|  }
 | 
|  
 | 
|  DiscardableMemoryProvider::~DiscardableMemoryProvider() {
 | 
| @@ -48,28 +40,14 @@ DiscardableMemoryProvider::~DiscardableMemoryProvider() {
 | 
|    DCHECK_EQ(0u, bytes_allocated_);
 | 
|  }
 | 
|  
 | 
| -// static
 | 
| -DiscardableMemoryProvider* DiscardableMemoryProvider::GetInstance() {
 | 
| -  if (g_provider_for_test)
 | 
| -    return g_provider_for_test;
 | 
| -  return g_provider.Pointer();
 | 
| -}
 | 
| -
 | 
| -// static
 | 
| -void DiscardableMemoryProvider::SetInstanceForTest(
 | 
| -    DiscardableMemoryProvider* provider) {
 | 
| -  g_provider_for_test = provider;
 | 
| -}
 | 
| -
 | 
| -// static
 | 
|  void DiscardableMemoryProvider::NotifyMemoryPressure(
 | 
|      MemoryPressureListener::MemoryPressureLevel pressure_level) {
 | 
|    switch (pressure_level) {
 | 
|      case MemoryPressureListener::MEMORY_PRESSURE_MODERATE:
 | 
| -      DiscardableMemoryProvider::GetInstance()->Purge();
 | 
| +      Purge();
 | 
|        return;
 | 
|      case MemoryPressureListener::MEMORY_PRESSURE_CRITICAL:
 | 
| -      DiscardableMemoryProvider::GetInstance()->PurgeAll();
 | 
| +      PurgeAll();
 | 
|        return;
 | 
|    }
 | 
|  
 | 
| 
 |