diff options
Diffstat (limited to 'chrome')
-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); |