910e62b5创建于 1月15日历史提交
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// <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;
};

// The <code>chrome.virtualKeyboard</code> API is a kiosk only API used to
// configure virtual keyboard layout and behavior in kiosk sessions.
[platforms=("chromeos")]
interface VirtualKeyboard {
  // Sets restrictions on features provided by the virtual keyboard.
  // |restrictions|: the preferences to enabled/disabled virtual keyboard
  // features.
  // |Returns|: Invoked with the values which were updated.
  // |PromiseValue|: update
  static Promise<FeatureRestrictions> restrictFeatures(
      FeatureRestrictions restrictions);
};

partial interface Browser {
  static attribute VirtualKeyboard virtualKeyboard;
};