1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33

ash / components / arc / mojom / system_state.mojom [blame]

// 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.

// Next MinVersion: 1

module arc.mojom;

// Contains information about App and Service running state in ARC.
struct SystemAppRunningState {
  // ARC app running as the top app.
  bool top_layer_app;
  // No minimized ARC app running.
  bool foreground_app;
  // Minimized ARC app running.
  bool background_app;
  // Performance sensitive ARC app running.
  bool performance_sensitive_app;
  // App's running as background service.
  bool background_service;
};

// Chrome implements this interface to handle updates from ARC.
interface SystemStateHost {
  // Notifies Chrome the ARC app system-wide state.
  UpdateAppRunningState@0(SystemAppRunningState state);
};

// ARC implements this interface to interact with Chrome.
interface SystemStateInstance {
  // Establishes full-duplex communication with the host.
  Init@0(pending_remote<SystemStateHost> host_remote) => ();
};