| // Copyright 2019 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 chrome.mojom; |
| |
| // API exposed by the browser process to the renderer process, such that the |
| // renderer can interact with the encryption state of Sync. Exposed to allowed |
| // origins only. |
| interface SyncEncryptionKeysExtension { |
| // Provides sync encryption keys to the browser process. Returns true if no |
| // further encryption keys are needed (which includes the case, among others, |
| // of encryption keys not being needed even prior to this call). |
| SetEncryptionKeys(string gaia_id, array<array<uint8>> encryption_keys, |
| int32 last_key_version) => (); |
| |
| // Registers a new trusted recovery method that can be used by other clients |
| // to retrieve sync trusted vault encryption keys. |
| AddTrustedRecoveryMethod(string gaia_id, array<uint8> public_key) => (); |
| }; |