diff options
author | dhg@chromium.org <dhg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-02 23:30:54 +0000 |
---|---|---|
committer | dhg@chromium.org <dhg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-02 23:30:54 +0000 |
commit | 0717207534670b8e4ca8e33244baf46371b7d851 (patch) | |
tree | a6250e690729027705c1426265ac79759f78cf75 /chrome/browser | |
parent | c71caa87c8fa6d6438bbe9ec9578874f0044845b (diff) | |
download | chromium_src-0717207534670b8e4ca8e33244baf46371b7d851.zip chromium_src-0717207534670b8e4ca8e33244baf46371b7d851.tar.gz chromium_src-0717207534670b8e4ca8e33244baf46371b7d851.tar.bz2 |
Fixing mounting so that it remounts any devices it finds on boot.
BUG=chromium-os:3715
TEST=none
Review URL: http://codereview.chromium.org/2496002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48790 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/browser_init.cc | 2 | ||||
-rw-r--r-- | chrome/browser/chromeos/cros/mount_library.cc | 1 | ||||
-rw-r--r-- | chrome/browser/chromeos/usb_mount_observer.cc | 10 | ||||
-rw-r--r-- | chrome/browser/chromeos/usb_mount_observer.h | 3 |
4 files changed, 15 insertions, 1 deletions
diff --git a/chrome/browser/browser_init.cc b/chrome/browser/browser_init.cc index 605099f..9c343c2 100644 --- a/chrome/browser/browser_init.cc +++ b/chrome/browser/browser_init.cc @@ -417,7 +417,7 @@ bool BrowserInit::LaunchBrowser( chromeos::CrosLibrary::Get()->GetMountLibrary(); chromeos::USBMountObserver* observe = chromeos::USBMountObserver::Get(); lib->AddObserver(observe); - + observe->ScanForDevices(lib); // Connect the chromeos notifications // This observer is a singleton. It is never deleted but the pointer is kept diff --git a/chrome/browser/chromeos/cros/mount_library.cc b/chrome/browser/chromeos/cros/mount_library.cc index 24eed5f..74de250 100644 --- a/chrome/browser/chromeos/cros/mount_library.cc +++ b/chrome/browser/chromeos/cros/mount_library.cc @@ -86,6 +86,7 @@ void MountLibraryImpl::MountStatusChangedHandler(void* object, void MountLibraryImpl::Init() { // Getting the monitor status so that the daemon starts up. MountStatus* mount = RetrieveMountInformation(); + ParseDisks(*mount); FreeMountStatus(mount); mount_status_connection_ = MonitorMountStatus( diff --git a/chrome/browser/chromeos/usb_mount_observer.cc b/chrome/browser/chromeos/usb_mount_observer.cc index 4dda09b..f3a8052 100644 --- a/chrome/browser/chromeos/usb_mount_observer.cc +++ b/chrome/browser/chromeos/usb_mount_observer.cc @@ -36,6 +36,16 @@ void USBMountObserver::Observe(NotificationType type, } } +void USBMountObserver::ScanForDevices(chromeos::MountLibrary* obj) { + const chromeos::MountLibrary::DiskVector& disks = obj->disks(); + for (size_t i = 0; i < disks.size(); ++i) { + chromeos::MountLibrary::Disk disk = disks[i]; + if (!disk.is_parent && !disk.device_path.empty()) { + obj->MountPath(disk.device_path.c_str()); + } + } +} + void USBMountObserver::OpenFileBrowse(const std::string& url, const std::string& device_path, bool small) { diff --git a/chrome/browser/chromeos/usb_mount_observer.h b/chrome/browser/chromeos/usb_mount_observer.h index 0c4d93e..1dd78d3 100644 --- a/chrome/browser/chromeos/usb_mount_observer.h +++ b/chrome/browser/chromeos/usb_mount_observer.h @@ -43,6 +43,9 @@ class USBMountObserver : public chromeos::MountLibrary::Observer, void MountChanged(chromeos::MountLibrary* obj, chromeos::MountEventType evt, const std::string& path); + + void ScanForDevices(chromeos::MountLibrary* obj); + private: typedef std::vector<BrowserWithPath>::iterator BrowserIterator; BrowserIterator FindBrowserForPath(const std::string& path); |