extension_info_private.mojom 1.1 KB

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