// 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 mojom.app_service_internals;
// Contains debugging information for a single installed app.
struct AppInfo {
// The unique ID for the app.
string id;
// The app's human-readable name.
string name;
// Preformatted plain-text containing information about the internal state of
// the app.
// This is for debug WebUI only, so it is ok to send unstructured string data.
string debug_info;
};
// Contains debugging information for the PreferredAppsList data for a single
// installed app.
struct PreferredAppInfo {
// The unique ID for the app.
string id;
// The app's human-readable name.
string name;
// Preformatted plain-text containing the app's preferred intent filters.
string preferred_filters;
};
// Contains debugging information for a single promise app.
struct PromiseAppInfo {
// The package ID for the promise app.
string package_id;
// Preformatted plain-text containing information about the internal state of
// the promise app.
// This is for debug WebUI only, so it is ok to send unstructured string data.
string debug_info;
};
// Contains debugging information for capability access by a single app.
struct AppCapabilityInfo {
// The app's human-readable name.
string name;
// Preformatted plain-text containing information about system capabilities
// being accessed by the app.
// This is for debug WebUI only, so it is ok to send unstructured string data.
string debug_info;
};
// Container struct for App Service debugging information.
struct DebugInfo {
// Debug information about every installed app.
array<AppInfo> app_list;
// Debug information about preferred app preferences.
array<PreferredAppInfo> preferred_app_list;
// Debug information about every promise app. Will always be empty on non-Ash
// platforms.
array<PromiseAppInfo> promise_app_list;
// Debug information about system capabilities being accessed by apps.
array<AppCapabilityInfo> app_capability_list;
};
// Handler providing access to App Service information from the
// chrome://app-service-internals WebUI.
interface AppServiceInternalsPageHandler {
// Returns debug information about the state of App Service. Will be null if
// App Service is not available for the profile.
GetDebugInfo() => (DebugInfo? debug_info);
};