Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Unified Diff: base/memory/memory_pressure_listener.cc

Issue 2667513003: Remove some LazyInstance use in base/ (Closed)
Patch Set: no message_window Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/memory/memory_pressure_listener.cc
diff --git a/base/memory/memory_pressure_listener.cc b/base/memory/memory_pressure_listener.cc
index 27e700189bd32363e62b8ddd1f4b9e5567dc0112..a421c18b6b7e76234d67a6ccd90ec4f20d683da4 100644
--- a/base/memory/memory_pressure_listener.cc
+++ b/base/memory/memory_pressure_listener.cc
@@ -4,7 +4,6 @@
#include "base/memory/memory_pressure_listener.h"
-#include "base/lazy_instance.h"
#include "base/observer_list_threadsafe.h"
#include "base/trace_event/trace_event.h"
@@ -51,8 +50,10 @@ class MemoryPressureObserver {
DISALLOW_COPY_AND_ASSIGN(MemoryPressureObserver);
};
-LazyInstance<MemoryPressureObserver>::Leaky g_observer =
- LAZY_INSTANCE_INITIALIZER;
+MemoryPressureObserver* GetMemoryPressureObserver() {
+ static auto observer = new MemoryPressureObserver();
+ return observer;
+}
subtle::Atomic32 g_notifications_suppressed = 0;
@@ -61,7 +62,7 @@ subtle::Atomic32 g_notifications_suppressed = 0;
MemoryPressureListener::MemoryPressureListener(
const MemoryPressureListener::MemoryPressureCallback& callback)
: callback_(callback) {
- g_observer.Get().AddObserver(this, false);
+ GetMemoryPressureObserver()->AddObserver(this, false);
}
MemoryPressureListener::MemoryPressureListener(
@@ -70,11 +71,11 @@ MemoryPressureListener::MemoryPressureListener(
sync_memory_pressure_callback)
: callback_(callback),
sync_memory_pressure_callback_(sync_memory_pressure_callback) {
- g_observer.Get().AddObserver(this, true);
+ GetMemoryPressureObserver()->AddObserver(this, true);
}
MemoryPressureListener::~MemoryPressureListener() {
- g_observer.Get().RemoveObserver(this);
+ GetMemoryPressureObserver()->RemoveObserver(this);
}
void MemoryPressureListener::Notify(MemoryPressureLevel memory_pressure_level) {
@@ -123,7 +124,7 @@ void MemoryPressureListener::DoNotifyMemoryPressure(
MemoryPressureLevel memory_pressure_level) {
DCHECK_NE(memory_pressure_level, MEMORY_PRESSURE_LEVEL_NONE);
- g_observer.Get().Notify(memory_pressure_level);
+ GetMemoryPressureObserver()->Notify(memory_pressure_level);
}
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698