Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5480)

Unified Diff: chrome/browser/download/download_file.cc

Issue 17032: * switch download manager to using FilePath... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/download/download_file.h ('k') | chrome/browser/download/download_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/download/download_file.cc
===================================================================
--- chrome/browser/download/download_file.cc (revision 7487)
+++ chrome/browser/download/download_file.cc (working copy)
@@ -85,22 +85,22 @@
void DownloadFile::Cancel() {
Close();
- DeleteFile(full_path_.c_str());
+ file_util::Delete(full_path_, false);
}
// The UI has provided us with our finalized name.
-bool DownloadFile::Rename(const std::wstring& new_path) {
+bool DownloadFile::Rename(const FilePath& new_path) {
Close();
// We cannot rename because rename will keep the same security descriptor
// on the destination file. We want to recreate the security descriptor
// with the security that makes sense in the new path.
- if (!file_util::RenameFileAndResetSecurityDescriptor(full_path_.c_str(),
- new_path.c_str())) {
+ if (!file_util::RenameFileAndResetSecurityDescriptor(
+ full_path_.value().c_str(), new_path.value().c_str())) {
return false;
}
- DeleteFile(full_path_.c_str());
+ file_util::Delete(full_path_, false);
full_path_ = new_path;
path_renamed_ = true;
@@ -129,7 +129,7 @@
}
// Sets the Zone to tell Windows that this file comes from the internet.
// We ignore the return value because a failure is not fatal.
- win_util::SetInternetZoneIdentifier(full_path_);
+ win_util::SetInternetZoneIdentifier(full_path_.value());
return true;
}
@@ -512,22 +512,23 @@
// Open a download, or show it in a Windows Explorer window. We run on this
// thread to avoid blocking the UI with (potentially) slow Shell operations.
// TODO(paulg): File 'stat' operations.
-void DownloadFileManager::OnShowDownloadInShell(const std::wstring full_path) {
+void DownloadFileManager::OnShowDownloadInShell(const FilePath& full_path) {
DCHECK(MessageLoop::current() == file_loop_);
- win_util::ShowItemInFolder(full_path);
+ win_util::ShowItemInFolder(full_path.value());
}
// Launches the selected download using ShellExecute 'open' verb. If there is
// a valid parent window, the 'safer' version will be used which can
// display a modal dialog asking for user consent on dangerous files.
-void DownloadFileManager::OnOpenDownloadInShell(const std::wstring full_path,
+void DownloadFileManager::OnOpenDownloadInShell(const FilePath& full_path,
const std::wstring& url,
HWND parent_window) {
DCHECK(MessageLoop::current() == file_loop_);
if (NULL != parent_window) {
- win_util::SaferOpenItemViaShell(parent_window, L"", full_path, url, true);
+ win_util::SaferOpenItemViaShell(parent_window, L"", full_path.value(),
+ url, true);
} else {
- win_util::OpenItemViaShell(full_path, true);
+ win_util::OpenItemViaShell(full_path.value(), true);
}
}
@@ -535,15 +536,13 @@
// download specified by 'id'. Rename the in progress download, and remove it
// from our table if it has been completed or cancelled already.
void DownloadFileManager::OnFinalDownloadName(int id,
- const std::wstring& full_path) {
+ const FilePath& full_path) {
DCHECK(MessageLoop::current() == file_loop_);
DownloadFileMap::iterator it = downloads_.find(id);
if (it == downloads_.end())
return;
- std::wstring download_dir = file_util::GetDirectoryFromPath(full_path);
- if (!file_util::PathExists(download_dir))
- file_util::CreateDirectory(download_dir);
+ file_util::CreateDirectory(full_path.DirName());
DownloadFile* download = it->second;
if (!download->Rename(full_path)) {
@@ -576,13 +575,9 @@
this, &DownloadFileManager::StopUpdateTimer));
}
-void DownloadFileManager::CreateDirectory(const std::wstring& directory) {
- if (!file_util::PathExists(directory))
- file_util::CreateDirectory(directory);
-}
-
-void DownloadFileManager::DeleteFile(const std::wstring& path) {
+// static
+void DownloadFileManager::DeleteFile(const FilePath& path) {
// Make sure we only delete files.
- if (file_util::PathExists(path) && !file_util::DirectoryExists(path))
+ if (!file_util::DirectoryExists(path))
file_util::Delete(path, false);
}
« no previous file with comments | « chrome/browser/download/download_file.h ('k') | chrome/browser/download/download_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698