Skip to content

Commit

Permalink
Revert 82686 - Extend PathService::Get to be able to return the X86 p…
Browse files Browse the repository at this point in the history
…rogram 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=82567Review URL: http://codereview.chromium.org/6873159

TBR=abodenha@chromium.org
Review URL: http://codereview.chromium.org/6880147

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82699 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
abodenha@google.com committed Apr 22, 2011
1 parent dc2f9f5 commit 5fd6433
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
8 changes: 1 addition & 7 deletions base/base_paths_win.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Copyright (c) 2010 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.

Expand Down Expand Up @@ -55,12 +55,6 @@ bool PathProviderWin(int key, FilePath* result) {
return false;
cur = FilePath(system_buffer);
break;
case base::DIR_PROGRAM_FILESX86:
if (FAILED(SHGetFolderPath(NULL, CSIDL_PROGRAM_FILESX86, NULL,
SHGFP_TYPE_CURRENT, system_buffer)))
return false;
cur = FilePath(system_buffer);
break;
case base::DIR_IE_INTERNET_CACHE:
if (FAILED(SHGetFolderPath(NULL, CSIDL_INTERNET_CACHE, NULL,
SHGFP_TYPE_CURRENT, system_buffer)))
Expand Down
5 changes: 2 additions & 3 deletions base/base_paths_win.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// 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.

Expand All @@ -17,8 +17,7 @@ enum {

DIR_WINDOWS, // Windows directory, usually "c:\windows"
DIR_SYSTEM, // Usually c:\windows\system32"
DIR_PROGRAM_FILES, // Usually c:\program files
DIR_PROGRAM_FILESX86, // Usually c:\program files or c:\program files (x86)
DIR_PROGRAM_FILES, // Usually c:\program files

DIR_IE_INTERNET_CACHE, // Temporary Internet Files directory.
DIR_COMMON_START_MENU, // Usually "C:\Documents and Settings\All Users\
Expand Down
11 changes: 10 additions & 1 deletion cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,16 @@ bool GetChromeExePath(FilePath* chrome_path) {

// Chrome doesn't appear to be installed per user.
// Now check %programfiles(x86)%\google\chrome\application
PathService::Get(base::DIR_PROGRAM_FILESX86, &path);
// TODO(abodenha@chromium.org) Extend PathService::Get to be able to
// return the X86 program files path. At a minimum, use SHGetKnownFolderPath
// instead.
wchar_t system_buffer[MAX_PATH] = L"";
SHGetFolderPath(NULL,
CSIDL_PROGRAM_FILESX86,
NULL,
SHGFP_TYPE_CURRENT,
system_buffer);
path = FilePath(system_buffer);
path = path.Append(kChromeExePath);
if (file_util::PathExists(path)) {
*chrome_path = FilePath(path.value());
Expand Down

0 comments on commit 5fd6433

Please sign in to comment.