// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Use the <code>chrome.enterprise.kioskInput</code> API to change input
// settings for Kiosk sessions.
// Note: This API is only available to extensions installed by enterprise
// policy in ChromeOS Kiosk sessions.
[platforms = ("chromeos", "lacros"),
implemented_in = "chrome/browser/extensions/api/enterprise_kiosk_input/enterprise_kiosk_input_api.h"]
namespace enterprise.kioskInput {
dictionary SetCurrentInputMethodOptions {
// The input method ID to set as current input method. This input
// method has to be enabled by enterprise policies. Supported IDs
// are located in https://crsrc.org/c/chrome/browser/resources/chromeos/input_method.
DOMString inputMethodId;
};
callback SetCurrentInputMethodCallback = void();
interface Functions {
// Sets the current input method. This function only changes
// the current input method to an enabled input method.
// Input methods can be enabled by enterprise polices.
// If the input method ID is invalid, or not enabled,
// $(ref:runtime.lastError) will be set with a failure reason.
// |options|: Object containing the fields defined in
// $(ref:SetCurrentInputMethodOptions).
// |callback|: Called when the input method is changed or if
// there is an error.
static void setCurrentInputMethod(
SetCurrentInputMethodOptions options,
SetCurrentInputMethodCallback callback);
};
};