summaryrefslogtreecommitdiffstats
path: root/chrome/common/chrome_paths_mac.mm
diff options
context:
space:
mode:
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