summaryrefslogtreecommitdiff
path: root/chromium/extensions/common/api/virtual_keyboard.idl
blob: 53f1bf1eacd71d00e409a44d61e71fe6a264b904 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright 2017 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.

// The <code>chrome.virtualKeyboard</code> API is a kiosk only API used to
// configure virtual keyboard layout and behavior in kiosk sessions.
[platforms=("chromeos")]
namespace virtualKeyboard {
  // <p>Determines whether advanced virtual keyboard features should be enabled
  //     or not. They are enabled by default.</p>
  // <p>On <b>Chrome 58</b> all properties are expected to have the same value.
  // </p>
  // <p>From <b>Chrome 63</b> the properties can be distinct and are optional.
  // If omitted, the current value is preserved.</p>
  dictionary FeatureRestrictions {
    // Whether virtual keyboards can provide auto-complete.
    boolean? autoCompleteEnabled;
    // Whether virtual keyboards can provide auto-correct.
    boolean? autoCorrectEnabled;
    // Whether virtual keyboards can provide input via handwriting recognition.
    boolean? handwritingEnabled;
    // Whether virtual keyboards can provide spell-check.
    boolean? spellCheckEnabled;
    // Whether virtual keyboards can provide voice input.
    boolean? voiceInputEnabled;
  };

  callback RestrictFeaturesCallback = void(FeatureRestrictions update);

  interface Functions {
    // Sets restrictions on features provided by the virtual keyboard.
    // |restrictions|: the preferences to enabled/disabled virtual keyboard
    // features.
    // |callback|: Invoked with the values which were updated.
    void restrictFeatures(FeatureRestrictions restrictions,
                          optional RestrictFeaturesCallback callback);
  };
};