Chromium Code Reviews| Index: ui/base/ime/text_input_focus_manager.h |
| diff --git a/ui/base/ime/text_input_focus_manager.h b/ui/base/ime/text_input_focus_manager.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..54d66944c8c370822f5bef2f4bd2afbc1f6d89af |
| --- /dev/null |
| +++ b/ui/base/ime/text_input_focus_manager.h |
| @@ -0,0 +1,47 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef UI_BASE_IME_TEXT_INPUT_FOCUS_MANAGER_H_ |
| +#define UI_BASE_IME_TEXT_INPUT_FOCUS_MANAGER_H_ |
| + |
| +#include "base/macros.h" |
| +#include "ui/base/ui_base_export.h" |
| + |
| +template <typename T> struct DefaultSingletonTraits; |
| + |
| +namespace ui { |
| + |
| +class TextInputClient; |
| + |
| +// The TextInputFocusManager class manages which instance of TextInputClient |
|
msw
2014/03/11 00:58:50
nit: remove "The TextInputFocusManager class"; con
Yuki
2014/03/11 15:27:37
Done.
|
| +// has the text input focus. |
| +class UI_BASE_EXPORT TextInputFocusManager { |
| + public: |
| + virtual ~TextInputFocusManager(); |
|
msw
2014/03/11 00:58:50
nit: I don't think this needs to be virtual or pub
Yuki
2014/03/11 15:27:37
Done.
|
| + |
| + static TextInputFocusManager* GetInstance(); |
| + |
| + // Returns the currently focused text input client or NULL. |
| + TextInputClient* GetFocusedTextInputClient(); |
| + |
| + // Changes the text input focus to |text_input_client|. |
| + void SetFocusedTextInputClient(TextInputClient* text_input_client); |
|
msw
2014/03/11 00:58:50
nit: consider "FocusTextInputClient"
Yuki
2014/03/11 15:27:37
Done.
|
| + |
| + // Removes the text input focus from |text_input_client|. If |
| + // |text_input_client| was not focused, does nothing. |
| + void UnsetFocusedTextInputClient(TextInputClient* text_input_client); |
|
msw
2014/03/11 00:58:50
nit: consider "BlurTextInputClient" or "UnfocusTex
Yuki
2014/03/11 15:27:37
Done.
|
| + |
| + private: |
| + TextInputFocusManager(); |
| + |
| + TextInputClient* focused_text_input_client_; |
|
msw
2014/03/11 00:58:50
Is this better than views::FocusManager having a s
Yuki
2014/03/11 15:27:37
ui::InputMethod cannot access to views. ui::Input
msw
2014/03/11 23:24:37
Sounds good.
|
| + |
| + friend struct DefaultSingletonTraits<TextInputFocusManager>; |
|
msw
2014/03/11 00:58:50
nit: friend types are commonly declared at the top
Yuki
2014/03/11 15:27:37
Done.
|
| + |
| + DISALLOW_COPY_AND_ASSIGN(TextInputFocusManager); |
| +}; |
| + |
| +} // namespace ui |
| + |
| +#endif // UI_BASE_IME_TEXT_INPUT_FOCUS_MANAGER_H_ |