| Index: chrome/browser/chromeos/file_manager/mounted_disk_monitor.cc
|
| diff --git a/chrome/browser/chromeos/file_manager/mounted_disk_monitor.cc b/chrome/browser/chromeos/file_manager/mounted_disk_monitor.cc
|
| deleted file mode 100644
|
| index b67c2d90a85881d21fe87d1a5d9aa75aec3e2fb6..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/file_manager/mounted_disk_monitor.cc
|
| +++ /dev/null
|
| @@ -1,134 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/chromeos/file_manager/mounted_disk_monitor.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/location.h"
|
| -#include "base/message_loop/message_loop_proxy.h"
|
| -#include "chromeos/dbus/power_manager_client.h"
|
| -
|
| -using chromeos::disks::DiskMountManager;
|
| -
|
| -namespace file_manager {
|
| -namespace {
|
| -
|
| -// Time span of the resuming process. All unmount events sent during this
|
| -// time are considered as being part of remounting process, since remounting
|
| -// is done just after resuming.
|
| -const base::TimeDelta kResumingTimeSpan = base::TimeDelta::FromSeconds(5);
|
| -
|
| -} // namespace
|
| -
|
| -MountedDiskMonitor::MountedDiskMonitor(
|
| - chromeos::PowerManagerClient* power_manager_client)
|
| - : power_manager_client_(power_manager_client),
|
| - is_resuming_(false),
|
| - resuming_time_span_(kResumingTimeSpan),
|
| - weak_factory_(this) {
|
| - DCHECK(power_manager_client_);
|
| - power_manager_client_->AddObserver(this);
|
| -}
|
| -
|
| -MountedDiskMonitor::~MountedDiskMonitor() {
|
| - power_manager_client_->RemoveObserver(this);
|
| -}
|
| -
|
| -void MountedDiskMonitor::SuspendImminent() {
|
| - // Flip the resuming flag while suspending, so it is possible to detect
|
| - // resuming as soon as possible after the lid is open. Note, that mount
|
| - // events may occur before the SuspendDone method is called.
|
| - is_resuming_ = true;
|
| - weak_factory_.InvalidateWeakPtrs();
|
| -}
|
| -
|
| -void MountedDiskMonitor::SuspendDone(
|
| - const base::TimeDelta& sleep_duration) {
|
| - // Undo any previous resets. Release the resuming flag after a fixed timeout.
|
| - weak_factory_.InvalidateWeakPtrs();
|
| - base::MessageLoopProxy::current()->PostDelayedTask(
|
| - FROM_HERE,
|
| - base::Bind(&MountedDiskMonitor::Reset,
|
| - weak_factory_.GetWeakPtr()),
|
| - resuming_time_span_);
|
| -}
|
| -
|
| -bool MountedDiskMonitor::DiskIsRemounting(
|
| - const DiskMountManager::Disk& disk) const {
|
| - return unmounted_while_resuming_.count(disk.fs_uuid()) > 0;
|
| -}
|
| -
|
| -bool MountedDiskMonitor::DeviceIsHardUnpluggedButNotReported(
|
| - const std::string& device_path) const {
|
| - const std::map<std::string, HardUnpluggedState>::const_iterator it
|
| - = hard_unplugged_.find(device_path);
|
| - return it != hard_unplugged_.end() && it->second == HARD_UNPLUGGED;
|
| -}
|
| -
|
| -void MountedDiskMonitor::MarkAsHardUnpluggedReported(
|
| - const std::string& device_path) {
|
| - hard_unplugged_[device_path] = HARD_UNPLUGGED_AND_REPORTED;
|
| -}
|
| -
|
| -void MountedDiskMonitor::OnMountEvent(
|
| - chromeos::disks::DiskMountManager::MountEvent event,
|
| - chromeos::MountError error_code,
|
| - const chromeos::disks::DiskMountManager::MountPointInfo& mount_info,
|
| - const DiskMountManager::Disk* disk) {
|
| - if (mount_info.mount_type != chromeos::MOUNT_TYPE_DEVICE)
|
| - return;
|
| -
|
| - switch (event) {
|
| - case DiskMountManager::MOUNTING: {
|
| - if (!disk || error_code != chromeos::MOUNT_ERROR_NONE)
|
| - return;
|
| - mounted_disks_[mount_info.source_path] = disk->fs_uuid();
|
| - break;
|
| - }
|
| -
|
| - case DiskMountManager::UNMOUNTING: {
|
| - DiskMap::iterator it = mounted_disks_.find(mount_info.source_path);
|
| - if (it == mounted_disks_.end())
|
| - return;
|
| - const std::string& fs_uuid = it->second;
|
| - if (is_resuming_)
|
| - unmounted_while_resuming_.insert(fs_uuid);
|
| - mounted_disks_.erase(it);
|
| - break;
|
| - }
|
| - }
|
| -}
|
| -
|
| -void MountedDiskMonitor::OnDiskEvent(
|
| - chromeos::disks::DiskMountManager::DiskEvent event,
|
| - const chromeos::disks::DiskMountManager::Disk* disk) {
|
| - if (event == chromeos::disks::DiskMountManager::DISK_REMOVED) {
|
| - // If the mount path is not empty, the disk is hard unplugged.
|
| - if (!is_resuming_ &&
|
| - !disk->mount_path().empty() &&
|
| - hard_unplugged_.find(disk->system_path_prefix()) ==
|
| - hard_unplugged_.end()) {
|
| - hard_unplugged_.insert(
|
| - std::make_pair(disk->system_path_prefix(), HARD_UNPLUGGED));
|
| - }
|
| - }
|
| -}
|
| -
|
| -void MountedDiskMonitor::OnDeviceEvent(
|
| - chromeos::disks::DiskMountManager::DeviceEvent event,
|
| - const std::string& device_path) {
|
| - if (event == chromeos::disks::DiskMountManager::DEVICE_REMOVED) {
|
| - const std::map<std::string, HardUnpluggedState>::iterator it
|
| - = hard_unplugged_.find(device_path);
|
| - if (it != hard_unplugged_.end())
|
| - hard_unplugged_.erase(it);
|
| - }
|
| -}
|
| -
|
| -void MountedDiskMonitor::Reset() {
|
| - unmounted_while_resuming_.clear();
|
| - is_resuming_ = false;
|
| -}
|
| -
|
| -} // namespace file_manager
|
|
|