| Index: extensions/browser/process_manager.h
|
| diff --git a/extensions/browser/process_manager.h b/extensions/browser/process_manager.h
|
| index 0ce67521235c1d64689e7df53eb713e47eb1bcf4..664c9420fde504a05d071e6de9a9a232722b57fa 100644
|
| --- a/extensions/browser/process_manager.h
|
| +++ b/extensions/browser/process_manager.h
|
| @@ -13,6 +13,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/observer_list.h"
|
| #include "base/time/time.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| @@ -32,6 +33,7 @@ namespace extensions {
|
|
|
| class Extension;
|
| class ExtensionHost;
|
| +class ProcessManagerObserver;
|
|
|
| // Manages dynamic state of running Chromium extensions. There is one instance
|
| // of this class per Profile. OTR Profiles have a separate instance that keeps
|
| @@ -51,6 +53,10 @@ class ProcessManager : public content::NotificationObserver {
|
| typedef std::set<content::RenderViewHost*> ViewSet;
|
| const ViewSet GetAllViews() const;
|
|
|
| + // The typical observer interface.
|
| + void AddObserver(ProcessManagerObserver* observer);
|
| + void RemoveObserver(ProcessManagerObserver* observer);
|
| +
|
| // Creates a new UI-less extension instance. Like CreateViewHost, but not
|
| // displayed anywhere. Returns false if no background host can be created,
|
| // for example for hosted apps and extensions that aren't enabled in
|
| @@ -238,6 +244,8 @@ class ProcessManager : public content::NotificationObserver {
|
| ImpulseCallbackForTesting keepalive_impulse_callback_for_testing_;
|
| ImpulseCallbackForTesting keepalive_impulse_decrement_callback_for_testing_;
|
|
|
| + ObserverList<ProcessManagerObserver> observer_list_;
|
| +
|
| base::WeakPtrFactory<ProcessManager> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ProcessManager);
|
|
|