| // Copyright 2015 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. |
| |
| [DartPackage="mojo_services"] |
| module keyboard; |
| |
| struct CompletionData { |
| int64 id; |
| int32 position; |
| string text; |
| string label; |
| }; |
| |
| struct CorrectionData { |
| int32 offset; |
| string old_text; |
| string new_text; |
| }; |
| |
| interface KeyboardClient { |
| CommitCompletion(CompletionData completion); |
| CommitCorrection(CorrectionData correction); |
| CommitText(string text, int32 newCursorPosition); |
| DeleteSurroundingText(int32 beforeLength, int32 afterLength); |
| SetComposingRegion(int32 start, int32 end); |
| SetComposingText(string text, int32 newCursorPosition); |
| SetSelection(int32 start, int32 end); |
| }; |
| |
| // Loosely modeled on Android InputType: |
| // http://developer.android.com/reference/android/text/InputType.html |
| enum KeyboardType { |
| TEXT, |
| NUMBER, |
| PHONE, |
| DATETIME, |
| }; |
| |
| interface KeyboardService { |
| Show(KeyboardClient client, KeyboardType type); |
| ShowByRequest(); |
| Hide(); |
| }; |