/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /* Tracks which message URIs are currently displayed as decrypted, for any encryption technology. */ #include "nsISupports.idl" [scriptable, uuid(f86e55c9-530b-483f-91a7-10fb5b852488)] interface nsIEncryptedMsgURIsService : nsISupports { /** * Remember that this URI is encrypted. * * @param uri - The URI to remember. * @param isIntegrityProtected - True only if the single encrypted part * rendered for this URI was integrity protected (OpenPGP MDC/SEIPD v1 or * AEAD/SEIPD v2) and decrypted as the top-level part. Callers that cannot * guarantee integrity protection (e.g. S/MIME) must omit this or pass * false. If any registration of a URI passes false, the URI is treated as * not integrity protected, whatever the other registrations claim. */ void rememberEncrypted(in AUTF8String uri, [optional] in boolean isIntegrityProtected); /// Forget that this URI is encrypted. void forgetEncrypted(in AUTF8String uri); /// Check if this URI is encrypted. boolean isEncrypted(in AUTF8String uri); /** * Check if this URI is encrypted, but was not integrity protected. Returns * false for URIs that are not encrypted at all, and for URIs whose every * registration claimed integrity protection. */ boolean isEncryptedWithoutIntegrity(in AUTF8String uri); };