// 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.
module ash.mojom.status_area_internals;
// Interface for handling status area UI actions. Note that this interface
// is only bound on non-official builds since the webUI that uses this is
// only available on non-official builds.
interface PageHandler {
// Defines the badge icon options for the battery
enum BatteryIcon {
kDefault,
kXIcon,
kUnreliableIcon,
kBoltIcon,
kBatterySaverPlusIcon,
};
// Toggles the visibility of the IME tray.
ToggleImeTray(bool visible);
// Toggles the visibility of the palette tray.
TogglePaletteTray(bool visible);
// Toggles the visibility of the logout tray.
ToggleLogoutTray(bool visible);
// Toggles the visibility of the virtual keyboard tray.
ToggleVirtualKeyboardTray(bool visible);
// Toggles the visibility of the dictation tray.
ToggleDictationTray(bool visible);
// Toggles the visibility of the video conference tray.
ToggleVideoConferenceTray(bool visible);
// Toggles the visibility of the annotation tray.
ToggleAnnotationTray(bool visible);
// Sets whether user is in a child session or not.
SetIsInUserChildSession(bool in_child_session);
// Triggers the privacy indicators in the status area.
TriggerPrivacyIndicators(string app_id, string app_name, bool is_camera_used,
bool is_microphone_used);
// Resets Help Me Write consent status.
// Used to validate the Help Me Write's opt-in flow.
ResetHmrConsentStatus();
// Sets the badge icon for the battery
SetBatteryIcon(BatteryIcon icon);
// Updates battery percentage
SetBatteryPercent(double percent);
};