toolkit/components/passwordmgr/nsILoginInfo.idl

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 #include "nsISupports.idl"
     8 [scriptable, uuid(c41b7dff-6b9b-42fe-b78d-113051facb05)]
    10 /**
    11  * An object containing information for a login stored by the
    12  * password manager.
    13  */
    14 interface nsILoginInfo : nsISupports {
    15     /**
    16      * The hostname the login applies to.
    17      *
    18      * The hostname should be formatted as an URL. For example,
    19      * "https://site.com", "http://site.com:1234", "ftp://ftp.site.com".
    20      */
    21     attribute AString hostname;
    23     /**
    24      * The URL a form-based login was submitted to.
    25      *
    26      * For logins obtained from HTML forms, this field is the |action|
    27      * attribute from the |form| element, with the path removed. For
    28      * example "http://www.site.com". [Forms with no |action| attribute
    29      * default to submitting to their origin URL, so we store that.]
    30      *
    31      * For logins obtained from a HTTP or FTP protocol authentication,
    32      * this field is NULL.
    33      */
    34     attribute AString formSubmitURL;
    36     /**
    37      * The HTTP Realm a login was requested for.
    38      *
    39      * When an HTTP server sends a 401 result, the WWW-Authenticate
    40      * header includes a realm to identify the "protection space." See
    41      * RFC2617. If the response sent has a missing or blank realm, the
    42      * hostname is used instead.
    43      *
    44      * For logins obtained from HTML forms, this field is NULL.
    45      */
    46     attribute AString httpRealm;
    48     /**
    49      * The username for the login.
    50      */
    51     attribute AString username;
    53     /**
    54      * The |name| attribute for the username input field.
    55      *
    56      * For logins obtained from a HTTP or FTP protocol authentication,
    57      * this field is an empty string.
    58      */
    59     attribute AString usernameField;
    61     /**
    62      * The password for the login.
    63      */
    64     attribute AString password;
    66     /**
    67      * The |name| attribute for the password input field.
    68      *
    69      * For logins obtained from a HTTP or FTP protocol authentication,
    70      * this field is an empty string.
    71      */
    72     attribute AString passwordField;
    74     /**
    75      * Initialize a newly created nsLoginInfo object.
    76      *
    77      * The arguments are the fields for the new object.
    78      */
    79     void init(in AString aHostname,
    80               in AString aFormSubmitURL, in AString aHttpRealm,
    81               in AString aUsername,      in AString aPassword,
    82               in AString aUsernameField, in AString aPasswordField);
    84     /**
    85      * Test for strict equality with another nsILoginInfo object.
    86      *
    87      * @param aLoginInfo
    88      *        The other object to test.
    89      */
    90     boolean equals(in nsILoginInfo aLoginInfo);
    92     /**
    93      * Test for loose equivalency with another nsILoginInfo object. The
    94      * passwordField and usernameField values are ignored, and the password
    95      * values may be optionally ignored. If one login's formSubmitURL is an
    96      * empty string (but not null), it will be treated as a wildcard. [The
    97      * blank value indicates the login was stored before bug 360493 was fixed.]
    98      *
    99      * @param aLoginInfo
   100      *        The other object to test.
   101      * @param ignorePassword
   102      *        If true, ignore the password when checking for match.
   103      */
   104     boolean matches(in nsILoginInfo aLoginInfo, in boolean ignorePassword);
   106     /**
   107      * Create an identical copy of the login, duplicating all of the login's
   108      * nsILoginInfo and nsILoginMetaInfo properties.
   109      *
   110      * This allows code to be forwards-compatible, when additional properties
   111      * are added to nsILoginMetaInfo (or nsILoginInfo) in the future.
   112      */
   113     nsILoginInfo clone();
   114 };
   116 %{C++
   118 #define NS_LOGININFO_CONTRACTID "@mozilla.org/login-manager/loginInfo;1"
   120 %}

mercurial