| Index: chrome/browser/install_module_verifier_win.h
|
| diff --git a/chrome/browser/install_module_verifier_win.h b/chrome/browser/install_module_verifier_win.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3ce88cfb04f4f0e5441f5607c7c54e1e9205d278
|
| --- /dev/null
|
| +++ b/chrome/browser/install_module_verifier_win.h
|
| @@ -0,0 +1,48 @@
|
| +// Copyright (c) 2013 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.
|
| +
|
| +#ifndef CHROME_BROWSER_INSTALL_MODULE_VERIFIER_WIN_H_
|
| +#define CHROME_BROWSER_INSTALL_MODULE_VERIFIER_WIN_H_
|
| +
|
| +#include <set>
|
| +#include <string>
|
| +#include <utility>
|
| +#include <vector>
|
| +
|
| +#include "base/strings/string_piece.h"
|
| +
|
| +namespace base {
|
| +class ListValue;
|
| +} // namespace base
|
| +
|
| +typedef std::vector<std::pair<size_t, base::StringPiece> > AdditionalModules;
|
| +
|
| +// Starts a background process to verify installed modules. Results are reported
|
| +// via UMA.
|
| +void BeginModuleVerification();
|
| +
|
| +// Converts a list of modules descriptions extracted from EnumerateModulesModel
|
| +// into a list of loaded module name digests.
|
| +void ExtractLoadedModuleNameDigests(
|
| + const base::ListValue& module_list,
|
| + std::set<std::string>* loaded_module_name_digests);
|
| +
|
| +// Verifies a list of installed module name digests and inserts installed module
|
| +// IDs into the supplied set.
|
| +void VerifyModules(const std::set<std::string>& module_name_digests,
|
| + const AdditionalModules& additional_modules,
|
| + std::set<size_t>* installed_module_ids);
|
| +
|
| +// Parses a list of additional modules to verify. The data format is a series of
|
| +// lines. Each line starts with a decimal ID, then a module name digest,
|
| +// separated by a space. Lines are terminated by \r and/or \n. The result is a
|
| +// vector of pairs where the first value is an ID and the second value is the
|
| +// corresponding module name digest. The StringPieces use the same underlying
|
| +// storage as |raw_data|.
|
| +//
|
| +// Invalid lines are ignored.
|
| +void ParseAdditionalModules(const base::StringPiece& raw_data,
|
| + AdditionalModules* additional_modules);
|
| +
|
| +#endif // CHROME_BROWSER_INSTALL_MODULE_VERIFIER_WIN_H_
|
|
|