OLD | NEW |
---|---|
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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/download/download_manager.h" | 5 #include "chrome/browser/download/download_manager.h" |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 802 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
813 this, &DownloadManager::ProceedWithFinishedDangerousDownload, | 813 this, &DownloadManager::ProceedWithFinishedDangerousDownload, |
814 download->db_handle(), | 814 download->db_handle(), |
815 download->full_path(), download->original_name())); | 815 download->full_path(), download->original_name())); |
816 return; | 816 return; |
817 } | 817 } |
818 ContinueDownloadFinished(download); | 818 ContinueDownloadFinished(download); |
819 } | 819 } |
820 | 820 |
821 void DownloadManager::DownloadRenamedToFinalName(int download_id, | 821 void DownloadManager::DownloadRenamedToFinalName(int download_id, |
822 const FilePath& full_path) { | 822 const FilePath& full_path) { |
823 if (Extension::IsExtension(full_path)) | |
824 OpenChromeExtension(full_path); | |
825 } | 823 } |
826 | 824 |
827 void DownloadManager::ContinueDownloadFinished(DownloadItem* download) { | 825 void DownloadManager::ContinueDownloadFinished(DownloadItem* download) { |
828 // If this was a dangerous download, it has now been approved and must be | 826 // If this was a dangerous download, it has now been approved and must be |
829 // removed from dangerous_finished_ so it does not get deleted on shutdown. | 827 // removed from dangerous_finished_ so it does not get deleted on shutdown. |
830 DownloadMap::iterator it = dangerous_finished_.find(download->id()); | 828 DownloadMap::iterator it = dangerous_finished_.find(download->id()); |
831 if (it != dangerous_finished_.end()) | 829 if (it != dangerous_finished_.end()) |
832 dangerous_finished_.erase(it); | 830 dangerous_finished_.erase(it); |
833 | 831 |
834 // Notify our observers that we are complete (the call to Finished() set the | 832 // Notify our observers that we are complete (the call to Finished() set the |
835 // state to complete but did not notify). | 833 // state to complete but did not notify). |
836 download->UpdateObservers(); | 834 download->UpdateObservers(); |
837 | 835 |
838 // Open the download if the user or user prefs indicate it should be. | 836 // Open the download if the user or user prefs indicate it should be. |
839 FilePath::StringType extension = download->full_path().Extension(); | 837 FilePath::StringType extension = download->full_path().Extension(); |
840 | 838 |
841 // Handle chrome extensions explicitly and skip the shell execute. | 839 // Handle chrome extensions explicitly and skip the shell execute. |
842 if (Extension::IsExtension(download->full_path())) { | 840 if (Extension::IsExtension(download->full_path())) { |
843 // Skip the shell execute. This will be handled in | 841 OpenChromeExtension(download->full_path()); |
Matt Perry
2009/07/02 23:52:01
Are you sure this happens after DownloadRenamedToF
| |
844 // DownloadRenamedToFinalName | |
845 return; | 842 return; |
846 } | 843 } |
847 | 844 |
848 if (download->open_when_complete() || ShouldOpenFileExtension(extension)) | 845 if (download->open_when_complete() || ShouldOpenFileExtension(extension)) |
849 OpenDownloadInShell(download, NULL); | 846 OpenDownloadInShell(download, NULL); |
850 } | 847 } |
851 | 848 |
852 // Called on the file thread. Renames the downloaded file to its original name. | 849 // Called on the file thread. Renames the downloaded file to its original name. |
853 void DownloadManager::ProceedWithFinishedDangerousDownload( | 850 void DownloadManager::ProceedWithFinishedDangerousDownload( |
854 int64 download_handle, | 851 int64 download_handle, |
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1483 } | 1480 } |
1484 | 1481 |
1485 if (contents) | 1482 if (contents) |
1486 contents->OnStartDownload(download); | 1483 contents->OnStartDownload(download); |
1487 } | 1484 } |
1488 | 1485 |
1489 // Clears the last download path, used to initialize "save as" dialogs. | 1486 // Clears the last download path, used to initialize "save as" dialogs. |
1490 void DownloadManager::ClearLastDownloadPath() { | 1487 void DownloadManager::ClearLastDownloadPath() { |
1491 last_download_path_ = FilePath(); | 1488 last_download_path_ = FilePath(); |
1492 } | 1489 } |
OLD | NEW |