Chromium Code Reviews| Index: chrome/browser/chromeos/extensions/file_browser_event_router.h |
| diff --git a/chrome/browser/chromeos/extensions/file_browser_event_router.h b/chrome/browser/chromeos/extensions/file_browser_event_router.h |
| index 9247bd8805498b2347991e52fb04b56cac1abe16..8168fc107b2425c3a7558a1d159868421c714270 100644 |
| --- a/chrome/browser/chromeos/extensions/file_browser_event_router.h |
| +++ b/chrome/browser/chromeos/extensions/file_browser_event_router.h |
| @@ -34,13 +34,14 @@ class DriveFileSystemInterface; |
| // Monitors changes in disk mounts, network connection state and preferences |
| // affecting File Manager. Dispatches appropriate File Browser events. |
| class FileBrowserEventRouter |
| - : public base::RefCountedThreadSafe<FileBrowserEventRouter>, |
| - public chromeos::disks::DiskMountManager::Observer, |
| + : public chromeos::disks::DiskMountManager::Observer, |
| public chromeos::ConnectivityStateHelperObserver, |
| public chromeos::SystemKeyEventListener::ModifiersObserver, |
| public drive::DriveFileSystemObserver, |
| public google_apis::DriveServiceObserver { |
| public: |
| + virtual ~FileBrowserEventRouter(); |
|
hashimoto
2013/04/08 04:49:38
nit: How about moving this dtor to after SuspendSt
satorux1
2013/04/08 05:03:37
Done.
|
| + |
| // Interface that should keep track of the system state in regards to system |
| // suspend and resume events. |
| // When the |IsResuming()| returns true, it should be able to check if a |
| @@ -110,7 +111,6 @@ class FileBrowserEventRouter |
| private: |
| friend class FileBrowserPrivateAPI; |
| - friend class base::RefCountedThreadSafe<FileBrowserEventRouter>; |
| typedef std::map<std::string, int> ExtensionUsageRegistry; |
| @@ -147,7 +147,6 @@ class FileBrowserEventRouter |
| typedef std::map<base::FilePath, FileWatcherExtensions*> WatcherMap; |
| explicit FileBrowserEventRouter(Profile* profile); |
|
hashimoto
2013/04/08 04:49:38
Can't we make this ctor public and remove "friend
satorux1
2013/04/08 05:03:37
Done. Good catch!
|
| - virtual ~FileBrowserEventRouter(); |
| // USB mount event handlers. |
| void OnDiskAdded(const chromeos::disks::DiskMountManager::Disk* disk); |
| @@ -196,7 +195,6 @@ class FileBrowserEventRouter |
| // zero. |
| void HandleRemoteUpdateRequestOnUIThread(bool start); |
| - base::WeakPtrFactory<FileBrowserEventRouter> weak_factory_; |
| base::FilePathWatcher::Callback file_watcher_callback_; |
| WatcherMap file_watchers_; |
| scoped_ptr<FileBrowserNotifications> notifications_; |
| @@ -212,6 +210,9 @@ class FileBrowserEventRouter |
| // for power users. |
| bool shift_pressed_; |
| + // Note: This should remain the last member so it'll be destroyed and |
| + // invalidate the weak pointers before any other members are destroyed. |
| + base::WeakPtrFactory<FileBrowserEventRouter> weak_factory_; |
| DISALLOW_COPY_AND_ASSIGN(FileBrowserEventRouter); |
| }; |