Chromium Code Reviews| Index: ui/aura/mus/focus_synchronizer.h |
| diff --git a/ui/aura/mus/focus_synchronizer.h b/ui/aura/mus/focus_synchronizer.h |
| index cca9ebaf2e7a0a78b7ddd445f3f40f5c230e89b7..b2908cb7ce92fd54b188e95840a0025e20ce7136 100644 |
| --- a/ui/aura/mus/focus_synchronizer.h |
| +++ b/ui/aura/mus/focus_synchronizer.h |
| @@ -28,7 +28,12 @@ class FocusClient; |
| } |
| // FocusSynchronizer is resonsible for keeping focus in sync between aura |
| -// and the mus server. |
| +// and the mus server. FocusSynchronizer may be configured in two distinct |
|
msw
2017/04/26 23:01:08
Should riajiang@ or perkj@ review this or be CC'ed
sky
2017/04/26 23:30:28
I would have sent it to Ria, but she hasn't been a
|
| +// ways: |
| +// . SetSingletonFocusClient(). Use this when a single FocusClient is shared |
| +// among all windows and never changes. |
| +// . SetActiveFocusClient(). Use this when there may be more than one |
| +// FocusClient. |
| class AURA_EXPORT FocusSynchronizer : public client::FocusChangeObserver, |
| public WindowObserver { |
| public: |
| @@ -51,6 +56,11 @@ class AURA_EXPORT FocusSynchronizer : public client::FocusChangeObserver, |
| // Called when the focused window is destroyed. |
| void OnFocusedWindowDestroyed(); |
| + // Used when the focus client is shared among all windows. See class |
| + // description for details. |
| + void SetSingletonFocusClient(client::FocusClient* focus_client); |
| + bool is_singleton_focus_client() const { return is_singleton_focus_client_; } |
| + |
| // Sets the active FocusClient and the window the FocusClient is associated |
| // with. |focus_client_root| is not necessarily the window that actually has |
| // focus. |
| @@ -86,6 +96,8 @@ class AURA_EXPORT FocusSynchronizer : public client::FocusChangeObserver, |
| bool setting_focus_ = false; |
| WindowMus* window_setting_focus_to_ = nullptr; |
| + bool is_singleton_focus_client_ = false; |
| + |
| client::FocusClient* active_focus_client_ = nullptr; |
| // The window that |active_focus_client_| is associated with. |
| Window* active_focus_client_root_ = nullptr; |