Chromium Code Reviews| Index: components/password_manager/core/browser/log_router.h |
| diff --git a/components/password_manager/core/browser/log_router.h b/components/password_manager/core/browser/log_router.h |
| index f959dbad20e0e1e5ef2a568b5c83a8f1d2a7a5a2..4279f90c86e4517f35c58e8300b4ac17738740a8 100644 |
| --- a/components/password_manager/core/browser/log_router.h |
| +++ b/components/password_manager/core/browser/log_router.h |
| @@ -13,17 +13,18 @@ |
| namespace password_manager { |
| +class LogManager; |
| class LogReceiver; |
| -class PasswordManagerClient; |
| -// The router stands between PasswordManagerClient instances and log receivers. |
| -// During the process of saving a password, the password manager code generates |
| -// the log strings, and passes them to the router. The router distributes the |
| -// logs to the receivers for displaying. |
| +// The router stands between LogManager and LogReceiver instances. Both managers |
| +// and receivers need to register (and unregister) with the router. After that, |
| +// the following communication is enabled: |
| +// * LogManagers are notified when logging starts or stops being possible |
| +// * LogReceivers are sent logs routed through LogRouter |
| class LogRouter { |
| public: |
| LogRouter(); |
| - virtual ~LogRouter(); |
| + ~LogRouter(); |
| // Passes logs to the router. Only call when there are receivers registered. |
| void ProcessLog(const std::string& text); |
| @@ -32,12 +33,12 @@ class LogRouter { |
| // constructor of the registered object, because they do not call that object, |
| // and the router only runs on a single thread. |
|
vasilii
2015/11/12 16:27:34
I don't understand this comment, especially the th
vabr (Chromium)
2015/11/12 21:55:43
The dangerous situation would be when the object w
|
| - // The clients must register to be notified about whether there are some |
| - // receivers or not. RegisterClient adds |client| to the right observer list |
| + // The managers must register to be notified about whether there are some |
| + // receivers or not. RegisterManager adds |manager| to the right observer list |
| // and returns true iff there are some receivers registered. |
| - bool RegisterClient(PasswordManagerClient* client); |
| - // Remove |client| from the observers list. |
| - void UnregisterClient(PasswordManagerClient* client); |
| + bool RegisterManager(LogManager* manager); |
| + // Remove |manager| from the observers list. |
| + void UnregisterManager(LogManager* manager); |
| // The receivers must register to get updates with new logs in the future. |
| // RegisterReceiver adds |receiver| to the right observer list, and returns |
| @@ -48,10 +49,10 @@ class LogRouter { |
| void UnregisterReceiver(LogReceiver* receiver); |
| private: |
| - // Observer lists for clients and receivers. The |true| in the template |
| + // Observer lists for managers and receivers. The |true| in the template |
| // specialisation means that they will check that all observers were removed |
| // on destruction. |
| - base::ObserverList<PasswordManagerClient, true> clients_; |
| + base::ObserverList<LogManager, true> managers_; |
| base::ObserverList<LogReceiver, true> receivers_; |
| // Logs accumulated since the first receiver was registered. |