OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/extensions/file_browser_event_router.h" | 5 #include "chrome/browser/chromeos/extensions/file_browser_event_router.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/prefs/public/pref_change_registrar.h" | 10 #include "base/prefs/public/pref_change_registrar.h" |
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
647 } | 647 } |
648 | 648 |
649 void FileBrowserEventRouter::OnDiskRemoved( | 649 void FileBrowserEventRouter::OnDiskRemoved( |
650 const DiskMountManager::Disk* disk) { | 650 const DiskMountManager::Disk* disk) { |
651 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 651 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
652 | 652 |
653 VLOG(1) << "Disk removed: " << disk->device_path(); | 653 VLOG(1) << "Disk removed: " << disk->device_path(); |
654 | 654 |
655 if (!disk->mount_path().empty()) { | 655 if (!disk->mount_path().empty()) { |
656 notifications_->ShowNotification( | 656 notifications_->ShowNotification( |
657 FileBrowserNotifications::DEVICE_HARD_UNPLUG, disk->device_path()); | 657 FileBrowserNotifications::DEVICE_HARD_UNPLUG, |
| 658 disk->system_path_prefix()); |
658 DiskMountManager::GetInstance()->UnmountPath( | 659 DiskMountManager::GetInstance()->UnmountPath( |
659 disk->mount_path(), chromeos::UNMOUNT_OPTIONS_LAZY); | 660 disk->mount_path(), chromeos::UNMOUNT_OPTIONS_LAZY); |
660 } | 661 } |
661 DispatchDiskEvent(disk, false); | 662 DispatchDiskEvent(disk, false); |
662 } | 663 } |
663 | 664 |
664 void FileBrowserEventRouter::OnDeviceAdded( | 665 void FileBrowserEventRouter::OnDeviceAdded( |
665 const std::string& device_path) { | 666 const std::string& device_path) { |
666 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 667 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
667 | 668 |
668 VLOG(1) << "Device added : " << device_path; | 669 VLOG(1) << "Device added : " << device_path; |
669 | 670 |
670 // If the policy is set instead of showing the new device notification we show | 671 // If the policy is set instead of showing the new device notification we show |
671 // a notification that the operation is not permitted. | 672 // a notification that the operation is not permitted. |
672 if (profile_->GetPrefs()->GetBoolean(prefs::kExternalStorageDisabled)) { | 673 if (profile_->GetPrefs()->GetBoolean(prefs::kExternalStorageDisabled)) { |
673 notifications_->ShowNotificationWithMessage( | 674 notifications_->ShowNotification( |
674 FileBrowserNotifications::DEVICE_FAIL, | 675 FileBrowserNotifications::DEVICE_EXTERNAL_STORAGE_DISABLED, |
675 device_path, | 676 device_path); |
676 l10n_util::GetStringUTF16(IDS_EXTERNAL_STORAGE_DISABLED_MESSAGE)); | |
677 return; | 677 return; |
678 } | 678 } |
679 | 679 |
680 notifications_->RegisterDevice(device_path); | 680 notifications_->RegisterDevice(device_path); |
681 notifications_->ShowNotificationDelayed(FileBrowserNotifications::DEVICE, | 681 notifications_->ShowNotificationDelayed(FileBrowserNotifications::DEVICE, |
682 device_path, | 682 device_path, |
683 base::TimeDelta::FromSeconds(5)); | 683 base::TimeDelta::FromSeconds(5)); |
684 } | 684 } |
685 | 685 |
686 void FileBrowserEventRouter::OnDeviceRemoved( | 686 void FileBrowserEventRouter::OnDeviceRemoved( |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
875 return scoped_refptr<RefcountedProfileKeyedService>( | 875 return scoped_refptr<RefcountedProfileKeyedService>( |
876 new FileBrowserEventRouter(profile)); | 876 new FileBrowserEventRouter(profile)); |
877 } | 877 } |
878 | 878 |
879 bool FileBrowserEventRouterFactory::ServiceHasOwnInstanceInIncognito() const { | 879 bool FileBrowserEventRouterFactory::ServiceHasOwnInstanceInIncognito() const { |
880 // Explicitly and always allow this router in guest login mode. see | 880 // Explicitly and always allow this router in guest login mode. see |
881 // chrome/browser/profiles/profile_keyed_base_factory.h comment | 881 // chrome/browser/profiles/profile_keyed_base_factory.h comment |
882 // for the details. | 882 // for the details. |
883 return true; | 883 return true; |
884 } | 884 } |
OLD | NEW |