Linux Mac OSX Windows

Implemented by

 An object containing information for a login stored by the
 password manager.
[scriptable, uuid(c41b7dff-6b9b-42fe-b78d-113051facb05)]
interface nsILoginInfo : nsISupports

Attributes

 The URL a form-based login was submitted to.

 For logins obtained from HTML forms, this field is the |action|
 attribute from the |form| element, with the path removed. For
 example "http://www.site.com". [Forms with no |action| attribute
 default to submitting to their origin URL, so we store that.]

 For logins obtained from a HTTP or FTP protocol authentication,
 this field is NULL.
attribute AString formSubmitURL
 The hostname the login applies to.

 The hostname should be formatted as an URL. For example,
 "https://site.com", "http://site.com:1234", "ftp://ftp.site.com".
attribute AString hostname
 The HTTP Realm a login was requested for.

 When an HTTP server sends a 401 result, the WWW-Authenticate
 header includes a realm to identify the "protection space." See
 RFC2617. If the response sent has a missing or blank realm, the
 hostname is used instead.

 For logins obtained from HTML forms, this field is NULL.
attribute AString httpRealm
 The password for the login.
attribute AString password
 The |name| attribute for the password input field.

 For logins obtained from a HTTP or FTP protocol authentication,
 this field is an empty string.
attribute AString passwordField
 The username for the login.
attribute AString username
 The |name| attribute for the username input field.

 For logins obtained from a HTTP or FTP protocol authentication,
 this field is an empty string.
attribute AString usernameField

Methods

 Create an identical copy of the login, duplicating all of the login's
 nsILoginInfo and nsILoginMetaInfo properties.

 This allows code to be forwards-compatible, when additional properties
 are added to nsILoginMetaInfo (or nsILoginInfo) in the future.
nsILoginInfo clone()
 Test for strict equality with another nsILoginInfo object.

 @param aLoginInfo
        The other object to test.
boolean equals(in nsILoginInfo aLoginInfo)
 Initialize a newly created nsLoginInfo object.

 The arguments are the fields for the new object.
void init(in AString aHostname, in AString aFormSubmitURL, in AString aHttpRealm, in AString aUsername, in AString aPassword, in AString aUsernameField, in AString aPasswordField)
 Test for loose equivalency with another nsILoginInfo object. The
 passwordField and usernameField values are ignored, and the password
 values may be optionally ignored. If one login's formSubmitURL is an
 empty string (but not null), it will be treated as a wildcard. [The
 blank value indicates the login was stored before bug 360493 was fixed.]

 @param aLoginInfo
        The other object to test.
 @param ignorePassword
        If true, ignore the password when checking for match.
boolean matches(in nsILoginInfo aLoginInfo, in boolean ignorePassword)