From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- comm/chat/components/public/prplIRequest.idl | 115 +++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 comm/chat/components/public/prplIRequest.idl (limited to 'comm/chat/components/public/prplIRequest.idl') diff --git a/comm/chat/components/public/prplIRequest.idl b/comm/chat/components/public/prplIRequest.idl new file mode 100644 index 0000000000..2e9b58584f --- /dev/null +++ b/comm/chat/components/public/prplIRequest.idl @@ -0,0 +1,115 @@ +/* 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/. */ + +#include "nsISupports.idl" + +interface imIAccount; +interface nsIDOMWindow; +interface nsIWebProgress; + +/** + * This interface is for use in the browser-request notification, to + * let protocol plugins open a browser window. This is an unfortunate + * necessity for protocols that require an OAuth authentication. + */ +[scriptable, uuid(b89dbb38-0de4-11e0-b3d0-0002e304243c)] +interface prplIRequestBrowser: nsISupports { + readonly attribute AUTF8String promptText; + readonly attribute AUTF8String url; + void cancelled(); + void loaded(in nsIDOMWindow aWindow, + in nsIWebProgress aWebProgress); +}; + +/** + * This interface is used for buddy authorization requests, when the + * user needs to confirm if a remote contact should be allowed to see + * his presence information. It is implemented by the aSubject + * parameter of the buddy-authorization-request and + * buddy-authorization-request-canceled notifications. + */ +[scriptable, uuid(a55c1e24-17cc-4ddc-8c64-3bc315a3c3b1)] +interface prplIBuddyRequest: nsISupports { + readonly attribute imIAccount account; + readonly attribute AUTF8String userName; + void grant(); + void deny(); +}; + +/** + * This is used with chat room invitation requests, so the user can accept or + * reject an invitation. It is implemented by the aSubject parameter of the + * conv-authorization-request notification. + */ +[scriptable, uuid(44ac9606-711b-40f6-9031-94a9c60c938d)] +interface prplIChatRequest: nsISupports { + readonly attribute imIAccount account; + readonly attribute AUTF8String conversationName; + /** + * Resolves when the request is completed, with a boolean indicating if it + * was granted. Rejected if the request is cancelled. + * + * @type {Promise} + */ + readonly attribute Promise completePromise; + readonly attribute boolean canDeny; + void grant(); + void deny(); +}; + +/** + * Verification information for an encryption session (for example prplISession). + * Used to present a verification flow to the user. + */ +[scriptable, uuid(48c1748d-ba51-44c0-aa3c-e979d4d4bdf3)] +interface imISessionVerification: nsISupports { + /** + * Challenge mode where a text string is presented to the user and they have + * to confirm it matches with the other user/device's. + */ + const short CHALLENGE_TEXT = 1; + /** Verification mode */ + readonly attribute short challengeType; + /** Challenge string to present to the user for CHALLENGE_TEXT */ + readonly attribute AUTF8String challenge; + /** + * Optional description of the challenge contents. For example text + * representation of emoji. + */ + readonly attribute AUTF8String challengeDescription; + /** + * User readable name for the entity the verification is about (so the + * user/device on the other side of the flow). + */ + readonly attribute AUTF8String subject; + /** + * resolves with the result from the challenge, rejects if the action was + * cancelled. + * + * @type {Promise} + */ + readonly attribute Promise completePromise; + /** + * Submit result of the challenge, completing the verification on this side. + */ + void submitResponse(in boolean challengeMatches); + /** + * Cancel the verification. + */ + void cancel(); +}; + +/** + * Incoming verification request, sent to the UI via buddy-verification-request + * notification. Can be canelled with buddy-verification-request-cancelled. + */ +[scriptable, uuid(c46d426f-6e99-4713-b0aa-0b404db5a40d)] +interface imIIncomingSessionVerification: imISessionVerification { + readonly attribute imIAccount account; + /** + * Method to accept the verification. Resolves once |challenge| is + * populated. + */ + Promise verify(); +}; -- cgit v1.2.3