| Index: chrome/browser/conflicts/module_info_win.h
|
| diff --git a/chrome/browser/conflicts/module_info_win.h b/chrome/browser/conflicts/module_info_win.h
|
| index 368bfd79f956b730d1c700565d793825967d9e7b..83bb446ceb5f1a999835939715e3e93a1d93c79b 100644
|
| --- a/chrome/browser/conflicts/module_info_win.h
|
| +++ b/chrome/browser/conflicts/module_info_win.h
|
| @@ -51,6 +51,10 @@ struct ModuleInfoData {
|
| ModuleInfoData(const ModuleInfoData& others);
|
| ~ModuleInfoData();
|
|
|
| + // Used to copy a ModuleInfoData returned by InspectModule() into an empty,
|
| + // existing one.
|
| + void CopyInspectionData(const ModuleInfoData& other);
|
| +
|
| // Set of all process types in which this module has been seen (may not be
|
| // currently present in a process of that type). This is a conversion of
|
| // ProcessType enumeration to a bitfield. See "ProcessTypeToBit" and
|
| @@ -60,6 +64,9 @@ struct ModuleInfoData {
|
| // The following pieces of information are determined via a detailed
|
| // inspection of the module.
|
|
|
| + // Indicates if the module has been inspected.
|
| + bool inspected;
|
| +
|
| // The module path, not including the basename. This is cleaned and normalized
|
| // so that common paths are converted to their environment variable mappings
|
| // (ie, %systemroot%). This makes i18n localized paths easily comparable.
|
| @@ -82,4 +89,24 @@ struct ModuleInfoData {
|
| CertificateInfo certificate_info;
|
| };
|
|
|
| +// Given a module identified by |module_key|, returns a populated ModuleInfoData
|
| +// that contains detailed information about the module on disk. This is a
|
| +// blocking task that requires access to disk.
|
| +ModuleInfoData InspectModule(const StringMapping& env_variable_mapping,
|
| + const ModuleInfoKey& module_key);
|
| +
|
| +namespace internal {
|
| +
|
| +// Normalizes the information already contained in |module_data|. In particular,
|
| +// - The path is split in 2 parts: The basename and the location.
|
| +// - If it uses commas, the version string is modified to use periods.
|
| +// - If there is one, the version string suffix is removed.
|
| +// - If there is one, the trailing null character in the subject string of the
|
| +// certificate info is removed.
|
| +//
|
| +// Exposed for testing.
|
| +void NormalizeModuleInfoData(ModuleInfoData* module_data);
|
| +
|
| +} // namespace internal
|
| +
|
| #endif // CHROME_BROWSER_CONFLICTS_MODULE_INFO_WIN_H_
|
|
|