cert_database.mojom 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Copyright 2020 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. [Stable]
  6. struct GetCertDatabaseInfoResult {
  7. // Deprecated on 10/2021. Use `user_nss_database` from
  8. // crosapi.BrowserInitParams instead.
  9. // TODO(b/191958831): Delete the field when possible.
  10. [RenamedFrom="software_nss_db_path"]
  11. string DEPRECATED_software_nss_db_path@0;
  12. bool should_load_chaps@1;
  13. [MinVersion=1]
  14. uint32 private_slot_id@2;
  15. [MinVersion=1]
  16. bool enable_system_slot@3;
  17. [MinVersion=1]
  18. uint32 system_slot_id@4;
  19. };
  20. // This interface is implemented by Lacros-Chrome.
  21. [Stable, Uuid="e48d9c66-98b4-4049-9b85-dc98c854d54c"]
  22. interface AshCertDatabaseObserver {
  23. // Ash calls this to notify Lacros about new changes to certificates.
  24. OnCertsChangedInAsh@0();
  25. };
  26. // This interface is implemented by Ash-Chrome.
  27. [Stable, Uuid="e7f924bf-0e10-4aef-98d3-6e2f216dc914"]
  28. interface CertDatabase {
  29. // Waits until Ash-Chrome finishes certificate database initialization and
  30. // returns necessary data for Lacros-Chrome to connect to it.
  31. [MinVersion=1]
  32. GetCertDatabaseInfo@0() => (GetCertDatabaseInfoResult? result);
  33. // Lacros calls this to notify Ash about new changes to certificates.
  34. [MinVersion=2]
  35. OnCertsChangedInLacros@1();
  36. // Adds a new observer about certificate changes in Ash. The interface is not
  37. // symmetrical because Lacros can assume that Ash always exists, but not the
  38. // other way around.
  39. [MinVersion=2]
  40. AddAshCertDatabaseObserver@2(
  41. pending_remote<AshCertDatabaseObserver> observer);
  42. };