| Index: chrome/browser/lifetime/keep_alive_registry.h
|
| diff --git a/chrome/browser/lifetime/keep_alive_registry.h b/chrome/browser/lifetime/keep_alive_registry.h
|
| index cd0d4128b71adb002eaae3d026523131524b328e..5bb6cbe4c7f1c39495b6cbd3f84f359b516bcb24 100644
|
| --- a/chrome/browser/lifetime/keep_alive_registry.h
|
| +++ b/chrome/browser/lifetime/keep_alive_registry.h
|
| @@ -15,16 +15,23 @@ enum class KeepAliveOrigin;
|
| enum class KeepAliveRestartOption;
|
| class KeepAliveStateObserver;
|
|
|
| +// Centralized registry that objects in the browser can use to
|
| +// express their requirements wrt the lifetime of the browser.
|
| +// Observers registered with it can then react as those requirements
|
| +// change.
|
| +// In particular, this is how the browser process knows when to stop
|
| +// or stay alive.
|
| +// Note: BrowserProcessImpl registers to react on changes.
|
| +// TestingBrowserProcess does not do it, meaning that the shutdown
|
| +// sequence does not happen during unit tests.
|
| class KeepAliveRegistry {
|
| public:
|
| static KeepAliveRegistry* GetInstance();
|
|
|
| // Methods to query the state of the registry.
|
| - // TODO(dgn): This currently does not give a complete picture. It has no
|
| - // information about the many places that rely on AddRefModule to keep the
|
| - // browser alive. Tracked by https://crbug.com/587926
|
| bool IsKeepingAlive() const;
|
| bool IsRestartAllowed() const;
|
| + bool IsOriginRegistered(KeepAliveOrigin origin) const;
|
|
|
| void AddObserver(KeepAliveStateObserver* observer);
|
| void RemoveObserver(KeepAliveStateObserver* observer);
|
| @@ -44,7 +51,7 @@ class KeepAliveRegistry {
|
| void Unregister(KeepAliveOrigin origin, KeepAliveRestartOption restart);
|
|
|
| // Methods called when a specific aspect of the state of the registry changes.
|
| - void OnKeepingAliveChanged(bool new_keeping_alive);
|
| + void OnKeepAliveStateChanged(bool new_keeping_alive);
|
| void OnRestartAllowedChanged(bool new_restart_allowed);
|
|
|
| // Tracks the registered KeepAlives, storing the origin and the number of
|
|
|