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..c3ba9eb7db6c7fd76b0d9b2b71cbccf08478f1c8 |
--- /dev/null |
+++ b/chrome/browser/install_module_verifier_win.h |
@@ -0,0 +1,49 @@ |
+// 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 <utility> |
sky
2013/10/04 19:21:54
nit: sort
erikwright (departed)
2013/10/04 20:39:38
Done.
|
+#include <set> |
+#include <string> |
+#include <vector> |
+ |
+#include "base/callback_forward.h" |
+#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 reports results via the |
+// supplied callback. Each reported ID corresponds to a found, expected module. |
+void VerifyModules(const std::set<std::string>& module_name_digests, |
+ const AdditionalModules& additional_modules, |
+ const base::Callback<void(size_t)>& delegate); |
+ |
+// 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 \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_ |