diff options
author | abodenha@chromium.org <abodenha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-25 18:03:12 +0000 |
---|---|---|
committer | abodenha@chromium.org <abodenha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-25 18:03:12 +0000 |
commit | 9759ffc1dc10e904d1819612307adadccf6cfd1f (patch) | |
tree | 10095efda6686734efe6939c64be163e5abd32c4 /base/base_paths_win.cc | |
parent | 0a87625cee1d5839674646c447753f64d0bf66f4 (diff) | |
download | chromium_src-9759ffc1dc10e904d1819612307adadccf6cfd1f.zip chromium_src-9759ffc1dc10e904d1819612307adadccf6cfd1f.tar.gz chromium_src-9759ffc1dc10e904d1819612307adadccf6cfd1f.tar.bz2 |
Extend PathService::Get to be able to return the X86 program files path.
Cloud print's virtual driver needs this to be able to find the Chrome install directory. Since the port monitor is a 64 bit DLL on 64 bit Windows it needs to request the X86 folder explicitly.
BUG=
TEST=
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82567
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82686
Review URL: http://codereview.chromium.org/6873159
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82891 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/base_paths_win.cc')
-rw-r--r-- | base/base_paths_win.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/base/base_paths_win.cc b/base/base_paths_win.cc index 25271e4..b29a991 100644 --- a/base/base_paths_win.cc +++ b/base/base_paths_win.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -49,6 +49,16 @@ bool PathProviderWin(int key, FilePath* result) { GetSystemDirectory(system_buffer, MAX_PATH); cur = FilePath(system_buffer); break; + case base::DIR_PROGRAM_FILESX86: + if (base::win::OSInfo::GetInstance()->architecture() != + base::win::OSInfo::X86_ARCHITECTURE) { + if (FAILED(SHGetFolderPath(NULL, CSIDL_PROGRAM_FILESX86, NULL, + SHGFP_TYPE_CURRENT, system_buffer))) + return false; + cur = FilePath(system_buffer); + break; + } + // Fall through to base::DIR_PROGRAM_FILES if we're on an X86 machine. case base::DIR_PROGRAM_FILES: if (FAILED(SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, SHGFP_TYPE_CURRENT, system_buffer))) |