| 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 36e81e93587b022c3cc9477d5da2d4192684832d..9d20d60d47c8e76e32662f049d6050b619fbd35f 100644
|
| --- a/chrome/browser/storage_monitor/storage_monitor.h
|
| +++ b/chrome/browser/storage_monitor/storage_monitor.h
|
| @@ -36,8 +36,8 @@ class TransientDeviceIds;
|
|
|
| // Base class for platform-specific instances watching for removable storage
|
| // attachments/detachments.
|
| -// Lifecycle contracts: This class is created by ChromeBrowserMain
|
| -// implementations before the profile is initialized, so listeners can be
|
| +// Lifecycle contracts: This class is created in the browser process
|
| +// 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, are done lazily at first use through the async
|
| @@ -69,10 +69,18 @@ class StorageMonitor {
|
| EJECT_FAILURE
|
| };
|
|
|
| - // Returns a pointer to an object owned by the BrowserMainParts, with lifetime
|
| - // somewhat shorter than a process Singleton.
|
| + // Returns a pointer to a newly created per-platform object with the
|
| + // StorageMonitor interface.
|
| + static StorageMonitor* Create();
|
| +
|
| + // Returns a pointer to an object owned by BrowserProcess, with lifetime
|
| + // starting before main message loop start, and ending after main message loop
|
| + // shutdown. Called outside it's lifetime (or with no browser process),
|
| + // returns NULL.
|
| static StorageMonitor* GetInstance();
|
|
|
| + virtual ~StorageMonitor();
|
| +
|
| // Ensures that the storage monitor is initialized. The provided callback, If
|
| // non-null, will be called when initialization is complete. If initialization
|
| // has already completed, this callback will be invoked within the calling
|
| @@ -134,11 +142,6 @@ class StorageMonitor {
|
| friend class ::SystemInfoStorageEjectApiTest;
|
|
|
| StorageMonitor();
|
| - virtual ~StorageMonitor();
|
| -
|
| - // Removes the existing singleton for testing.
|
| - // (So that a new one can be created.)
|
| - static void RemoveSingletonForTesting();
|
|
|
| virtual Receiver* receiver() const;
|
|
|
|
|