summaryrefslogtreecommitdiffstats
path: root/chrome/common
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
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')
-rw-r--r--chrome/common/chrome_paths_mac.cc38
-rw-r--r--chrome/common/chrome_paths_mac.mm61
2 files changed, 61 insertions, 38 deletions
diff --git a/chrome/common/chrome_paths_mac.cc b/chrome/common/chrome_paths_mac.cc
deleted file mode 100644
index ebc9876..0000000
--- a/chrome/common/chrome_paths_mac.cc
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-
-#include "chrome/common/chrome_paths_internal.h"
-
-#include "base/base_paths.h"
-#include "base/file_path.h"
-#include "base/logging.h"
-#include "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) {
- // TODO(port)
- NOTIMPLEMENTED();
- return false;
-}
-
-bool GetUserDownloadsDirectory(FilePath* result) {
- // TODO(port)
- NOTIMPLEMENTED();
- return false;
-}
-
-bool GetUserDesktop(FilePath* result) {
- // TODO(port)
- NOTIMPLEMENTED();
- return false;
-}
-
-} // namespace chrome
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