Implemented by
[scriptable, uuid(18b5acbd-36dc-496d-9212-6f1a3c068a84)]
interface nsILoginManagerStorage : nsISupports
Methods
Store a new login.
@param aLogin
The login to be added.
void
addLogin(in nsILoginInfo aLogin)
Search for logins matching the specified criteria, as with
findLogins(). This interface only returns the number of matching
logins (and not the logins themselves), which allows a caller to
check for logins without causing the user to be prompted for a master
password to decrypt the logins.
@param aHostname
The hostname to restrict searches to. Specify an empty string
to match all hosts. A null value will not match any logins, and
will thus always return a count of 0.
@param aActionURL
The URL to which a form login will be submitted. To match any
form login, specify an empty string. To not match any form
login, specify null.
@param aHttpRealm
The HTTP Realm for which the login applies. To match logins for
any realm, specify an empty string. To not match logins for any
realm, specify null.
unsigned long
countLogins(in AString aHostname, in AString aActionURL, in AString aHttpRealm)
Search for logins matching the specified criteria. Called when looking
for logins that might be applicable to a form or authentication request.
@param count
The number of elements in the array. JS callers can simply use
the array's .length property, and supply an dummy object for
this out param. For example: |findLogins({}, hostname, ...)|
@param aHostname
The hostname to restrict searches to, in URL format. For
example: "http://www.site.com".
@param aActionURL
For form logins, this argument should be the URL to which the
form will be submitted. For protocol logins, specify null.
@param aHttpRealm
For protocol logins, this argument should be the HTTP Realm
for which the login applies. This is obtained from the
WWW-Authenticate header. See RFC2617. For form logins,
specify null.
@param logins
An array of nsILoginInfo objects.
NOTE: This can be called from JS as:
var logins = pwmgr.findLogins({}, hostname, ...);
void
findLogins(out unsigned long count, in AString aHostname, in AString aActionURL, in AString aHttpRealm, [array, size_is(count), retval] out nsILoginInfo logins)
Obtain a list of all hosts for which password saving is disabled.
@param count
The number of elements in the array. JS callers can simply use
the array's .length property, and supply an dummy object for
this out param. For example: |getAllDisabledHosts({})|
@param hostnames
An array of hostname strings, in origin URL format without a
pathname. For example: "https://www.site.com".
NOTE: This can be called from JS as:
var logins = pwmgr.getAllDisabledHosts({});
void
getAllDisabledHosts(out unsigned long count, [array, size_is(count), retval] out wstring hostnames)
Fetch all logins in the login manager. An array is always returned;
if there are no logins the array is empty.
@param count
The number of elements in the array. JS callers can simply use
the array's .length property, and supply an dummy object for
this out param. For example: |getAllLogins({})|
@param logins
An array of nsILoginInfo objects.
NOTE: This can be called from JS as:
var logins = pwmgr.getAllLogins({});
(|logins| is an array).
void
getAllLogins(out unsigned long count, [array, size_is(count), retval] out nsILoginInfo logins)
Check to see if saving logins has been disabled for a host.
@param aHost
The hostname to check. This argument should be in the origin
URL format, without a pathname. For example: "http://foo.com".
boolean
getLoginSavingEnabled(in AString aHost)
Initialize the component. Not invoked automatically.
void
init()
Initialize the component, but override the default filename
locations. This is primarily used to the unit tests and profile
migration.
@param aInputFile
File to read for stored logins.
@param aOutputFile
If non-null, file to output logins to.
void
initWithFile(in nsIFile aInputFile, in nsIFile aOutputFile)
Modify an existing login in the login manager.
@param aLogin
The login to be modified.
void
modifyLogin(in nsILoginInfo oldLogin, in nsILoginInfo newLogin)
Remove all stored logins. The browser sanitization feature allows the user to clear any stored passwords. This interface allows that to be done without getting each login first (which might require knowing the master password).
void
removeAllLogins()
Remove a login from the login manager.
@param aLogin
The login to be removed.
void
removeLogin(in nsILoginInfo aLogin)
Disable (or enable) storing logins for the specified host. When
disabled, the login manager will not prompt to store logins for
that host. Existing logins are not affected.
@param aHost
The hostname to set. This argument should be in the origin
URL format, without a pathname. For example: "http://foo.com".
@param isEnabled
Specify if saving logins should be enabled (true) or
disabled (false)
void
setLoginSavingEnabled(in AString aHost, in boolean isEnabled)
Compare to: