summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authordhg@chromium.org <dhg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-02 23:30:54 +0000
committerdhg@chromium.org <dhg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-02 23:30:54 +0000
commit0717207534670b8e4ca8e33244baf46371b7d851 (patch)
treea6250e690729027705c1426265ac79759f78cf75 /chrome/browser
parentc71caa87c8fa6d6438bbe9ec9578874f0044845b (diff)
downloadchromium_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.cc2
-rw-r--r--chrome/browser/chromeos/cros/mount_library.cc1
-rw-r--r--chrome/browser/chromeos/usb_mount_observer.cc10
-rw-r--r--chrome/browser/chromeos/usb_mount_observer.h3
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);