diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 06:01:16 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 06:01:16 +0000 |
commit | 75b6805083c906bb17192a738b311bd21791e9f8 (patch) | |
tree | bce38efec20d50a7ef55a694f58036ae365d5e0a /chrome/browser/enumerate_modules_model_win.cc | |
parent | 2aa8b71eb688aa13a4f745027bcd4bb726bf6663 (diff) | |
download | chromium_src-75b6805083c906bb17192a738b311bd21791e9f8.zip chromium_src-75b6805083c906bb17192a738b311bd21791e9f8.tar.gz chromium_src-75b6805083c906bb17192a738b311bd21791e9f8.tar.bz2 |
Cross-platform CL to remove app/win/win_util.h&cc and related work.
See Issue 70141 for the full move details; see my inline review comments.
Changes significantly different from or beyond those prescribed by the bug:
*Consolidated a lot of GrabWindowSnapshot code.
*Moved EnsureRectIsVisibleInRect to views::internal namespace for test access.
*Moved app/win/win_util_unittest.cc to views/window/window_win_unittest.h
*Named ui/base/message_box_win.h instead of ui/base/message_box.h
*Made WindowWin::GetWindowTitleFont static; needed in static contexts.
*Denoted WindowWin::FrameTypeChanged as a Window override, moved code.
*Moved TestGrabWindowSnapshot into new file: chrome/browser/ui/window_snapshot/window_snapshot_mac_unittest.mm
BUG=70141
TEST=none
Review URL: http://codereview.chromium.org/6386009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73589 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/enumerate_modules_model_win.cc')
-rw-r--r-- | chrome/browser/enumerate_modules_model_win.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/chrome/browser/enumerate_modules_model_win.cc b/chrome/browser/enumerate_modules_model_win.cc index acfed88..bd2cc51 100644 --- a/chrome/browser/enumerate_modules_model_win.cc +++ b/chrome/browser/enumerate_modules_model_win.cc @@ -7,7 +7,6 @@ #include <Tlhelp32.h> #include <wintrust.h> -#include "app/win/win_util.h" #include "base/command_line.h" #include "base/environment.h" #include "base/file_path.h" @@ -75,8 +74,23 @@ struct FindModule { const ModuleEnumerator::Module& module; }; +// Returns the long path name given a short path name. A short path name is a +// path that follows the 8.3 convention and has ~x in it. If the path is already +// a long path name, the function returns the current path without modification. +bool ConvertToLongPath(const string16& short_path, string16* long_path) { + wchar_t long_path_buf[MAX_PATH]; + DWORD return_value = GetLongPathName(short_path.c_str(), long_path_buf, + MAX_PATH); + if (return_value != 0 && return_value < MAX_PATH) { + *long_path = long_path_buf; + return true; + } + + return false; } +} // namespace + // The browser process module blacklist. This lists modules that are known // to cause compatibility issues within the browser process. When adding to this // list, make sure that all paths are lower-case, in long pathname form, end @@ -220,7 +234,7 @@ static void GenerateHash(const std::string& input, std::string* output) { // static void ModuleEnumerator::NormalizeModule(Module* module) { string16 path = module->location; - if (!app::win::ConvertToLongPath(path, &module->location)) + if (!ConvertToLongPath(path, &module->location)) module->location = path; module->location = l10n_util::ToLower(module->location); |