| OLD | NEW | 
|   1 // Copyright 2016 The Chromium Authors. All rights reserved. |   1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef UI_AURA_MUS_TEXT_INPUT_CLIENT_IMPL_H_ |   5 #ifndef UI_AURA_MUS_TEXT_INPUT_CLIENT_IMPL_H_ | 
|   6 #define UI_AURA_MUS_TEXT_INPUT_CLIENT_IMPL_H_ |   6 #define UI_AURA_MUS_TEXT_INPUT_CLIENT_IMPL_H_ | 
|   7  |   7  | 
|   8 #include "mojo/public/cpp/bindings/binding.h" |   8 #include "mojo/public/cpp/bindings/binding.h" | 
|   9 #include "services/ui/public/interfaces/ime.mojom.h" |   9 #include "services/ui/public/interfaces/ime/ime.mojom.h" | 
 |  10 #include "ui/base/ime/composition_text.h" | 
|  10  |  11  | 
|  11 namespace ui { |  12 namespace ui { | 
|  12 class TextInputClient; |  13 class TextInputClient; | 
|  13 } |  14 } | 
|  14  |  15  | 
|  15 namespace aura { |  16 namespace aura { | 
|  16  |  17  | 
|  17 // TextInputClientImpl receieves updates from IME drivers over Mojo IPC, and |  18 // TextInputClientImpl receieves updates from IME drivers over Mojo IPC, and | 
|  18 // notifies the underlying ui::TextInputClient accordingly. |  19 // notifies the underlying ui::TextInputClient accordingly. | 
|  19 class TextInputClientImpl : public ui::mojom::TextInputClient { |  20 class TextInputClientImpl : public ui::mojom::TextInputClient { | 
|  20  public: |  21  public: | 
|  21   explicit TextInputClientImpl(ui::TextInputClient* text_input_client); |  22   explicit TextInputClientImpl(ui::TextInputClient* text_input_client); | 
|  22   ~TextInputClientImpl() override; |  23   ~TextInputClientImpl() override; | 
|  23  |  24  | 
|  24   ui::mojom::TextInputClientPtr CreateInterfacePtrAndBind(); |  25   ui::mojom::TextInputClientPtr CreateInterfacePtrAndBind(); | 
|  25  |  26  | 
|  26  private: |  27  private: | 
|  27   // ui::mojom::TextInputClient: |  28   // ui::mojom::TextInputClient: | 
|  28   void OnCompositionEvent(ui::mojom::CompositionEventPtr event) override; |  29   void SetCompositionText(const ui::CompositionText& composition) override; | 
 |  30   void ConfirmCompositionText() override; | 
 |  31   void ClearCompositionText() override; | 
 |  32   void InsertText(const std::string& text) override; | 
 |  33   void InsertChar(std::unique_ptr<ui::Event> event) override; | 
|  29  |  34  | 
|  30   ui::TextInputClient* text_input_client_; |  35   ui::TextInputClient* text_input_client_; | 
|  31   mojo::Binding<ui::mojom::TextInputClient> binding_; |  36   mojo::Binding<ui::mojom::TextInputClient> binding_; | 
|  32  |  37  | 
|  33   DISALLOW_COPY_AND_ASSIGN(TextInputClientImpl); |  38   DISALLOW_COPY_AND_ASSIGN(TextInputClientImpl); | 
|  34 }; |  39 }; | 
|  35  |  40  | 
|  36 }  // namespace aura |  41 }  // namespace aura | 
|  37  |  42  | 
|  38 #endif  // UI_AURA_MUS_TEXT_INPUT_CLIENT_IMPL_H_ |  43 #endif  // UI_AURA_MUS_TEXT_INPUT_CLIENT_IMPL_H_ | 
| OLD | NEW |