blob: 9ee85c093e2aaf649aa66e6ab59c6e69f4c29f59 [file] [log] [blame]
// Copyright 2022 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module crosapi.mojom;
import "mojo/public/mojom/base/values.mojom";
// ExtensionInfoPrivate is a service that allows trusted extensions in Lacros to
// get and set system properties. Implemented in Ash.
[Stable, Uuid="97236d3f-848a-4365-8c7e-f4133e0c79ff"]
interface ExtensionInfoPrivate {
// Returns a Dictionary-type base::Value that contains all results. This is
// considered an opaque value that is directly passed to the extension.
GetSystemProperties@0(array<string> property_names) =>
(mojo_base.mojom.Value properties);
// Sets the system timezone. There is no validation that the value is valid.
// This matches pre-existing behavior.
SetTimezone@1(string value);
// Sets a system property. Validation happens in ash. If the property is not
// found, returns |false| and has no effect.
SetBool@2(string property_name, bool value) => (bool found);
// Returns whether tablet mode is enabled.
IsTabletModeEnabled@3() => (bool enabled);
};