Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Unified Diff: services/ui/public/interfaces/ime/ime.mojom

Issue 2626983003: IME for Mus: Send TextInputClient information to IMEDriver. (Closed)
Patch Set: Addressed feedback. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..86b8cb4b21d2997c2554e832f3c1bd62d4de83ce 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";
@@ -64,14 +65,26 @@ enum TextInputMode {
URL,
};
+// Parameters needed to start an IME session.
+struct StartSessionDetails {
+ TextInputClient client;
+ InputMethod& input_method_request;
+
+ // Initial details about |client| required by IMEDriver.
+ TextInputType text_input_type;
+ TextInputMode text_input_mode;
+ mojo.common.mojom.TextDirection text_direction;
+ int32 text_input_flags;
+ gfx.mojom.Rect caret_bounds;
+};
+
// A service which provides the IMEDriver interface is responsible for doing
// the composition logic. After starting a session, it receives events from
// the client via the InputMethod interface, and sends composition events to
// 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, StartSessionDetails details);
CancelSession(int32 session_id);
};
@@ -79,8 +92,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,
- InputMethod& input_method);
+ StartSession(StartSessionDetails details);
};
// An IME driver register should register itself to Mus using the IMERegistrar

Powered by Google App Engine
This is Rietveld 408576698