chromium/chromeos/crosapi/mojom/field_trial.mojom

// Copyright 2021 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;

// Information about Ash's field trial group to be propagated to lacros.
[Stable]
struct FieldTrialGroupInfo {
  string trial_name;
  string group_name;
  [MinVersion=1] bool? is_overridden;
};

// Interface for field trial observers. Implemented by lacros-chrome.
// Used by ash-chrome to send field trial updates.
[Stable, Uuid="4867d01a-c21d-4e67-9452-d9a6fe53606d"]
interface FieldTrialObserver {
  // Called when a field trial group is activated.
  OnFieldTrialGroupActivated@0(
      array<FieldTrialGroupInfo> field_trial_group_infos);
};

// Interface that allows clients to receive update
// when a trial field becomes active. Implemented by ash-chrome.
[Stable, Uuid="14fa84de-e4ab-4fdc-aab6-9e933a8b2558"]
interface FieldTrialService {
  // Adds an observer for field trial changes.
  AddFieldTrialObserver@0(
      pending_remote<FieldTrialObserver> observer);
};