summaryrefslogtreecommitdiffstats
path: root/chrome/common/chrome_paths_win.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-28 01:49:55 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-28 01:49:55 +0000
commitc1a9f8d4c169b2eb6b32dc50d20b05f69d73237e (patch)
treed67d12634f2793e44f48d5f6b660d9f04b081978 /chrome/common/chrome_paths_win.cc
parent04abd506d6a0ae3c5130bf1e026eadbe3b24ccbf (diff)
downloadchromium_src-c1a9f8d4c169b2eb6b32dc50d20b05f69d73237e.zip
chromium_src-c1a9f8d4c169b2eb6b32dc50d20b05f69d73237e.tar.gz
chromium_src-c1a9f8d4c169b2eb6b32dc50d20b05f69d73237e.tar.bz2
Instead of appending "Downloads" to the user document directory, let each platform specify its own downloads directory.
On mac this is unimplemented. On windows it remains the user document directory + "\Downloads\", and on linux we attempt to follow their XDG setting, but fall back to ~/Downloads if they have an unsafe value in their XDG setting. Review URL: http://codereview.chromium.org/28167 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10669 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/chrome_paths_win.cc')
-rw-r--r--chrome/common/chrome_paths_win.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/common/chrome_paths_win.cc b/chrome/common/chrome_paths_win.cc
index aab3182..52e8712 100644
--- a/chrome/common/chrome_paths_win.cc
+++ b/chrome/common/chrome_paths_win.cc
@@ -34,6 +34,20 @@ bool GetUserDocumentsDirectory(FilePath* result) {
return true;
}
+// On Vista, we can get the download path using a Win API
+// (http://msdn.microsoft.com/en-us/library/bb762584(VS.85).aspx),
+// but it can be set to Desktop, which is dangerous. Instead,
+// we just use 'Downloads' under DIR_USER_DOCUMENTS. Localizing
+// 'downloads' is not a good idea because Chrome's UI language
+// can be changed.
+bool GetUserDownloadsDirectory(FilePath* result) {
+ if (!GetUserDocumentsDirectory(result))
+ return false;
+
+ *result = result->Append(L"Downloads");
+ return true;
+}
+
bool GetUserDesktop(FilePath* result) {
// We need to go compute the value. It would be nice to support paths
// with names longer than MAX_PATH, but the system functions don't seem