xpcom/components/nsIComponentManager.idl

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 /**
     7  * The nsIComponentManager interface.
     8  */
    10 #include "nsISupports.idl"
    12 interface nsIFile;
    13 interface nsIFactory;
    14 interface nsIArray;
    16 [scriptable, uuid(d604ffc3-1ba3-4f6c-b65f-1ed4199364c3)]
    17 interface nsIComponentManager : nsISupports
    18 {
    19     /**
    20      * getClassObject
    21      *
    22      * Returns the factory object that can be used to create instances of
    23      * CID aClass
    24      *
    25      * @param aClass The classid of the factory that is being requested
    26      */
    27     void getClassObject(in nsCIDRef aClass,
    28                         in nsIIDRef aIID,
    29                         [iid_is(aIID),retval] out nsQIResult result);
    31     /**
    32      * getClassObjectByContractID
    33      *
    34      * Returns the factory object that can be used to create instances of
    35      * CID aClass
    36      *
    37      * @param aClass The classid of the factory that is being requested
    38      */
    39     void getClassObjectByContractID(in string aContractID,
    40                                     in nsIIDRef aIID,
    41                                     [iid_is(aIID),retval] out nsQIResult result);
    44    /**
    45      * createInstance
    46      *
    47      * Create an instance of the CID aClass and return the interface aIID.
    48      *
    49      * @param aClass : ClassID of object instance requested
    50      * @param aDelegate : Used for aggregation
    51      * @param aIID : IID of interface requested
    52      */
    53     void createInstance(in nsCIDRef aClass, 
    54                         in nsISupports aDelegate,
    55                         in nsIIDRef aIID, 
    56                         [iid_is(aIID),retval] out nsQIResult result);
    58     /**
    59      * createInstanceByContractID
    60      *
    61      * Create an instance of the CID that implements aContractID and return the
    62      * interface aIID. 
    63      *
    64      * @param aContractID : aContractID of object instance requested
    65      * @param aDelegate : Used for aggregation
    66      * @param aIID : IID of interface requested
    67      */
    68     void createInstanceByContractID(in string aContractID,
    69                                     in nsISupports aDelegate,
    70                                     in nsIIDRef aIID, 
    71                                     [iid_is(aIID),retval] out nsQIResult result);
    73     /**
    74      * addBootstrappedManifestLocation
    75      *
    76      * Adds a bootstrapped manifest location on runtime.
    77      *
    78      * @param aLocation : A directory where chrome.manifest resides,
    79      *                    or an XPI with it on the root.
    80      */
    81     void addBootstrappedManifestLocation(in nsIFile aLocation);
    83     /**
    84      * removeBootstrappedManifestLocation
    85      *
    86      * Removes a bootstrapped manifest location on runtime.
    87      *
    88      * @param aLocation : A directory where chrome.manifest resides,
    89      *                    or an XPI with it on the root.
    90      */
    91     void removeBootstrappedManifestLocation(in nsIFile aLocation);
    93     /**
    94      * getManifestLocations
    95      *
    96      * Get an array of nsIURIs of all registered and builtin manifest locations.
    97      */
    98     nsIArray getManifestLocations();
    99 };
   102 %{ C++
   103 #ifdef MOZILLA_INTERNAL_API
   104 #include "nsComponentManagerUtils.h"
   105 #endif
   106 %} C++

mercurial