/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* 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 nsIPrompt; [scriptable, uuid(358089f9-ee4b-4711-82fd-bcd07fc62061)] interface nsIAuthPrompt : nsISupports { const uint32_t SAVE_PASSWORD_NEVER = 0; const uint32_t SAVE_PASSWORD_FOR_SESSION = 1; const uint32_t SAVE_PASSWORD_PERMANENTLY = 2; /** * Puts up a text input dialog with OK and Cancel buttons. * Note: prompt uses separate args for the "in" and "out" values of the * input field, whereas the other functions use a single inout arg. * @param dialogText The title for the dialog. * @param text The text to display in the dialog. * @param passwordRealm The "realm" the password belongs to: e.g. * ldap://localhost/dc=test * @param savePassword One of the SAVE_PASSWORD_* options above. * @param defaultText The default text to display in the text input box. * @param result The value entered by the user if OK was * selected. * @return true for OK, false for Cancel */ boolean prompt(in wstring dialogTitle, in wstring text, in wstring passwordRealm, in uint32_t savePassword, in wstring defaultText, out wstring result); /** * Puts up a username/password dialog with OK and Cancel buttons. * @param dialogText The title for the dialog. * @param text The text to display in the dialog. * @param passwordRealm The "realm" the password belongs to: e.g. * ldap://localhost/dc=test * @param savePassword One of the SAVE_PASSWORD_* options above. * @param user The username entered in the dialog. * @param pwd The password entered by the user if OK was * selected. * @return true for OK, false for Cancel */ boolean promptUsernameAndPassword(in wstring dialogTitle, in wstring text, in wstring passwordRealm, in uint32_t savePassword, inout wstring user, inout wstring pwd); /** * Puts up an async username/password dialog with OK and Cancel buttons. * @param dialogText The title for the dialog. * @param text The text to display in the dialog. * @param passwordRealm The "realm" the password belongs to: e.g. * ldap://localhost/dc=test * @param savePassword One of the SAVE_PASSWORD_* options above. * @param user The username entered in the dialog. * @param pwd The password entered by the user if OK was * selected. * @return promise resolving to true for OK, false for Cancel */ Promise asyncPromptUsernameAndPassword(in wstring dialogTitle, in wstring text, in wstring passwordRealm, in uint32_t savePassword, inout wstring user, inout wstring pwd); /** * Puts up a password dialog with OK and Cancel buttons. * @param dialogText The title for the dialog. * @param text The text to display in the dialog. * @param passwordRealm The "realm" the password belongs to: e.g. * ldap://localhost/dc=test. If a username is * specified (http://user@site.com) it will be used * when matching existing logins or saving new ones. * If no username is specified, only password-only * logins will be matched or saved. * Note: if a username is specified, the username * should be escaped. * @param savePassword One of the SAVE_PASSWORD_* options above. * @param pwd The password entered by the user if OK was * selected. * @return true for OK, false for Cancel */ boolean promptPassword(in wstring dialogTitle, in wstring text, in wstring passwordRealm, in uint32_t savePassword, inout wstring pwd); /** * Puts up an async password dialog with OK and Cancel buttons. * @param dialogText The title for the dialog. * @param text The text to display in the dialog. * @param passwordRealm The "realm" the password belongs to: e.g. * ldap://localhost/dc=test. If a username is * specified (http://user@site.com) it will be used * when matching existing logins or saving new ones. * If no username is specified, only password-only * logins will be matched or saved. * Note: if a username is specified, the username * should be escaped. * @param savePassword One of the SAVE_PASSWORD_* options above. * @param pwd The password entered by the user if OK was * selected. * @return promise resolving to true for OK, false for Cancel */ Promise asyncPromptPassword(in wstring dialogTitle, in wstring text, in wstring passwordRealm, in uint32_t savePassword, inout wstring pwd); };