summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/nsILoginManagerPrompter.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /toolkit/components/passwordmgr/nsILoginManagerPrompter.idl
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/passwordmgr/nsILoginManagerPrompter.idl')
-rw-r--r--toolkit/components/passwordmgr/nsILoginManagerPrompter.idl103
1 files changed, 103 insertions, 0 deletions
diff --git a/toolkit/components/passwordmgr/nsILoginManagerPrompter.idl b/toolkit/components/passwordmgr/nsILoginManagerPrompter.idl
new file mode 100644
index 0000000000..4f244258c0
--- /dev/null
+++ b/toolkit/components/passwordmgr/nsILoginManagerPrompter.idl
@@ -0,0 +1,103 @@
+/* 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"
+#include "nsIPromptInstance.idl"
+
+interface nsILoginInfo;
+interface nsIDOMWindow;
+
+webidl Element;
+
+[scriptable, uuid(c47ff942-9678-44a5-bc9b-05e0d676c79c)]
+interface nsILoginManagerPrompter : nsISupports {
+
+ /**
+ * Ask the user if they want to save a login (Yes, Never, Not Now)
+ *
+ * @param aBrowser
+ * The browser of the webpage request that triggered the prompt.
+ * @param aLogin
+ * The login to be saved.
+ * @param dismissed
+ * A boolean value indicating whether the save logins doorhanger should
+ * be dismissed automatically when shown.
+ * @param notifySaved
+ * A boolean value indicating whether the notification should indicate that
+ * a login has been saved
+ * @param autoFilledLoginGuid
+ * A string guid value for the login which was autofilled into the form
+ * @param possibleValues
+ * Contains values from anything that we think, but are not sure, might be
+ * a username or password. Has two properties, 'usernames' and 'passwords'.
+ */
+ nsIPromptInstance promptToSavePassword(
+ in Element aBrowser,
+ in nsILoginInfo aLogin,
+ [optional] in boolean dismissed,
+ [optional] in boolean notifySaved,
+ [optional] in AString autoFilledLoginGuid,
+ [optional] in jsval possibleValues);
+
+ /**
+ * Ask the user if they want to change a login's password or username.
+ * If the user consents, modifyLogin() will be called.
+ *
+ * @param aBrowser
+ * The browser of the webpage request that triggered the prompt.
+ * @param aOldLogin
+ * The existing login (with the old password).
+ * @param aNewLogin
+ * The new login.
+ * @param dismissed
+ * A boolean value indicating whether the save logins doorhanger should
+ * be dismissed automatically when shown.
+ * @param autoSavedLoginGuid
+ * A string guid value for the old login to be removed if the changes
+ * match it to a different login
+ * @param autoFilledLoginGuid
+ * A string guid value for the login which was autofilled into the form
+ * @param possibleValues
+ * Contains values from anything that we think, but are not sure, might be
+ * a username or password. Has two properties, 'usernames' and 'passwords'.
+ */
+ nsIPromptInstance promptToChangePassword(
+ in Element aBrowser,
+ in nsILoginInfo aOldLogin,
+ in nsILoginInfo aNewLogin,
+ [optional] in boolean dismissed,
+ [optional] in boolean notifySaved,
+ [optional] in AString autoSavedLoginGuid,
+ [optional] in AString autoFilledLoginGuid,
+ [optional] in jsval possibleValues);
+
+ /**
+ * Ask the user if they want to change the password for one of
+ * multiple logins, when the caller can't determine exactly which
+ * login should be changed. If the user consents, modifyLogin() will
+ * be called.
+ *
+ * @param aBrowser
+ * The browser of the webpage request that triggered the prompt.
+ * @param logins
+ * An array of existing logins.
+ * @param aNewLogin
+ * The new login.
+ *
+ * Note: Because the caller does not know the username of the login
+ * to be changed, aNewLogin.username and aNewLogin.usernameField
+ * will be set (using the user's selection) before modifyLogin()
+ * is called.
+ */
+ nsIPromptInstance promptToChangePasswordWithUsernames(
+ in Element aBrowser,
+ in Array<nsILoginInfo> logins,
+ in nsILoginInfo aNewLogin);
+};
+%{C++
+
+#define NS_LOGINMANAGERPROMPTER_CONTRACTID "@mozilla.org/login-manager/prompter/;1"
+
+%}