Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(536)

Unified Diff: chrome/browser/conflicts/module_database_win.h

Issue 2854983002: Add the ThirdPartyModules.Uninstallable histogram. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698