blob: dd9f3c8d84c4e8161a83de857a5fb9c3d330adc3 [file] [log] [blame]
// Copyright 2020 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;
[Stable]
struct GetCertDatabaseInfoResult {
// Deprecated on 10/2021. Use `user_nss_database` from
// crosapi.BrowserInitParams instead.
// TODO(b/191958831): Delete the field when possible.
[RenamedFrom="software_nss_db_path"]
string DEPRECATED_software_nss_db_path@0;
bool should_load_chaps@1;
[MinVersion=1]
uint32 private_slot_id@2;
[MinVersion=1]
bool enable_system_slot@3;
[MinVersion=1]
uint32 system_slot_id@4;
};
// This interface is implemented by Lacros-Chrome.
[Stable, Uuid="e48d9c66-98b4-4049-9b85-dc98c854d54c"]
interface AshCertDatabaseObserver {
// Ash calls this to notify Lacros about new changes to certificates.
OnCertsChangedInAsh@0();
};
// This interface is implemented by Ash-Chrome.
[Stable, Uuid="e7f924bf-0e10-4aef-98d3-6e2f216dc914"]
interface CertDatabase {
// Waits until Ash-Chrome finishes certificate database initialization and
// returns necessary data for Lacros-Chrome to connect to it.
[MinVersion=1]
GetCertDatabaseInfo@0() => (GetCertDatabaseInfoResult? result);
// Lacros calls this to notify Ash about new changes to certificates.
[MinVersion=2]
OnCertsChangedInLacros@1();
// Adds a new observer about certificate changes in Ash. The interface is not
// symmetrical because Lacros can assume that Ash always exists, but not the
// other way around.
[MinVersion=2]
AddAshCertDatabaseObserver@2(
pending_remote<AshCertDatabaseObserver> observer);
};