Index: chrome/browser/conflicts/module_database_win.h |
diff --git a/chrome/browser/conflicts/module_database_win.h b/chrome/browser/conflicts/module_database_win.h |
index 6d75733725cad5f24eb1c237a415d3489fac2de6..cf4ce5f42e476090f8d4d2b9c51293c297728d18 100644 |
--- a/chrome/browser/conflicts/module_database_win.h |
+++ b/chrome/browser/conflicts/module_database_win.h |
@@ -13,11 +13,15 @@ |
#include "base/files/file_path.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/observer_list.h" |
#include "base/sequenced_task_runner.h" |
#include "chrome/browser/conflicts/module_info_win.h" |
#include "chrome/browser/conflicts/module_inspector_win.h" |
+#include "chrome/browser/conflicts/third_party_metrics_recorder_win.h" |
#include "content/public/common/process_type.h" |
+class ModuleDatabaseObserver; |
+ |
// A class that keeps track of all modules loaded across Chrome processes. |
// Drives the chrome://conflicts UI. |
// |
@@ -88,6 +92,10 @@ class ModuleDatabase { |
// TODO(chrisha): Module analysis code, and various accessors for use by |
// chrome://conflicts. |
+ // Adds or removes an observer. |
+ void AddObserver(ModuleDatabaseObserver* observer); |
+ void RemoveObserver(ModuleDatabaseObserver* observer); |
+ |
private: |
friend class TestModuleDatabase; |
friend class ModuleDatabaseTest; |
@@ -161,6 +169,10 @@ class ModuleDatabase { |
// them. |
ProcessMap processes_; |
+ base::ObserverList<ModuleDatabaseObserver> observer_list_; |
+ |
+ ThirdPartyMetricsRecorder third_party_metrics_; |
+ |
// Weak pointer factory for this object. This is used when bouncing |
// incoming events to |task_runner_|. |
base::WeakPtrFactory<ModuleDatabase> weak_ptr_factory_; |