Chromium Code Reviews| Index: chrome/browser/conflicts/module_info_util_win.h |
| diff --git a/chrome/browser/conflicts/module_info_util_win.h b/chrome/browser/conflicts/module_info_util_win.h |
| index 9b3e51819fbcebbe5db11eac745482bcb25e669c..4efbaea6a2853876bfac817d50c19c1badd6e5e2 100644 |
| --- a/chrome/browser/conflicts/module_info_util_win.h |
| +++ b/chrome/browser/conflicts/module_info_util_win.h |
| @@ -5,6 +5,9 @@ |
| #ifndef CHROME_BROWSER_CONFLICTS_MODULE_INFO_UTIL_WIN_H_ |
| #define CHROME_BROWSER_CONFLICTS_MODULE_INFO_UTIL_WIN_H_ |
| +#include <utility> |
| +#include <vector> |
| + |
| #include "base/files/file_path.h" |
| #include "base/strings/string16.h" |
| @@ -40,4 +43,21 @@ struct CertificateInfo { |
| void GetCertificateInfo(const base::FilePath& file, |
| CertificateInfo* certificate_info); |
| +// Returns a mapping of the value of an environment variable to its name. |
| +// Removes any existing trailing backslash in the values. |
| +// |
| +// e.g. c:\windows\system32 -> %systemroot% |
| +using StringMapping = std::vector<std::pair<base::string16, base::string16>>; |
| +StringMapping GetEnvironmentVariablesMapping( |
| + const std::vector<base::string16>& environment_variables); |
| + |
| +// If |prefix_mapping| contains a matching prefix with |path|, substitutes that |
| +// prefix with its associated value. If multiple matches are found, the longest |
| +// prefix is chosen. Unmodified if no matches are found. |
| +// |
| +// This function expects |prefix_mapping| and |path| to contain lowercase |
| +// strings. Also, |prefix_mapping| must not contain any trailling backslashes. |
|
chrisha
2017/03/04 15:54:16
trailing*
Patrick Monette
2017/03/06 16:39:47
Done.
|
| +void CollapseMatchingPrefixInPath(const StringMapping& prefix_mapping, |
| + base::string16* path); |
| + |
| #endif // CHROME_BROWSER_CONFLICTS_MODULE_INFO_UTIL_WIN_H_ |