Index: chrome/browser/storage_monitor/storage_monitor.h |
diff --git a/chrome/browser/storage_monitor/storage_monitor.h b/chrome/browser/storage_monitor/storage_monitor.h |
index 7eab0b7743b925d9b3fffa009623e946c32b496d..f1121872838b32d5152b0288a5010da5c7acea28 100644 |
--- a/chrome/browser/storage_monitor/storage_monitor.h |
+++ b/chrome/browser/storage_monitor/storage_monitor.h |
@@ -39,7 +39,15 @@ class TransientDeviceIds; |
// implementations before the profile is initialized, so listeners can be |
// created during profile construction. The platform-specific initialization, |
// which can lead to calling registered listeners with notifications of |
-// attached volumes, will happen after profile construction. |
+// attached volumes, can be done lazily at first use through the async |
vandebo (ex-Chrome)
2013/05/31 18:05:03
nit: can be done => are done
|
+// |Initialize()| method. That must be done before any of the registered |
+// listeners will receive updates or calls to other API methods return |
+// meaningful results. |
+// For platform implementations, the intention is that notifications be sent |
vandebo (ex-Chrome)
2013/05/31 18:05:03
This implies that we try to suppress duplicates, b
Greg Billock
2013/06/01 01:48:46
OK, this was a bit premature, as we haven't done t
|
+// on storages attached/detached after initialization is complete. However, |
+// not all platforms can guarantee this process is race-free, so clients |
+// should not depend on notifications and an initial |GetAttachedStorage()| |
+// call having no duplicates. |
class StorageMonitor { |
public: |
// This interface is provided to generators of storage notifications. |
@@ -153,6 +161,7 @@ class StorageMonitor { |
scoped_refptr<ObserverListThreadSafe<RemovableStorageObserver> > |
observer_list_; |
+ bool initializing_; |
vandebo (ex-Chrome)
2013/05/31 18:05:03
nit: instead of two bools, an enum might be better
Greg Billock
2013/06/01 01:48:46
I think two bools are easier to understand -- one
vandebo (ex-Chrome)
2013/06/01 15:47:24
Together they specify the state of the object. If
Greg Billock
2013/06/03 15:30:57
True, but still I think this is more clear.
|
bool initialized_; |
std::vector<base::Closure> on_initialize_callbacks_; |