| 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 module ui.mojom; | 5 module ui.mojom; |
| 6 | 6 |
| 7 import "mojo/common/text_direction.mojom"; | 7 import "mojo/common/text_direction.mojom"; |
| 8 import "ui/events/mojo/event.mojom"; | 8 import "ui/events/mojo/event.mojom"; |
| 9 import "ui/gfx/geometry/mojo/geometry.mojom"; | 9 import "ui/gfx/geometry/mojo/geometry.mojom"; |
| 10 import "ui/gfx/range/mojo/range.mojom"; | 10 import "ui/gfx/range/mojo/range.mojom"; |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 mojo.common.mojom.TextDirection text_direction; | 123 mojo.common.mojom.TextDirection text_direction; |
| 124 int32 text_input_flags; | 124 int32 text_input_flags; |
| 125 gfx.mojom.Rect caret_bounds; | 125 gfx.mojom.Rect caret_bounds; |
| 126 }; | 126 }; |
| 127 | 127 |
| 128 // A service which provides the IMEDriver interface is responsible for doing | 128 // A service which provides the IMEDriver interface is responsible for doing |
| 129 // the composition logic. After starting a session, it receives events from | 129 // the composition logic. After starting a session, it receives events from |
| 130 // the client via the InputMethod interface, and sends composition events to | 130 // the client via the InputMethod interface, and sends composition events to |
| 131 // the client via the TextInputClient. | 131 // the client via the TextInputClient. |
| 132 interface IMEDriver { | 132 interface IMEDriver { |
| 133 // session_id is unique and generated by Mus. | |
| 134 StartSession(int32 session_id, StartSessionDetails details); | |
| 135 CancelSession(int32 session_id); | |
| 136 }; | |
| 137 | |
| 138 // Clients use IME using the IMEServer interface which is provided by Mus. Mus | |
| 139 // does minimal processing and mostly just acts as lightweight proxy between | |
| 140 // the client app and the registered IME driver. | |
| 141 interface IMEServer { | |
| 142 StartSession(StartSessionDetails details); | 133 StartSession(StartSessionDetails details); |
| 143 }; | 134 }; |
| 144 | 135 |
| 145 // An IME driver register should register itself to Mus using the IMERegistrar | 136 // An IME driver register should register itself to Mus using the IMERegistrar |
| 146 // interface. | 137 // interface. |
| 147 interface IMERegistrar { | 138 interface IMERegistrar { |
| 148 RegisterDriver(IMEDriver driver); | 139 RegisterDriver(IMEDriver driver); |
| 149 }; | 140 }; |
| 150 | 141 |
| 151 // A client sends updates to the IME driver using the InputMethod interface. | 142 // A client sends updates to the IME driver using the InputMethod interface. |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 // the character is not processed. See ui::TextInputClient::InsertChar() | 183 // the character is not processed. See ui::TextInputClient::InsertChar() |
| 193 // for more details. | 184 // for more details. |
| 194 InsertChar(ui.mojom.Event event); | 185 InsertChar(ui.mojom.Event event); |
| 195 | 186 |
| 196 // TODO(moshayedi): Add functions corresponding to ui::TextInputClient for: | 187 // TODO(moshayedi): Add functions corresponding to ui::TextInputClient for: |
| 197 // - Input context information | 188 // - Input context information |
| 198 // - Document content operations | 189 // - Document content operations |
| 199 // - Miscellaneous functions | 190 // - Miscellaneous functions |
| 200 // crbug.com/631527. | 191 // crbug.com/631527. |
| 201 }; | 192 }; |
| OLD | NEW |