blob: f47ecc4379f30a7a7ce8301bdf84a7cb40ada639 [file] [log] [blame]
// 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();
};