Index: chrome/browser/storage_monitor/storage_monitor.cc |
diff --git a/chrome/browser/storage_monitor/storage_monitor.cc b/chrome/browser/storage_monitor/storage_monitor.cc |
index 682264223c40b147f4446a65e51ef9b9b042da53..47e50cc26779d4d00d4085bb3f174145a0465122 100644 |
--- a/chrome/browser/storage_monitor/storage_monitor.cc |
+++ b/chrome/browser/storage_monitor/storage_monitor.cc |
@@ -72,6 +72,10 @@ void StorageMonitor::Initialize(base::Closure callback) { |
on_initialize_callbacks_.push_back(callback); |
} |
+ if (initializing_) |
+ return; |
+ |
+ initializing_ = true; |
Init(); |
} |
@@ -108,6 +112,7 @@ void StorageMonitor::EjectDevice( |
StorageMonitor::StorageMonitor() |
: observer_list_(new ObserverListThreadSafe<RemovableStorageObserver>()), |
+ initializing_(false), |
initialized_(false), |
transient_device_ids_(new TransientDeviceIds) { |
receiver_.reset(new ReceiverImpl(this)); |