Index: services/ui/public/interfaces/ime/ime.mojom |
diff --git a/services/ui/public/interfaces/ime/ime.mojom b/services/ui/public/interfaces/ime/ime.mojom |
index d999b3353a4b1f2c313a919b69cb7d4196b8f17a..6fe2675e425d11b6fc0e773b00f6927fef3709e7 100644 |
--- a/services/ui/public/interfaces/ime/ime.mojom |
+++ b/services/ui/public/interfaces/ime/ime.mojom |
@@ -4,6 +4,7 @@ |
module ui.mojom; |
+import "mojo/common/rtl.mojom"; |
import "ui/events/mojo/event.mojom"; |
import "ui/gfx/geometry/mojo/geometry.mojom"; |
import "ui/gfx/range/mojo/range.mojom"; |
@@ -70,8 +71,8 @@ enum TextInputMode { |
// the client via the TextInputClient. |
interface IMEDriver { |
// session_id is unique and generated by Mus. |
- StartSession(int32 session_id, TextInputClient client, |
- InputMethod& input_method); |
+ StartSession(int32 session_id, TextInputClientInformation client_info, |
+ TextInputClient client, InputMethod& input_method); |
CancelSession(int32 session_id); |
}; |
@@ -79,7 +80,7 @@ interface IMEDriver { |
// does minimal processing and mostly just acts as lightweight proxy between |
// the client app and the registered IME driver. |
interface IMEServer { |
- StartSession(TextInputClient client, |
+ StartSession(TextInputClientInformation client_info, TextInputClient client, |
InputMethod& input_method); |
}; |
@@ -109,6 +110,17 @@ interface InputMethod { |
CancelComposition(); |
}; |
+// Contains information about a TextInputClient required by an IMEDriver. Client |
+// sends the initial state when starting a session, and can update some of these |
+// variables using methods in InputMethod. |
+struct TextInputClientInformation { |
sky
2017/01/13 20:32:41
Information -> Data or Details?
|
+ TextInputType text_input_type; |
+ TextInputMode text_input_mode; |
+ mojo.common.mojom.TextDirection text_direction; |
+ int32 text_input_flags; |
+ gfx.mojom.Rect caret_bounds; |
sky
2017/01/13 20:32:41
Would it make sense to move TextInputClient and In
Hadi
2017/01/13 21:47:52
Yes, I think it'll make the code simpler. Done.
|
+}; |
+ |
// IME drivers send updates to clients using the TextInputClient interface. |
interface TextInputClient { |
// Functions corresponding to "input method result" functions of |