diff options
author | wjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-20 01:59:36 +0000 |
---|---|---|
committer | wjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-20 01:59:36 +0000 |
commit | 1f4ae1659132f11a99e4425efdc517838e21b7ae (patch) | |
tree | d5839b4906f43c1dff10e96f6eaa453d4334f0ae /base/base_paths_mac.mm | |
parent | 5e63aededfd66dd694e68619051153439f0016b1 (diff) | |
download | chromium_src-1f4ae1659132f11a99e4425efdc517838e21b7ae.zip chromium_src-1f4ae1659132f11a99e4425efdc517838e21b7ae.tar.gz chromium_src-1f4ae1659132f11a99e4425efdc517838e21b7ae.tar.bz2 |
Revert 157667 - Add new PathService paths for Windows' All Users Desktop and Quick Launch folders.
The previous patch failed PathServiceTest.Get.
This allows usage of PathService to cache the paths and more importantly to mock them in shortcut tests!
Also move chrome::DIR_USER_DESKTOP to base::DIR_USER_DESKTOP; this is really where it belongs. In fact it is only in chrome_paths.h because it used to be called DIR_DEFAULT_DOWNLOAD and cpu@ renamed it to DIR_USER_DESKTOP in http://crrev.com/1753 (early days!) after that it started to be used all over the place as the Desktop path. Finally bringing it to base_paths.h, beside DIR_START_MENU and friends, is the right thing to do imo.
BUG=148539
TEST=Quick Launch shortcut installed in the right place on XP (both Default and current user)
Desktop shortcuts installed in the right place (both All Users and per-user installs).
installer_util_unittests.exe --gtest_filter=ShellUtilShortcutTest*
unit_tests.exe --gtest_filter=ProfileShortcutManagerTest*
base_unittests --gtest_filter=PathServiceTest*
Review URL: https://chromiumcodereview.appspot.com/10910209
TBR=gab@chromium.org
Review URL: https://codereview.chromium.org/10958009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157680 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/base_paths_mac.mm')
-rw-r--r-- | base/base_paths_mac.mm | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/base/base_paths_mac.mm b/base/base_paths_mac.mm index 2227d7d..14d1c20 100644 --- a/base/base_paths_mac.mm +++ b/base/base_paths_mac.mm @@ -2,14 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Defines base::PathProviderMac which replaces base::PathProviderPosix for Mac -// in base/path_service.cc. +#include "base/base_paths_mac.h" #include <dlfcn.h> #import <Foundation/Foundation.h> #include <mach-o/dyld.h> -#include "base/base_paths.h" #include "base/compiler_specific.h" #include "base/file_path.h" #include "base/file_util.h" @@ -17,7 +15,6 @@ #include "base/mac/foundation_util.h" #include "base/path_service.h" #include "base/string_util.h" -#include "build/build_config.h" namespace { @@ -60,6 +57,8 @@ bool PathProviderMac(int key, FilePath* result) { case base::FILE_MODULE: return GetModulePathForAddress(result, reinterpret_cast<const void*>(&base::PathProviderMac)); + case base::DIR_CACHE: + return base::mac::GetUserDirectory(NSCachesDirectory, result); case base::DIR_APP_DATA: { bool success = base::mac::GetUserDirectory(NSApplicationSupportDirectory, result); @@ -70,7 +69,7 @@ bool PathProviderMac(int key, FilePath* result) { #endif // defined(OS_IOS) return success; } - case base::DIR_SOURCE_ROOT: + case base::DIR_SOURCE_ROOT: { // Go through PathService to catch overrides. if (!PathService::Get(base::FILE_EXE, result)) return false; @@ -91,13 +90,11 @@ bool PathProviderMac(int key, FilePath* result) { } #endif return true; - case base::DIR_USER_DESKTOP: - return base::mac::GetUserDirectory(NSDesktopDirectory, result); - case base::DIR_CACHE: - return base::mac::GetUserDirectory(NSCachesDirectory, result); - case base::DIR_HOME: + } + case base::DIR_HOME: { *result = base::mac::NSStringToFilePath(NSHomeDirectory()); return true; + } default: return false; } |