chromium/chromeos/crosapi/mojom/magic_boost.mojom

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module crosapi.mojom;

// This API is used to forward requests to conduct Magic Boost opt-in flow
// from Lacros (Client) to the actual implementation in Ash-Chrome.
// Next Method ID: 2
// Next MinVersion: 4
[Stable, Uuid="7045789d-b1df-422c-a9c2-39990e977b2b"]
interface MagicBoostController {
  // Specifies which action to complete after the opt-in flow has been
  // completed, transitioning from the opt-in experience to the main feature.
  [Stable, Extensible]
  enum TransitionAction {
    // Default option. Not do anything.
    [Default] kDoNothing = 0,

    // Show the editor panel after completing the opt-in flow.
    kShowEditorPanel,

    // Show the Mahi panel after completing the opt-in flow.
    [MinVersion=3] kShowHmrPanel,
  };

  // Specifies which features are the opt in ones.
  [Stable, Extensible]
  enum OptInFeatures {
    // Default option. Only opt in HMR.
    [Default] kHmrOnly = 0,

    // Opt in both Orca and HMR features.
    kOrcaAndHmr,
  };

  // Shows the disclaimer UI in the given `display_id`.
  ShowDisclaimerUi@0(
    int64 display_id,
    TransitionAction action,
    [MinVersion=2] OptInFeatures opt_in_features);

  // Closes the disclaimer UI.
  [MinVersion=1] CloseDisclaimerUi@1();
};