summaryrefslogtreecommitdiffstats
path: root/chrome/common/chrome_paths_mac.mm
diff options
context:
space:
mode:
authorpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-03 20:23:04 +0000
committerpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-03 20:23:04 +0000
commit409993dec55a874e0659acf421a87070d450a262 (patch)
tree56569522458c403b04829d1ef803d5f93a888b2d /chrome/common/chrome_paths_mac.mm
parent32c147158f76e19aa22efa2a7b14d3f0e1e23a02 (diff)
downloadchromium_src-409993dec55a874e0659acf421a87070d450a262.zip
chromium_src-409993dec55a874e0659acf421a87070d450a262.tar.gz
chromium_src-409993dec55a874e0659acf421a87070d450a262.tar.bz2
Implement some chrome path getters for Mac OS and un-comment their uses in the download manager. Move chrome_paths_mac from a .cc to a .mm to allow Cocoa.
Review URL: http://codereview.chromium.org/39041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10820 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/chrome_paths_mac.mm')
-rw-r--r--chrome/common/chrome_paths_mac.mm61
1 files changed, 61 insertions, 0 deletions
diff --git a/chrome/common/chrome_paths_mac.mm b/chrome/common/chrome_paths_mac.mm
new file mode 100644
index 0000000..1e00bf9
--- /dev/null
+++ b/chrome/common/chrome_paths_mac.mm
@@ -0,0 +1,61 @@
+// Copyright (c) 2006-2008 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.
+
+#import "chrome/common/chrome_paths_internal.h"
+
+#import <Cocoa/Cocoa.h>
+
+#import "base/base_paths.h"
+#import "base/file_path.h"
+#import "base/logging.h"
+#import "base/path_service.h"
+
+namespace chrome {
+
+bool GetDefaultUserDataDirectory(FilePath* result) {
+ if (!PathService::Get(base::DIR_LOCAL_APP_DATA, result))
+ return false;
+ return true;
+}
+
+bool GetUserDocumentsDirectory(FilePath* result) {
+ bool success = false;
+ NSArray* docArray =
+ NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
+ NSUserDomainMask,
+ YES);
+ if ([docArray count] && result) {
+ *result = FilePath([[docArray objectAtIndex:0] fileSystemRepresentation]);
+ success = true;
+ }
+ return success;
+}
+
+bool GetUserDownloadsDirectory(FilePath* result) {
+ bool success = false;
+ NSArray* docArray =
+ NSSearchPathForDirectoriesInDomains(NSDownloadsDirectory,
+ NSUserDomainMask,
+ YES);
+ if ([docArray count] && result) {
+ *result = FilePath([[docArray objectAtIndex:0] fileSystemRepresentation]);
+ success = true;
+ }
+ return success;
+}
+
+bool GetUserDesktop(FilePath* result) {
+ bool success = false;
+ NSArray* docArray =
+ NSSearchPathForDirectoriesInDomains(NSDesktopDirectory,
+ NSUserDomainMask,
+ YES);
+ if ([docArray count] && result) {
+ *result = FilePath([[docArray objectAtIndex:0] fileSystemRepresentation]);
+ success = true;
+ }
+ return success;
+}
+
+} // namespace chrome