Revision control
Copy as Markdown
Other Tools
/* 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
/* 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);
};