LCOV - code coverage report
Current view: top level - obj-x86_64-pc-linux-gnu/dist/include - xpccomponents.h (source / functions) Hit Total Coverage
Test: output.info Lines: 10 13 76.9 %
Date: 2017-07-14 16:53:18 Functions: 10 13 76.9 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/xpccomponents.idl
       3             :  */
       4             : 
       5             : #ifndef __gen_xpccomponents_h__
       6             : #define __gen_xpccomponents_h__
       7             : 
       8             : 
       9             : #ifndef __gen_nsISupports_h__
      10             : #include "nsISupports.h"
      11             : #endif
      12             : 
      13             : #include "js/Value.h"
      14             : 
      15             : /* For IDL files that don't want to include root IDL files. */
      16             : #ifndef NS_NO_VTABLE
      17             : #define NS_NO_VTABLE
      18             : #endif
      19             : #include "jspubtd.h"
      20             : class xpcIJSWeakReference; /* forward declaration */
      21             : 
      22             : class nsIAddonInterposition; /* forward declaration */
      23             : 
      24             : class nsIClassInfo; /* forward declaration */
      25             : 
      26             : class nsIComponentManager; /* forward declaration */
      27             : 
      28             : class nsICycleCollectorListener; /* forward declaration */
      29             : 
      30             : class nsIJSCID; /* forward declaration */
      31             : 
      32             : class nsIJSIID; /* forward declaration */
      33             : 
      34             : class nsIPrincipal; /* forward declaration */
      35             : 
      36             : class nsIStackFrame; /* forward declaration */
      37             : 
      38             : 
      39             : /* starting interface:    nsIXPCComponents_InterfacesByID */
      40             : #define NS_IXPCCOMPONENTS_INTERFACESBYID_IID_STR "f235ef76-9919-478b-aa0f-282d994ddf76"
      41             : 
      42             : #define NS_IXPCCOMPONENTS_INTERFACESBYID_IID \
      43             :   {0xf235ef76, 0x9919, 0x478b, \
      44             :     { 0xaa, 0x0f, 0x28, 0x2d, 0x99, 0x4d, 0xdf, 0x76 }}
      45             : 
      46           0 : class NS_NO_VTABLE nsIXPCComponents_InterfacesByID : public nsISupports {
      47             :  public:
      48             : 
      49             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_INTERFACESBYID_IID)
      50             : 
      51             : };
      52             : 
      53             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_InterfacesByID, NS_IXPCCOMPONENTS_INTERFACESBYID_IID)
      54             : 
      55             : /* Use this macro when declaring classes that implement this interface. */
      56             : #define NS_DECL_NSIXPCCOMPONENTS_INTERFACESBYID \
      57             :   /* no methods! */
      58             : 
      59             : /* Use this macro when declaring the members of this interface when the
      60             :    class doesn't implement the interface. This is useful for forwarding. */
      61             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_INTERFACESBYID \
      62             :   /* no methods! */
      63             : 
      64             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
      65             : #define NS_FORWARD_NSIXPCCOMPONENTS_INTERFACESBYID(_to) \
      66             :   /* no methods! */
      67             : 
      68             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
      69             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_INTERFACESBYID(_to) \
      70             :   /* no methods! */
      71             : 
      72             : #if 0
      73             : /* Use the code below as a template for the implementation class for this interface. */
      74             : 
      75             : /* Header file */
      76             : class nsXPCComponents_InterfacesByID : public nsIXPCComponents_InterfacesByID
      77             : {
      78             : public:
      79             :   NS_DECL_ISUPPORTS
      80             :   NS_DECL_NSIXPCCOMPONENTS_INTERFACESBYID
      81             : 
      82             :   nsXPCComponents_InterfacesByID();
      83             : 
      84             : private:
      85             :   ~nsXPCComponents_InterfacesByID();
      86             : 
      87             : protected:
      88             :   /* additional members */
      89             : };
      90             : 
      91             : /* Implementation file */
      92             : NS_IMPL_ISUPPORTS(nsXPCComponents_InterfacesByID, nsIXPCComponents_InterfacesByID)
      93             : 
      94             : nsXPCComponents_InterfacesByID::nsXPCComponents_InterfacesByID()
      95             : {
      96             :   /* member initializers and constructor code */
      97             : }
      98             : 
      99             : nsXPCComponents_InterfacesByID::~nsXPCComponents_InterfacesByID()
     100             : {
     101             :   /* destructor code */
     102             : }
     103             : 
     104             : /* End of implementation class template. */
     105             : #endif
     106             : 
     107             : 
     108             : /* starting interface:    nsIXPCComponents_Interfaces */
     109             : #define NS_IXPCCOMPONENTS_INTERFACES_IID_STR "b8c31bba-79db-4a1d-930d-4cdd68713f9e"
     110             : 
     111             : #define NS_IXPCCOMPONENTS_INTERFACES_IID \
     112             :   {0xb8c31bba, 0x79db, 0x4a1d, \
     113             :     { 0x93, 0x0d, 0x4c, 0xdd, 0x68, 0x71, 0x3f, 0x9e }}
     114             : 
     115         237 : class NS_NO_VTABLE nsIXPCComponents_Interfaces : public nsISupports {
     116             :  public:
     117             : 
     118             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_INTERFACES_IID)
     119             : 
     120             : };
     121             : 
     122             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_Interfaces, NS_IXPCCOMPONENTS_INTERFACES_IID)
     123             : 
     124             : /* Use this macro when declaring classes that implement this interface. */
     125             : #define NS_DECL_NSIXPCCOMPONENTS_INTERFACES \
     126             :   /* no methods! */
     127             : 
     128             : /* Use this macro when declaring the members of this interface when the
     129             :    class doesn't implement the interface. This is useful for forwarding. */
     130             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_INTERFACES \
     131             :   /* no methods! */
     132             : 
     133             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     134             : #define NS_FORWARD_NSIXPCCOMPONENTS_INTERFACES(_to) \
     135             :   /* no methods! */
     136             : 
     137             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     138             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_INTERFACES(_to) \
     139             :   /* no methods! */
     140             : 
     141             : #if 0
     142             : /* Use the code below as a template for the implementation class for this interface. */
     143             : 
     144             : /* Header file */
     145             : class nsXPCComponents_Interfaces : public nsIXPCComponents_Interfaces
     146             : {
     147             : public:
     148             :   NS_DECL_ISUPPORTS
     149             :   NS_DECL_NSIXPCCOMPONENTS_INTERFACES
     150             : 
     151             :   nsXPCComponents_Interfaces();
     152             : 
     153             : private:
     154             :   ~nsXPCComponents_Interfaces();
     155             : 
     156             : protected:
     157             :   /* additional members */
     158             : };
     159             : 
     160             : /* Implementation file */
     161             : NS_IMPL_ISUPPORTS(nsXPCComponents_Interfaces, nsIXPCComponents_Interfaces)
     162             : 
     163             : nsXPCComponents_Interfaces::nsXPCComponents_Interfaces()
     164             : {
     165             :   /* member initializers and constructor code */
     166             : }
     167             : 
     168             : nsXPCComponents_Interfaces::~nsXPCComponents_Interfaces()
     169             : {
     170             :   /* destructor code */
     171             : }
     172             : 
     173             : /* End of implementation class template. */
     174             : #endif
     175             : 
     176             : 
     177             : /* starting interface:    nsIXPCComponents_Classes */
     178             : #define NS_IXPCCOMPONENTS_CLASSES_IID_STR "978ff520-d26c-11d2-9842-006008962422"
     179             : 
     180             : #define NS_IXPCCOMPONENTS_CLASSES_IID \
     181             :   {0x978ff520, 0xd26c, 0x11d2, \
     182             :     { 0x98, 0x42, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
     183             : 
     184         214 : class NS_NO_VTABLE nsIXPCComponents_Classes : public nsISupports {
     185             :  public:
     186             : 
     187             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_CLASSES_IID)
     188             : 
     189             : };
     190             : 
     191             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_Classes, NS_IXPCCOMPONENTS_CLASSES_IID)
     192             : 
     193             : /* Use this macro when declaring classes that implement this interface. */
     194             : #define NS_DECL_NSIXPCCOMPONENTS_CLASSES \
     195             :   /* no methods! */
     196             : 
     197             : /* Use this macro when declaring the members of this interface when the
     198             :    class doesn't implement the interface. This is useful for forwarding. */
     199             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_CLASSES \
     200             :   /* no methods! */
     201             : 
     202             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     203             : #define NS_FORWARD_NSIXPCCOMPONENTS_CLASSES(_to) \
     204             :   /* no methods! */
     205             : 
     206             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     207             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_CLASSES(_to) \
     208             :   /* no methods! */
     209             : 
     210             : #if 0
     211             : /* Use the code below as a template for the implementation class for this interface. */
     212             : 
     213             : /* Header file */
     214             : class nsXPCComponents_Classes : public nsIXPCComponents_Classes
     215             : {
     216             : public:
     217             :   NS_DECL_ISUPPORTS
     218             :   NS_DECL_NSIXPCCOMPONENTS_CLASSES
     219             : 
     220             :   nsXPCComponents_Classes();
     221             : 
     222             : private:
     223             :   ~nsXPCComponents_Classes();
     224             : 
     225             : protected:
     226             :   /* additional members */
     227             : };
     228             : 
     229             : /* Implementation file */
     230             : NS_IMPL_ISUPPORTS(nsXPCComponents_Classes, nsIXPCComponents_Classes)
     231             : 
     232             : nsXPCComponents_Classes::nsXPCComponents_Classes()
     233             : {
     234             :   /* member initializers and constructor code */
     235             : }
     236             : 
     237             : nsXPCComponents_Classes::~nsXPCComponents_Classes()
     238             : {
     239             :   /* destructor code */
     240             : }
     241             : 
     242             : /* End of implementation class template. */
     243             : #endif
     244             : 
     245             : 
     246             : /* starting interface:    nsIXPCComponents_ClassesByID */
     247             : #define NS_IXPCCOMPONENTS_CLASSESBYID_IID_STR "336a9590-4d19-11d3-9893-006008962422"
     248             : 
     249             : #define NS_IXPCCOMPONENTS_CLASSESBYID_IID \
     250             :   {0x336a9590, 0x4d19, 0x11d3, \
     251             :     { 0x98, 0x93, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
     252             : 
     253           0 : class NS_NO_VTABLE nsIXPCComponents_ClassesByID : public nsISupports {
     254             :  public:
     255             : 
     256             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_CLASSESBYID_IID)
     257             : 
     258             : };
     259             : 
     260             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_ClassesByID, NS_IXPCCOMPONENTS_CLASSESBYID_IID)
     261             : 
     262             : /* Use this macro when declaring classes that implement this interface. */
     263             : #define NS_DECL_NSIXPCCOMPONENTS_CLASSESBYID \
     264             :   /* no methods! */
     265             : 
     266             : /* Use this macro when declaring the members of this interface when the
     267             :    class doesn't implement the interface. This is useful for forwarding. */
     268             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_CLASSESBYID \
     269             :   /* no methods! */
     270             : 
     271             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     272             : #define NS_FORWARD_NSIXPCCOMPONENTS_CLASSESBYID(_to) \
     273             :   /* no methods! */
     274             : 
     275             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     276             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_CLASSESBYID(_to) \
     277             :   /* no methods! */
     278             : 
     279             : #if 0
     280             : /* Use the code below as a template for the implementation class for this interface. */
     281             : 
     282             : /* Header file */
     283             : class nsXPCComponents_ClassesByID : public nsIXPCComponents_ClassesByID
     284             : {
     285             : public:
     286             :   NS_DECL_ISUPPORTS
     287             :   NS_DECL_NSIXPCCOMPONENTS_CLASSESBYID
     288             : 
     289             :   nsXPCComponents_ClassesByID();
     290             : 
     291             : private:
     292             :   ~nsXPCComponents_ClassesByID();
     293             : 
     294             : protected:
     295             :   /* additional members */
     296             : };
     297             : 
     298             : /* Implementation file */
     299             : NS_IMPL_ISUPPORTS(nsXPCComponents_ClassesByID, nsIXPCComponents_ClassesByID)
     300             : 
     301             : nsXPCComponents_ClassesByID::nsXPCComponents_ClassesByID()
     302             : {
     303             :   /* member initializers and constructor code */
     304             : }
     305             : 
     306             : nsXPCComponents_ClassesByID::~nsXPCComponents_ClassesByID()
     307             : {
     308             :   /* destructor code */
     309             : }
     310             : 
     311             : /* End of implementation class template. */
     312             : #endif
     313             : 
     314             : 
     315             : /* starting interface:    nsIXPCComponents_Results */
     316             : #define NS_IXPCCOMPONENTS_RESULTS_IID_STR "2fc229a0-5860-11d3-9899-006008962422"
     317             : 
     318             : #define NS_IXPCCOMPONENTS_RESULTS_IID \
     319             :   {0x2fc229a0, 0x5860, 0x11d3, \
     320             :     { 0x98, 0x99, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
     321             : 
     322         128 : class NS_NO_VTABLE nsIXPCComponents_Results : public nsISupports {
     323             :  public:
     324             : 
     325             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_RESULTS_IID)
     326             : 
     327             : };
     328             : 
     329             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_Results, NS_IXPCCOMPONENTS_RESULTS_IID)
     330             : 
     331             : /* Use this macro when declaring classes that implement this interface. */
     332             : #define NS_DECL_NSIXPCCOMPONENTS_RESULTS \
     333             :   /* no methods! */
     334             : 
     335             : /* Use this macro when declaring the members of this interface when the
     336             :    class doesn't implement the interface. This is useful for forwarding. */
     337             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_RESULTS \
     338             :   /* no methods! */
     339             : 
     340             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     341             : #define NS_FORWARD_NSIXPCCOMPONENTS_RESULTS(_to) \
     342             :   /* no methods! */
     343             : 
     344             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     345             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_RESULTS(_to) \
     346             :   /* no methods! */
     347             : 
     348             : #if 0
     349             : /* Use the code below as a template for the implementation class for this interface. */
     350             : 
     351             : /* Header file */
     352             : class nsXPCComponents_Results : public nsIXPCComponents_Results
     353             : {
     354             : public:
     355             :   NS_DECL_ISUPPORTS
     356             :   NS_DECL_NSIXPCCOMPONENTS_RESULTS
     357             : 
     358             :   nsXPCComponents_Results();
     359             : 
     360             : private:
     361             :   ~nsXPCComponents_Results();
     362             : 
     363             : protected:
     364             :   /* additional members */
     365             : };
     366             : 
     367             : /* Implementation file */
     368             : NS_IMPL_ISUPPORTS(nsXPCComponents_Results, nsIXPCComponents_Results)
     369             : 
     370             : nsXPCComponents_Results::nsXPCComponents_Results()
     371             : {
     372             :   /* member initializers and constructor code */
     373             : }
     374             : 
     375             : nsXPCComponents_Results::~nsXPCComponents_Results()
     376             : {
     377             :   /* destructor code */
     378             : }
     379             : 
     380             : /* End of implementation class template. */
     381             : #endif
     382             : 
     383             : 
     384             : /* starting interface:    nsIXPCComponents_ID */
     385             : #define NS_IXPCCOMPONENTS_ID_IID_STR "7994a6e0-e028-11d3-8f5d-0010a4e73d9a"
     386             : 
     387             : #define NS_IXPCCOMPONENTS_ID_IID \
     388             :   {0x7994a6e0, 0xe028, 0x11d3, \
     389             :     { 0x8f, 0x5d, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }}
     390             : 
     391          66 : class NS_NO_VTABLE nsIXPCComponents_ID : public nsISupports {
     392             :  public:
     393             : 
     394             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_ID_IID)
     395             : 
     396             : };
     397             : 
     398             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_ID, NS_IXPCCOMPONENTS_ID_IID)
     399             : 
     400             : /* Use this macro when declaring classes that implement this interface. */
     401             : #define NS_DECL_NSIXPCCOMPONENTS_ID \
     402             :   /* no methods! */
     403             : 
     404             : /* Use this macro when declaring the members of this interface when the
     405             :    class doesn't implement the interface. This is useful for forwarding. */
     406             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_ID \
     407             :   /* no methods! */
     408             : 
     409             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     410             : #define NS_FORWARD_NSIXPCCOMPONENTS_ID(_to) \
     411             :   /* no methods! */
     412             : 
     413             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     414             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_ID(_to) \
     415             :   /* no methods! */
     416             : 
     417             : #if 0
     418             : /* Use the code below as a template for the implementation class for this interface. */
     419             : 
     420             : /* Header file */
     421             : class nsXPCComponents_ID : public nsIXPCComponents_ID
     422             : {
     423             : public:
     424             :   NS_DECL_ISUPPORTS
     425             :   NS_DECL_NSIXPCCOMPONENTS_ID
     426             : 
     427             :   nsXPCComponents_ID();
     428             : 
     429             : private:
     430             :   ~nsXPCComponents_ID();
     431             : 
     432             : protected:
     433             :   /* additional members */
     434             : };
     435             : 
     436             : /* Implementation file */
     437             : NS_IMPL_ISUPPORTS(nsXPCComponents_ID, nsIXPCComponents_ID)
     438             : 
     439             : nsXPCComponents_ID::nsXPCComponents_ID()
     440             : {
     441             :   /* member initializers and constructor code */
     442             : }
     443             : 
     444             : nsXPCComponents_ID::~nsXPCComponents_ID()
     445             : {
     446             :   /* destructor code */
     447             : }
     448             : 
     449             : /* End of implementation class template. */
     450             : #endif
     451             : 
     452             : 
     453             : /* starting interface:    nsIXPCComponents_Exception */
     454             : #define NS_IXPCCOMPONENTS_EXCEPTION_IID_STR "5bf039c0-e028-11d3-8f5d-0010a4e73d9a"
     455             : 
     456             : #define NS_IXPCCOMPONENTS_EXCEPTION_IID \
     457             :   {0x5bf039c0, 0xe028, 0x11d3, \
     458             :     { 0x8f, 0x5d, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }}
     459             : 
     460           0 : class NS_NO_VTABLE nsIXPCComponents_Exception : public nsISupports {
     461             :  public:
     462             : 
     463             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_EXCEPTION_IID)
     464             : 
     465             : };
     466             : 
     467             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_Exception, NS_IXPCCOMPONENTS_EXCEPTION_IID)
     468             : 
     469             : /* Use this macro when declaring classes that implement this interface. */
     470             : #define NS_DECL_NSIXPCCOMPONENTS_EXCEPTION \
     471             :   /* no methods! */
     472             : 
     473             : /* Use this macro when declaring the members of this interface when the
     474             :    class doesn't implement the interface. This is useful for forwarding. */
     475             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_EXCEPTION \
     476             :   /* no methods! */
     477             : 
     478             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     479             : #define NS_FORWARD_NSIXPCCOMPONENTS_EXCEPTION(_to) \
     480             :   /* no methods! */
     481             : 
     482             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     483             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_EXCEPTION(_to) \
     484             :   /* no methods! */
     485             : 
     486             : #if 0
     487             : /* Use the code below as a template for the implementation class for this interface. */
     488             : 
     489             : /* Header file */
     490             : class nsXPCComponents_Exception : public nsIXPCComponents_Exception
     491             : {
     492             : public:
     493             :   NS_DECL_ISUPPORTS
     494             :   NS_DECL_NSIXPCCOMPONENTS_EXCEPTION
     495             : 
     496             :   nsXPCComponents_Exception();
     497             : 
     498             : private:
     499             :   ~nsXPCComponents_Exception();
     500             : 
     501             : protected:
     502             :   /* additional members */
     503             : };
     504             : 
     505             : /* Implementation file */
     506             : NS_IMPL_ISUPPORTS(nsXPCComponents_Exception, nsIXPCComponents_Exception)
     507             : 
     508             : nsXPCComponents_Exception::nsXPCComponents_Exception()
     509             : {
     510             :   /* member initializers and constructor code */
     511             : }
     512             : 
     513             : nsXPCComponents_Exception::~nsXPCComponents_Exception()
     514             : {
     515             :   /* destructor code */
     516             : }
     517             : 
     518             : /* End of implementation class template. */
     519             : #endif
     520             : 
     521             : 
     522             : /* starting interface:    nsIXPCComponents_Constructor */
     523             : #define NS_IXPCCOMPONENTS_CONSTRUCTOR_IID_STR "88655640-e028-11d3-8f5d-0010a4e73d9a"
     524             : 
     525             : #define NS_IXPCCOMPONENTS_CONSTRUCTOR_IID \
     526             :   {0x88655640, 0xe028, 0x11d3, \
     527             :     { 0x8f, 0x5d, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }}
     528             : 
     529           9 : class NS_NO_VTABLE nsIXPCComponents_Constructor : public nsISupports {
     530             :  public:
     531             : 
     532             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_CONSTRUCTOR_IID)
     533             : 
     534             : };
     535             : 
     536             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_Constructor, NS_IXPCCOMPONENTS_CONSTRUCTOR_IID)
     537             : 
     538             : /* Use this macro when declaring classes that implement this interface. */
     539             : #define NS_DECL_NSIXPCCOMPONENTS_CONSTRUCTOR \
     540             :   /* no methods! */
     541             : 
     542             : /* Use this macro when declaring the members of this interface when the
     543             :    class doesn't implement the interface. This is useful for forwarding. */
     544             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_CONSTRUCTOR \
     545             :   /* no methods! */
     546             : 
     547             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     548             : #define NS_FORWARD_NSIXPCCOMPONENTS_CONSTRUCTOR(_to) \
     549             :   /* no methods! */
     550             : 
     551             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     552             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_CONSTRUCTOR(_to) \
     553             :   /* no methods! */
     554             : 
     555             : #if 0
     556             : /* Use the code below as a template for the implementation class for this interface. */
     557             : 
     558             : /* Header file */
     559             : class nsXPCComponents_Constructor : public nsIXPCComponents_Constructor
     560             : {
     561             : public:
     562             :   NS_DECL_ISUPPORTS
     563             :   NS_DECL_NSIXPCCOMPONENTS_CONSTRUCTOR
     564             : 
     565             :   nsXPCComponents_Constructor();
     566             : 
     567             : private:
     568             :   ~nsXPCComponents_Constructor();
     569             : 
     570             : protected:
     571             :   /* additional members */
     572             : };
     573             : 
     574             : /* Implementation file */
     575             : NS_IMPL_ISUPPORTS(nsXPCComponents_Constructor, nsIXPCComponents_Constructor)
     576             : 
     577             : nsXPCComponents_Constructor::nsXPCComponents_Constructor()
     578             : {
     579             :   /* member initializers and constructor code */
     580             : }
     581             : 
     582             : nsXPCComponents_Constructor::~nsXPCComponents_Constructor()
     583             : {
     584             :   /* destructor code */
     585             : }
     586             : 
     587             : /* End of implementation class template. */
     588             : #endif
     589             : 
     590             : 
     591             : /* starting interface:    nsIXPCConstructor */
     592             : #define NS_IXPCCONSTRUCTOR_IID_STR "c814ca20-e0dc-11d3-8f5f-0010a4e73d9a"
     593             : 
     594             : #define NS_IXPCCONSTRUCTOR_IID \
     595             :   {0xc814ca20, 0xe0dc, 0x11d3, \
     596             :     { 0x8f, 0x5f, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }}
     597             : 
     598          10 : class NS_NO_VTABLE nsIXPCConstructor : public nsISupports {
     599             :  public:
     600             : 
     601             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCONSTRUCTOR_IID)
     602             : 
     603             :   /* readonly attribute nsIJSCID classID; */
     604             :   NS_IMETHOD GetClassID(nsIJSCID * *aClassID) = 0;
     605             : 
     606             :   /* readonly attribute nsIJSIID interfaceID; */
     607             :   NS_IMETHOD GetInterfaceID(nsIJSIID * *aInterfaceID) = 0;
     608             : 
     609             :   /* readonly attribute string initializer; */
     610             :   NS_IMETHOD GetInitializer(char * *aInitializer) = 0;
     611             : 
     612             : };
     613             : 
     614             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCConstructor, NS_IXPCCONSTRUCTOR_IID)
     615             : 
     616             : /* Use this macro when declaring classes that implement this interface. */
     617             : #define NS_DECL_NSIXPCCONSTRUCTOR \
     618             :   NS_IMETHOD GetClassID(nsIJSCID * *aClassID) override; \
     619             :   NS_IMETHOD GetInterfaceID(nsIJSIID * *aInterfaceID) override; \
     620             :   NS_IMETHOD GetInitializer(char * *aInitializer) override; 
     621             : 
     622             : /* Use this macro when declaring the members of this interface when the
     623             :    class doesn't implement the interface. This is useful for forwarding. */
     624             : #define NS_DECL_NON_VIRTUAL_NSIXPCCONSTRUCTOR \
     625             :   nsresult GetClassID(nsIJSCID * *aClassID); \
     626             :   nsresult GetInterfaceID(nsIJSIID * *aInterfaceID); \
     627             :   nsresult GetInitializer(char * *aInitializer); 
     628             : 
     629             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     630             : #define NS_FORWARD_NSIXPCCONSTRUCTOR(_to) \
     631             :   NS_IMETHOD GetClassID(nsIJSCID * *aClassID) override { return _to GetClassID(aClassID); } \
     632             :   NS_IMETHOD GetInterfaceID(nsIJSIID * *aInterfaceID) override { return _to GetInterfaceID(aInterfaceID); } \
     633             :   NS_IMETHOD GetInitializer(char * *aInitializer) override { return _to GetInitializer(aInitializer); } 
     634             : 
     635             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     636             : #define NS_FORWARD_SAFE_NSIXPCCONSTRUCTOR(_to) \
     637             :   NS_IMETHOD GetClassID(nsIJSCID * *aClassID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassID(aClassID); } \
     638             :   NS_IMETHOD GetInterfaceID(nsIJSIID * *aInterfaceID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInterfaceID(aInterfaceID); } \
     639             :   NS_IMETHOD GetInitializer(char * *aInitializer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInitializer(aInitializer); } 
     640             : 
     641             : #if 0
     642             : /* Use the code below as a template for the implementation class for this interface. */
     643             : 
     644             : /* Header file */
     645             : class nsXPCConstructor : public nsIXPCConstructor
     646             : {
     647             : public:
     648             :   NS_DECL_ISUPPORTS
     649             :   NS_DECL_NSIXPCCONSTRUCTOR
     650             : 
     651             :   nsXPCConstructor();
     652             : 
     653             : private:
     654             :   ~nsXPCConstructor();
     655             : 
     656             : protected:
     657             :   /* additional members */
     658             : };
     659             : 
     660             : /* Implementation file */
     661             : NS_IMPL_ISUPPORTS(nsXPCConstructor, nsIXPCConstructor)
     662             : 
     663             : nsXPCConstructor::nsXPCConstructor()
     664             : {
     665             :   /* member initializers and constructor code */
     666             : }
     667             : 
     668             : nsXPCConstructor::~nsXPCConstructor()
     669             : {
     670             :   /* destructor code */
     671             : }
     672             : 
     673             : /* readonly attribute nsIJSCID classID; */
     674             : NS_IMETHODIMP nsXPCConstructor::GetClassID(nsIJSCID * *aClassID)
     675             : {
     676             :     return NS_ERROR_NOT_IMPLEMENTED;
     677             : }
     678             : 
     679             : /* readonly attribute nsIJSIID interfaceID; */
     680             : NS_IMETHODIMP nsXPCConstructor::GetInterfaceID(nsIJSIID * *aInterfaceID)
     681             : {
     682             :     return NS_ERROR_NOT_IMPLEMENTED;
     683             : }
     684             : 
     685             : /* readonly attribute string initializer; */
     686             : NS_IMETHODIMP nsXPCConstructor::GetInitializer(char * *aInitializer)
     687             : {
     688             :     return NS_ERROR_NOT_IMPLEMENTED;
     689             : }
     690             : 
     691             : /* End of implementation class template. */
     692             : #endif
     693             : 
     694             : 
     695             : /* starting interface:    nsIXPCComponents_utils_Sandbox */
     696             : #define NS_IXPCCOMPONENTS_UTILS_SANDBOX_IID_STR "4f8ae0dc-d266-4a32-875b-6a9de71a8ce9"
     697             : 
     698             : #define NS_IXPCCOMPONENTS_UTILS_SANDBOX_IID \
     699             :   {0x4f8ae0dc, 0xd266, 0x4a32, \
     700             :     { 0x87, 0x5b, 0x6a, 0x9d, 0xe7, 0x1a, 0x8c, 0xe9 }}
     701             : 
     702           2 : class NS_NO_VTABLE nsIXPCComponents_utils_Sandbox : public nsISupports {
     703             :  public:
     704             : 
     705             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_UTILS_SANDBOX_IID)
     706             : 
     707             : };
     708             : 
     709             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_utils_Sandbox, NS_IXPCCOMPONENTS_UTILS_SANDBOX_IID)
     710             : 
     711             : /* Use this macro when declaring classes that implement this interface. */
     712             : #define NS_DECL_NSIXPCCOMPONENTS_UTILS_SANDBOX \
     713             :   /* no methods! */
     714             : 
     715             : /* Use this macro when declaring the members of this interface when the
     716             :    class doesn't implement the interface. This is useful for forwarding. */
     717             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_UTILS_SANDBOX \
     718             :   /* no methods! */
     719             : 
     720             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     721             : #define NS_FORWARD_NSIXPCCOMPONENTS_UTILS_SANDBOX(_to) \
     722             :   /* no methods! */
     723             : 
     724             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     725             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_UTILS_SANDBOX(_to) \
     726             :   /* no methods! */
     727             : 
     728             : #if 0
     729             : /* Use the code below as a template for the implementation class for this interface. */
     730             : 
     731             : /* Header file */
     732             : class nsXPCComponents_utils_Sandbox : public nsIXPCComponents_utils_Sandbox
     733             : {
     734             : public:
     735             :   NS_DECL_ISUPPORTS
     736             :   NS_DECL_NSIXPCCOMPONENTS_UTILS_SANDBOX
     737             : 
     738             :   nsXPCComponents_utils_Sandbox();
     739             : 
     740             : private:
     741             :   ~nsXPCComponents_utils_Sandbox();
     742             : 
     743             : protected:
     744             :   /* additional members */
     745             : };
     746             : 
     747             : /* Implementation file */
     748             : NS_IMPL_ISUPPORTS(nsXPCComponents_utils_Sandbox, nsIXPCComponents_utils_Sandbox)
     749             : 
     750             : nsXPCComponents_utils_Sandbox::nsXPCComponents_utils_Sandbox()
     751             : {
     752             :   /* member initializers and constructor code */
     753             : }
     754             : 
     755             : nsXPCComponents_utils_Sandbox::~nsXPCComponents_utils_Sandbox()
     756             : {
     757             :   /* destructor code */
     758             : }
     759             : 
     760             : /* End of implementation class template. */
     761             : #endif
     762             : 
     763             : 
     764             : /* starting interface:    ScheduledGCCallback */
     765             : #define SCHEDULEDGCCALLBACK_IID_STR "71000535-b0fd-44d1-8ce0-909760e3953c"
     766             : 
     767             : #define SCHEDULEDGCCALLBACK_IID \
     768             :   {0x71000535, 0xb0fd, 0x44d1, \
     769             :     { 0x8c, 0xe0, 0x90, 0x97, 0x60, 0xe3, 0x95, 0x3c }}
     770             : 
     771             : class NS_NO_VTABLE ScheduledGCCallback : public nsISupports {
     772             :  public:
     773             : 
     774             :   NS_DECLARE_STATIC_IID_ACCESSOR(SCHEDULEDGCCALLBACK_IID)
     775             : 
     776             :   /* void callback (); */
     777             :   NS_IMETHOD Callback(void) = 0;
     778             : 
     779             : };
     780             : 
     781             :   NS_DEFINE_STATIC_IID_ACCESSOR(ScheduledGCCallback, SCHEDULEDGCCALLBACK_IID)
     782             : 
     783             : /* Use this macro when declaring classes that implement this interface. */
     784             : #define NS_DECL_SCHEDULEDGCCALLBACK \
     785             :   NS_IMETHOD Callback(void) override; 
     786             : 
     787             : /* Use this macro when declaring the members of this interface when the
     788             :    class doesn't implement the interface. This is useful for forwarding. */
     789             : #define NS_DECL_NON_VIRTUAL_SCHEDULEDGCCALLBACK \
     790             :   nsresult Callback(void); 
     791             : 
     792             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     793             : #define NS_FORWARD_SCHEDULEDGCCALLBACK(_to) \
     794             :   NS_IMETHOD Callback(void) override { return _to Callback(); } 
     795             : 
     796             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     797             : #define NS_FORWARD_SAFE_SCHEDULEDGCCALLBACK(_to) \
     798             :   NS_IMETHOD Callback(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Callback(); } 
     799             : 
     800             : #if 0
     801             : /* Use the code below as a template for the implementation class for this interface. */
     802             : 
     803             : /* Header file */
     804             : class _MYCLASS_ : public ScheduledGCCallback
     805             : {
     806             : public:
     807             :   NS_DECL_ISUPPORTS
     808             :   NS_DECL_SCHEDULEDGCCALLBACK
     809             : 
     810             :   _MYCLASS_();
     811             : 
     812             : private:
     813             :   ~_MYCLASS_();
     814             : 
     815             : protected:
     816             :   /* additional members */
     817             : };
     818             : 
     819             : /* Implementation file */
     820             : NS_IMPL_ISUPPORTS(_MYCLASS_, ScheduledGCCallback)
     821             : 
     822             : _MYCLASS_::_MYCLASS_()
     823             : {
     824             :   /* member initializers and constructor code */
     825             : }
     826             : 
     827             : _MYCLASS_::~_MYCLASS_()
     828             : {
     829             :   /* destructor code */
     830             : }
     831             : 
     832             : /* void callback (); */
     833             : NS_IMETHODIMP _MYCLASS_::Callback()
     834             : {
     835             :     return NS_ERROR_NOT_IMPLEMENTED;
     836             : }
     837             : 
     838             : /* End of implementation class template. */
     839             : #endif
     840             : 
     841             : 
     842             : /* starting interface:    nsIXPCComponents_Utils */
     843             : #define NS_IXPCCOMPONENTS_UTILS_IID_STR "86003fe3-ee9a-4620-91dc-eef8b1e58815"
     844             : 
     845             : #define NS_IXPCCOMPONENTS_UTILS_IID \
     846             :   {0x86003fe3, 0xee9a, 0x4620, \
     847             :     { 0x91, 0xdc, 0xee, 0xf8, 0xb1, 0xe5, 0x88, 0x15 }}
     848             : 
     849         266 : class NS_NO_VTABLE nsIXPCComponents_Utils : public nsISupports {
     850             :  public:
     851             : 
     852             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_UTILS_IID)
     853             : 
     854             :   /* [implicit_jscontext] void reportError (in jsval error); */
     855             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) = 0;
     856             : 
     857             :   /* readonly attribute nsIXPCComponents_utils_Sandbox Sandbox; */
     858             :   NS_IMETHOD GetSandbox(nsIXPCComponents_utils_Sandbox * *aSandbox) = 0;
     859             : 
     860             :   /* [implicit_jscontext,optional_argc] jsval evalInSandbox (in AString source, in jsval sandbox, [optional] in jsval version, [optional] in AUTF8String filename, [optional] in long lineNo); */
     861             :   NS_IMETHOD EvalInSandbox(const nsAString & source, JS::HandleValue sandbox, JS::HandleValue version, const nsACString & filename, int32_t lineNo, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) = 0;
     862             : 
     863             :   /* [implicit_jscontext] jsval getSandboxAddonId (in jsval sandbox); */
     864             :   NS_IMETHOD GetSandboxAddonId(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) = 0;
     865             : 
     866             :   /* [implicit_jscontext] jsval getSandboxMetadata (in jsval sandbox); */
     867             :   NS_IMETHOD GetSandboxMetadata(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) = 0;
     868             : 
     869             :   /* [implicit_jscontext] void setSandboxMetadata (in jsval sandbox, in jsval metadata); */
     870             :   NS_IMETHOD SetSandboxMetadata(JS::HandleValue sandbox, JS::HandleValue metadata, JSContext* cx) = 0;
     871             : 
     872             :   /* [implicit_jscontext,optional_argc] jsval import (in AUTF8String aResourceURI, [optional] in jsval targetObj); */
     873             :   NS_IMETHOD Import(const nsACString & aResourceURI, JS::HandleValue targetObj, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) = 0;
     874             : 
     875             :   /* boolean isModuleLoaded (in AUTF8String aResourceURI); */
     876             :   NS_IMETHOD IsModuleLoaded(const nsACString & aResourceURI, bool *_retval) = 0;
     877             : 
     878             :   /* void unload (in AUTF8String registryLocation); */
     879             :   NS_IMETHOD Unload(const nsACString & registryLocation) = 0;
     880             : 
     881             :   /* [implicit_jscontext] void importGlobalProperties (in jsval aPropertyList); */
     882             :   NS_IMETHOD ImportGlobalProperties(JS::HandleValue aPropertyList, JSContext* cx) = 0;
     883             : 
     884             :   /* [implicit_jscontext] xpcIJSWeakReference getWeakReference (in jsval obj); */
     885             :   NS_IMETHOD GetWeakReference(JS::HandleValue obj, JSContext* cx, xpcIJSWeakReference * *_retval) = 0;
     886             : 
     887             :   /* void forceGC (); */
     888             :   NS_IMETHOD ForceGC(void) = 0;
     889             : 
     890             :   /* void forceCC ([optional] in nsICycleCollectorListener aListener); */
     891             :   NS_IMETHOD ForceCC(nsICycleCollectorListener *aListener) = 0;
     892             : 
     893             :   /* void finishCC (); */
     894             :   NS_IMETHOD FinishCC(void) = 0;
     895             : 
     896             :   /* void ccSlice (in long long budget); */
     897             :   NS_IMETHOD CcSlice(int64_t budget) = 0;
     898             : 
     899             :   /* long getMaxCCSliceTimeSinceClear (); */
     900             :   NS_IMETHOD GetMaxCCSliceTimeSinceClear(int32_t *_retval) = 0;
     901             : 
     902             :   /* void clearMaxCCTime (); */
     903             :   NS_IMETHOD ClearMaxCCTime(void) = 0;
     904             : 
     905             :   /* void forceShrinkingGC (); */
     906             :   NS_IMETHOD ForceShrinkingGC(void) = 0;
     907             : 
     908             :   /* void schedulePreciseGC (in ScheduledGCCallback callback); */
     909             :   NS_IMETHOD SchedulePreciseGC(ScheduledGCCallback *callback) = 0;
     910             : 
     911             :   /* void schedulePreciseShrinkingGC (in ScheduledGCCallback callback); */
     912             :   NS_IMETHOD SchedulePreciseShrinkingGC(ScheduledGCCallback *callback) = 0;
     913             : 
     914             :   /* void unlinkGhostWindows (); */
     915             :   NS_IMETHOD UnlinkGhostWindows(void) = 0;
     916             : 
     917             :   /* [implicit_jscontext] jsval getJSTestingFunctions (); */
     918             :   NS_IMETHOD GetJSTestingFunctions(JSContext* cx, JS::MutableHandleValue _retval) = 0;
     919             : 
     920             :   /* [implicit_jscontext] jsval callFunctionWithAsyncStack (in jsval function, in nsIStackFrame stack, in AString asyncCause); */
     921             :   NS_IMETHOD CallFunctionWithAsyncStack(JS::HandleValue function, nsIStackFrame *stack, const nsAString & asyncCause, JSContext* cx, JS::MutableHandleValue _retval) = 0;
     922             : 
     923             :   /* [implicit_jscontext] jsval getGlobalForObject (in jsval obj); */
     924             :   NS_IMETHOD GetGlobalForObject(JS::HandleValue obj, JSContext* cx, JS::MutableHandleValue _retval) = 0;
     925             : 
     926             :   /* [implicit_jscontext] boolean isProxy (in jsval vobject); */
     927             :   NS_IMETHOD IsProxy(JS::HandleValue vobject, JSContext* cx, bool *_retval) = 0;
     928             : 
     929             :   /* [implicit_jscontext] jsval exportFunction (in jsval vfunction, in jsval vscope, [optional] in jsval voptions); */
     930             :   NS_IMETHOD ExportFunction(JS::HandleValue vfunction, JS::HandleValue vscope, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) = 0;
     931             : 
     932             :   /* [implicit_jscontext] jsval createObjectIn (in jsval vobj, [optional] in jsval voptions); */
     933             :   NS_IMETHOD CreateObjectIn(JS::HandleValue vobj, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) = 0;
     934             : 
     935             :   /* [implicit_jscontext] void makeObjectPropsNormal (in jsval vobj); */
     936             :   NS_IMETHOD MakeObjectPropsNormal(JS::HandleValue vobj, JSContext* cx) = 0;
     937             : 
     938             :   /* bool isDeadWrapper (in jsval obj); */
     939             :   NS_IMETHOD IsDeadWrapper(JS::HandleValue obj, bool *_retval) = 0;
     940             : 
     941             :   /* bool isCrossProcessWrapper (in jsval obj); */
     942             :   NS_IMETHOD IsCrossProcessWrapper(JS::HandleValue obj, bool *_retval) = 0;
     943             : 
     944             :   /* ACString getCrossProcessWrapperTag (in jsval obj); */
     945             :   NS_IMETHOD GetCrossProcessWrapperTag(JS::HandleValue obj, nsACString & _retval) = 0;
     946             : 
     947             :   /* void permitCPOWsInScope (in jsval obj); */
     948             :   NS_IMETHOD PermitCPOWsInScope(JS::HandleValue obj) = 0;
     949             : 
     950             :   /* [implicit_jscontext] void recomputeWrappers ([optional] in jsval vobj); */
     951             :   NS_IMETHOD RecomputeWrappers(JS::HandleValue vobj, JSContext* cx) = 0;
     952             : 
     953             :   /* [implicit_jscontext] void setWantXrays (in jsval vscope); */
     954             :   NS_IMETHOD SetWantXrays(JS::HandleValue vscope, JSContext* cx) = 0;
     955             : 
     956             :   /* [implicit_jscontext] void forcePermissiveCOWs (); */
     957             :   NS_IMETHOD ForcePermissiveCOWs(JSContext* cx) = 0;
     958             : 
     959             :   /* [implicit_jscontext] void forcePrivilegedComponentsForScope (in jsval vscope); */
     960             :   NS_IMETHOD ForcePrivilegedComponentsForScope(JS::HandleValue vscope, JSContext* cx) = 0;
     961             : 
     962             :   /* [implicit_jscontext] jsval getComponentsForScope (in jsval vscope); */
     963             :   NS_IMETHOD GetComponentsForScope(JS::HandleValue vscope, JSContext* cx, JS::MutableHandleValue _retval) = 0;
     964             : 
     965             :   /* [implicit_jscontext] void dispatch (in jsval runnable, [optional] in jsval scope); */
     966             :   NS_IMETHOD Dispatch(JS::HandleValue runnable, JS::HandleValue scope, JSContext* cx) = 0;
     967             : 
     968             :   /* [implicit_jscontext] attribute boolean strict; */
     969             :   NS_IMETHOD GetStrict(JSContext* cx, bool *aStrict) = 0;
     970             :   NS_IMETHOD SetStrict(JSContext* cx, bool aStrict) = 0;
     971             : 
     972             :   /* [implicit_jscontext] attribute boolean werror; */
     973             :   NS_IMETHOD GetWerror(JSContext* cx, bool *aWerror) = 0;
     974             :   NS_IMETHOD SetWerror(JSContext* cx, bool aWerror) = 0;
     975             : 
     976             :   /* [implicit_jscontext] attribute boolean strict_mode; */
     977             :   NS_IMETHOD GetStrict_mode(JSContext* cx, bool *aStrict_mode) = 0;
     978             :   NS_IMETHOD SetStrict_mode(JSContext* cx, bool aStrict_mode) = 0;
     979             : 
     980             :   /* [implicit_jscontext] attribute boolean ion; */
     981             :   NS_IMETHOD GetIon(JSContext* cx, bool *aIon) = 0;
     982             :   NS_IMETHOD SetIon(JSContext* cx, bool aIon) = 0;
     983             : 
     984             :   /* readonly attribute boolean isInAutomation; */
     985             :   NS_IMETHOD GetIsInAutomation(bool *aIsInAutomation) = 0;
     986             : 
     987             :   /* void crashIfNotInAutomation (); */
     988             :   NS_IMETHOD CrashIfNotInAutomation(void) = 0;
     989             : 
     990             :   /* [implicit_jscontext] void setGCZeal (in long zeal); */
     991             :   NS_IMETHOD SetGCZeal(int32_t zeal, JSContext* cx) = 0;
     992             : 
     993             :   /* [implicit_jscontext] void nukeSandbox (in jsval obj); */
     994             :   NS_IMETHOD NukeSandbox(JS::HandleValue obj, JSContext* cx) = 0;
     995             : 
     996             :   /* [implicit_jscontext] void blockScriptForGlobal (in jsval global); */
     997             :   NS_IMETHOD BlockScriptForGlobal(JS::HandleValue global, JSContext* cx) = 0;
     998             : 
     999             :   /* [implicit_jscontext] void unblockScriptForGlobal (in jsval global); */
    1000             :   NS_IMETHOD UnblockScriptForGlobal(JS::HandleValue global, JSContext* cx) = 0;
    1001             : 
    1002             :   /* bool isXrayWrapper (in jsval obj); */
    1003             :   NS_IMETHOD IsXrayWrapper(JS::HandleValue obj, bool *_retval) = 0;
    1004             : 
    1005             :   /* [implicit_jscontext] jsval waiveXrays (in jsval aVal); */
    1006             :   NS_IMETHOD WaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) = 0;
    1007             : 
    1008             :   /* [implicit_jscontext] jsval unwaiveXrays (in jsval aVal); */
    1009             :   NS_IMETHOD UnwaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) = 0;
    1010             : 
    1011             :   /* [implicit_jscontext] string getClassName (in jsval aObj, in bool aUnwrap); */
    1012             :   NS_IMETHOD GetClassName(JS::HandleValue aObj, bool aUnwrap, JSContext* cx, char * *_retval) = 0;
    1013             : 
    1014             :   /* nsIClassInfo getDOMClassInfo (in AString aClassName); */
    1015             :   NS_IMETHOD GetDOMClassInfo(const nsAString & aClassName, nsIClassInfo * *_retval) = 0;
    1016             : 
    1017             :   /* [implicit_jscontext] jsval getIncumbentGlobal ([optional] in jsval callback); */
    1018             :   NS_IMETHOD GetIncumbentGlobal(JS::HandleValue callback, JSContext* cx, JS::MutableHandleValue _retval) = 0;
    1019             : 
    1020             :   /* [implicit_jscontext] nsISupports generateXPCWrappedJS (in jsval obj, [optional] in jsval scope); */
    1021             :   NS_IMETHOD GenerateXPCWrappedJS(JS::HandleValue obj, JS::HandleValue scope, JSContext* cx, nsISupports * *_retval) = 0;
    1022             : 
    1023             :   /* PRTime getWatchdogTimestamp (in AString aCategory); */
    1024             :   NS_IMETHOD GetWatchdogTimestamp(const nsAString & aCategory, PRTime *_retval) = 0;
    1025             : 
    1026             :   /* [implicit_jscontext] jsval getJSEngineTelemetryValue (); */
    1027             :   NS_IMETHOD GetJSEngineTelemetryValue(JSContext* cx, JS::MutableHandleValue _retval) = 0;
    1028             : 
    1029             :   /* [implicit_jscontext] jsval cloneInto (in jsval value, in jsval scope, [optional] in jsval options); */
    1030             :   NS_IMETHOD CloneInto(JS::HandleValue value, JS::HandleValue scope, JS::HandleValue options, JSContext* cx, JS::MutableHandleValue _retval) = 0;
    1031             : 
    1032             :   /* nsIPrincipal getWebIDLCallerPrincipal (); */
    1033             :   NS_IMETHOD GetWebIDLCallerPrincipal(nsIPrincipal * *_retval) = 0;
    1034             : 
    1035             :   /* [implicit_jscontext] nsIPrincipal getObjectPrincipal (in jsval obj); */
    1036             :   NS_IMETHOD GetObjectPrincipal(JS::HandleValue obj, JSContext* cx, nsIPrincipal * *_retval) = 0;
    1037             : 
    1038             :   /* [implicit_jscontext] ACString getCompartmentLocation (in jsval obj); */
    1039             :   NS_IMETHOD GetCompartmentLocation(JS::HandleValue obj, JSContext* cx, nsACString & _retval) = 0;
    1040             : 
    1041             :   /* [implicit_jscontext] void setAddonInterposition (in ACString addonId, in nsIAddonInterposition interposition); */
    1042             :   NS_IMETHOD SetAddonInterposition(const nsACString & addonId, nsIAddonInterposition *interposition, JSContext* cx) = 0;
    1043             : 
    1044             :   /* [implicit_jscontext] void setAddonCallInterposition (in jsval target); */
    1045             :   NS_IMETHOD SetAddonCallInterposition(JS::HandleValue target, JSContext* cx) = 0;
    1046             : 
    1047             :   /* [implicit_jscontext] void allowCPOWsInAddon (in ACString addonId, in bool allow); */
    1048             :   NS_IMETHOD AllowCPOWsInAddon(const nsACString & addonId, bool allow, JSContext* cx) = 0;
    1049             : 
    1050             :   /* double now (); */
    1051             :   NS_IMETHOD Now(double *_retval) = 0;
    1052             : 
    1053             : };
    1054             : 
    1055             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents_Utils, NS_IXPCCOMPONENTS_UTILS_IID)
    1056             : 
    1057             : /* Use this macro when declaring classes that implement this interface. */
    1058             : #define NS_DECL_NSIXPCCOMPONENTS_UTILS \
    1059             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) override; \
    1060             :   NS_IMETHOD GetSandbox(nsIXPCComponents_utils_Sandbox * *aSandbox) override; \
    1061             :   NS_IMETHOD EvalInSandbox(const nsAString & source, JS::HandleValue sandbox, JS::HandleValue version, const nsACString & filename, int32_t lineNo, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) override; \
    1062             :   NS_IMETHOD GetSandboxAddonId(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1063             :   NS_IMETHOD GetSandboxMetadata(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1064             :   NS_IMETHOD SetSandboxMetadata(JS::HandleValue sandbox, JS::HandleValue metadata, JSContext* cx) override; \
    1065             :   NS_IMETHOD Import(const nsACString & aResourceURI, JS::HandleValue targetObj, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) override; \
    1066             :   NS_IMETHOD IsModuleLoaded(const nsACString & aResourceURI, bool *_retval) override; \
    1067             :   NS_IMETHOD Unload(const nsACString & registryLocation) override; \
    1068             :   NS_IMETHOD ImportGlobalProperties(JS::HandleValue aPropertyList, JSContext* cx) override; \
    1069             :   NS_IMETHOD GetWeakReference(JS::HandleValue obj, JSContext* cx, xpcIJSWeakReference * *_retval) override; \
    1070             :   NS_IMETHOD ForceGC(void) override; \
    1071             :   NS_IMETHOD ForceCC(nsICycleCollectorListener *aListener) override; \
    1072             :   NS_IMETHOD FinishCC(void) override; \
    1073             :   NS_IMETHOD CcSlice(int64_t budget) override; \
    1074             :   NS_IMETHOD GetMaxCCSliceTimeSinceClear(int32_t *_retval) override; \
    1075             :   NS_IMETHOD ClearMaxCCTime(void) override; \
    1076             :   NS_IMETHOD ForceShrinkingGC(void) override; \
    1077             :   NS_IMETHOD SchedulePreciseGC(ScheduledGCCallback *callback) override; \
    1078             :   NS_IMETHOD SchedulePreciseShrinkingGC(ScheduledGCCallback *callback) override; \
    1079             :   NS_IMETHOD UnlinkGhostWindows(void) override; \
    1080             :   NS_IMETHOD GetJSTestingFunctions(JSContext* cx, JS::MutableHandleValue _retval) override; \
    1081             :   NS_IMETHOD CallFunctionWithAsyncStack(JS::HandleValue function, nsIStackFrame *stack, const nsAString & asyncCause, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1082             :   NS_IMETHOD GetGlobalForObject(JS::HandleValue obj, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1083             :   NS_IMETHOD IsProxy(JS::HandleValue vobject, JSContext* cx, bool *_retval) override; \
    1084             :   NS_IMETHOD ExportFunction(JS::HandleValue vfunction, JS::HandleValue vscope, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1085             :   NS_IMETHOD CreateObjectIn(JS::HandleValue vobj, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1086             :   NS_IMETHOD MakeObjectPropsNormal(JS::HandleValue vobj, JSContext* cx) override; \
    1087             :   NS_IMETHOD IsDeadWrapper(JS::HandleValue obj, bool *_retval) override; \
    1088             :   NS_IMETHOD IsCrossProcessWrapper(JS::HandleValue obj, bool *_retval) override; \
    1089             :   NS_IMETHOD GetCrossProcessWrapperTag(JS::HandleValue obj, nsACString & _retval) override; \
    1090             :   NS_IMETHOD PermitCPOWsInScope(JS::HandleValue obj) override; \
    1091             :   NS_IMETHOD RecomputeWrappers(JS::HandleValue vobj, JSContext* cx) override; \
    1092             :   NS_IMETHOD SetWantXrays(JS::HandleValue vscope, JSContext* cx) override; \
    1093             :   NS_IMETHOD ForcePermissiveCOWs(JSContext* cx) override; \
    1094             :   NS_IMETHOD ForcePrivilegedComponentsForScope(JS::HandleValue vscope, JSContext* cx) override; \
    1095             :   NS_IMETHOD GetComponentsForScope(JS::HandleValue vscope, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1096             :   NS_IMETHOD Dispatch(JS::HandleValue runnable, JS::HandleValue scope, JSContext* cx) override; \
    1097             :   NS_IMETHOD GetStrict(JSContext* cx, bool *aStrict) override; \
    1098             :   NS_IMETHOD SetStrict(JSContext* cx, bool aStrict) override; \
    1099             :   NS_IMETHOD GetWerror(JSContext* cx, bool *aWerror) override; \
    1100             :   NS_IMETHOD SetWerror(JSContext* cx, bool aWerror) override; \
    1101             :   NS_IMETHOD GetStrict_mode(JSContext* cx, bool *aStrict_mode) override; \
    1102             :   NS_IMETHOD SetStrict_mode(JSContext* cx, bool aStrict_mode) override; \
    1103             :   NS_IMETHOD GetIon(JSContext* cx, bool *aIon) override; \
    1104             :   NS_IMETHOD SetIon(JSContext* cx, bool aIon) override; \
    1105             :   NS_IMETHOD GetIsInAutomation(bool *aIsInAutomation) override; \
    1106             :   NS_IMETHOD CrashIfNotInAutomation(void) override; \
    1107             :   NS_IMETHOD SetGCZeal(int32_t zeal, JSContext* cx) override; \
    1108             :   NS_IMETHOD NukeSandbox(JS::HandleValue obj, JSContext* cx) override; \
    1109             :   NS_IMETHOD BlockScriptForGlobal(JS::HandleValue global, JSContext* cx) override; \
    1110             :   NS_IMETHOD UnblockScriptForGlobal(JS::HandleValue global, JSContext* cx) override; \
    1111             :   NS_IMETHOD IsXrayWrapper(JS::HandleValue obj, bool *_retval) override; \
    1112             :   NS_IMETHOD WaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1113             :   NS_IMETHOD UnwaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1114             :   NS_IMETHOD GetClassName(JS::HandleValue aObj, bool aUnwrap, JSContext* cx, char * *_retval) override; \
    1115             :   NS_IMETHOD GetDOMClassInfo(const nsAString & aClassName, nsIClassInfo * *_retval) override; \
    1116             :   NS_IMETHOD GetIncumbentGlobal(JS::HandleValue callback, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1117             :   NS_IMETHOD GenerateXPCWrappedJS(JS::HandleValue obj, JS::HandleValue scope, JSContext* cx, nsISupports * *_retval) override; \
    1118             :   NS_IMETHOD GetWatchdogTimestamp(const nsAString & aCategory, PRTime *_retval) override; \
    1119             :   NS_IMETHOD GetJSEngineTelemetryValue(JSContext* cx, JS::MutableHandleValue _retval) override; \
    1120             :   NS_IMETHOD CloneInto(JS::HandleValue value, JS::HandleValue scope, JS::HandleValue options, JSContext* cx, JS::MutableHandleValue _retval) override; \
    1121             :   NS_IMETHOD GetWebIDLCallerPrincipal(nsIPrincipal * *_retval) override; \
    1122             :   NS_IMETHOD GetObjectPrincipal(JS::HandleValue obj, JSContext* cx, nsIPrincipal * *_retval) override; \
    1123             :   NS_IMETHOD GetCompartmentLocation(JS::HandleValue obj, JSContext* cx, nsACString & _retval) override; \
    1124             :   NS_IMETHOD SetAddonInterposition(const nsACString & addonId, nsIAddonInterposition *interposition, JSContext* cx) override; \
    1125             :   NS_IMETHOD SetAddonCallInterposition(JS::HandleValue target, JSContext* cx) override; \
    1126             :   NS_IMETHOD AllowCPOWsInAddon(const nsACString & addonId, bool allow, JSContext* cx) override; \
    1127             :   NS_IMETHOD Now(double *_retval) override; 
    1128             : 
    1129             : /* Use this macro when declaring the members of this interface when the
    1130             :    class doesn't implement the interface. This is useful for forwarding. */
    1131             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS_UTILS \
    1132             :   nsresult ReportError(JS::HandleValue error, JSContext* cx); \
    1133             :   nsresult GetSandbox(nsIXPCComponents_utils_Sandbox * *aSandbox); \
    1134             :   nsresult EvalInSandbox(const nsAString & source, JS::HandleValue sandbox, JS::HandleValue version, const nsACString & filename, int32_t lineNo, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval); \
    1135             :   nsresult GetSandboxAddonId(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval); \
    1136             :   nsresult GetSandboxMetadata(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval); \
    1137             :   nsresult SetSandboxMetadata(JS::HandleValue sandbox, JS::HandleValue metadata, JSContext* cx); \
    1138             :   nsresult Import(const nsACString & aResourceURI, JS::HandleValue targetObj, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval); \
    1139             :   nsresult IsModuleLoaded(const nsACString & aResourceURI, bool *_retval); \
    1140             :   nsresult Unload(const nsACString & registryLocation); \
    1141             :   nsresult ImportGlobalProperties(JS::HandleValue aPropertyList, JSContext* cx); \
    1142             :   nsresult GetWeakReference(JS::HandleValue obj, JSContext* cx, xpcIJSWeakReference * *_retval); \
    1143             :   nsresult ForceGC(void); \
    1144             :   nsresult ForceCC(nsICycleCollectorListener *aListener); \
    1145             :   nsresult FinishCC(void); \
    1146             :   nsresult CcSlice(int64_t budget); \
    1147             :   nsresult GetMaxCCSliceTimeSinceClear(int32_t *_retval); \
    1148             :   nsresult ClearMaxCCTime(void); \
    1149             :   nsresult ForceShrinkingGC(void); \
    1150             :   nsresult SchedulePreciseGC(ScheduledGCCallback *callback); \
    1151             :   nsresult SchedulePreciseShrinkingGC(ScheduledGCCallback *callback); \
    1152             :   nsresult UnlinkGhostWindows(void); \
    1153             :   nsresult GetJSTestingFunctions(JSContext* cx, JS::MutableHandleValue _retval); \
    1154             :   nsresult CallFunctionWithAsyncStack(JS::HandleValue function, nsIStackFrame *stack, const nsAString & asyncCause, JSContext* cx, JS::MutableHandleValue _retval); \
    1155             :   nsresult GetGlobalForObject(JS::HandleValue obj, JSContext* cx, JS::MutableHandleValue _retval); \
    1156             :   nsresult IsProxy(JS::HandleValue vobject, JSContext* cx, bool *_retval); \
    1157             :   nsresult ExportFunction(JS::HandleValue vfunction, JS::HandleValue vscope, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval); \
    1158             :   nsresult CreateObjectIn(JS::HandleValue vobj, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval); \
    1159             :   nsresult MakeObjectPropsNormal(JS::HandleValue vobj, JSContext* cx); \
    1160             :   nsresult IsDeadWrapper(JS::HandleValue obj, bool *_retval); \
    1161             :   nsresult IsCrossProcessWrapper(JS::HandleValue obj, bool *_retval); \
    1162             :   nsresult GetCrossProcessWrapperTag(JS::HandleValue obj, nsACString & _retval); \
    1163             :   nsresult PermitCPOWsInScope(JS::HandleValue obj); \
    1164             :   nsresult RecomputeWrappers(JS::HandleValue vobj, JSContext* cx); \
    1165             :   nsresult SetWantXrays(JS::HandleValue vscope, JSContext* cx); \
    1166             :   nsresult ForcePermissiveCOWs(JSContext* cx); \
    1167             :   nsresult ForcePrivilegedComponentsForScope(JS::HandleValue vscope, JSContext* cx); \
    1168             :   nsresult GetComponentsForScope(JS::HandleValue vscope, JSContext* cx, JS::MutableHandleValue _retval); \
    1169             :   nsresult Dispatch(JS::HandleValue runnable, JS::HandleValue scope, JSContext* cx); \
    1170             :   nsresult GetStrict(JSContext* cx, bool *aStrict); \
    1171             :   nsresult SetStrict(JSContext* cx, bool aStrict); \
    1172             :   nsresult GetWerror(JSContext* cx, bool *aWerror); \
    1173             :   nsresult SetWerror(JSContext* cx, bool aWerror); \
    1174             :   nsresult GetStrict_mode(JSContext* cx, bool *aStrict_mode); \
    1175             :   nsresult SetStrict_mode(JSContext* cx, bool aStrict_mode); \
    1176             :   nsresult GetIon(JSContext* cx, bool *aIon); \
    1177             :   nsresult SetIon(JSContext* cx, bool aIon); \
    1178             :   nsresult GetIsInAutomation(bool *aIsInAutomation); \
    1179             :   nsresult CrashIfNotInAutomation(void); \
    1180             :   nsresult SetGCZeal(int32_t zeal, JSContext* cx); \
    1181             :   nsresult NukeSandbox(JS::HandleValue obj, JSContext* cx); \
    1182             :   nsresult BlockScriptForGlobal(JS::HandleValue global, JSContext* cx); \
    1183             :   nsresult UnblockScriptForGlobal(JS::HandleValue global, JSContext* cx); \
    1184             :   nsresult IsXrayWrapper(JS::HandleValue obj, bool *_retval); \
    1185             :   nsresult WaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval); \
    1186             :   nsresult UnwaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval); \
    1187             :   nsresult GetClassName(JS::HandleValue aObj, bool aUnwrap, JSContext* cx, char * *_retval); \
    1188             :   nsresult GetDOMClassInfo(const nsAString & aClassName, nsIClassInfo * *_retval); \
    1189             :   nsresult GetIncumbentGlobal(JS::HandleValue callback, JSContext* cx, JS::MutableHandleValue _retval); \
    1190             :   nsresult GenerateXPCWrappedJS(JS::HandleValue obj, JS::HandleValue scope, JSContext* cx, nsISupports * *_retval); \
    1191             :   nsresult GetWatchdogTimestamp(const nsAString & aCategory, PRTime *_retval); \
    1192             :   nsresult GetJSEngineTelemetryValue(JSContext* cx, JS::MutableHandleValue _retval); \
    1193             :   nsresult CloneInto(JS::HandleValue value, JS::HandleValue scope, JS::HandleValue options, JSContext* cx, JS::MutableHandleValue _retval); \
    1194             :   nsresult GetWebIDLCallerPrincipal(nsIPrincipal * *_retval); \
    1195             :   nsresult GetObjectPrincipal(JS::HandleValue obj, JSContext* cx, nsIPrincipal * *_retval); \
    1196             :   nsresult GetCompartmentLocation(JS::HandleValue obj, JSContext* cx, nsACString & _retval); \
    1197             :   nsresult SetAddonInterposition(const nsACString & addonId, nsIAddonInterposition *interposition, JSContext* cx); \
    1198             :   nsresult SetAddonCallInterposition(JS::HandleValue target, JSContext* cx); \
    1199             :   nsresult AllowCPOWsInAddon(const nsACString & addonId, bool allow, JSContext* cx); \
    1200             :   nsresult Now(double *_retval); 
    1201             : 
    1202             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
    1203             : #define NS_FORWARD_NSIXPCCOMPONENTS_UTILS(_to) \
    1204             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) override { return _to ReportError(error, cx); } \
    1205             :   NS_IMETHOD GetSandbox(nsIXPCComponents_utils_Sandbox * *aSandbox) override { return _to GetSandbox(aSandbox); } \
    1206             :   NS_IMETHOD EvalInSandbox(const nsAString & source, JS::HandleValue sandbox, JS::HandleValue version, const nsACString & filename, int32_t lineNo, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) override { return _to EvalInSandbox(source, sandbox, version, filename, lineNo, cx, _argc, _retval); } \
    1207             :   NS_IMETHOD GetSandboxAddonId(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetSandboxAddonId(sandbox, cx, _retval); } \
    1208             :   NS_IMETHOD GetSandboxMetadata(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetSandboxMetadata(sandbox, cx, _retval); } \
    1209             :   NS_IMETHOD SetSandboxMetadata(JS::HandleValue sandbox, JS::HandleValue metadata, JSContext* cx) override { return _to SetSandboxMetadata(sandbox, metadata, cx); } \
    1210             :   NS_IMETHOD Import(const nsACString & aResourceURI, JS::HandleValue targetObj, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) override { return _to Import(aResourceURI, targetObj, cx, _argc, _retval); } \
    1211             :   NS_IMETHOD IsModuleLoaded(const nsACString & aResourceURI, bool *_retval) override { return _to IsModuleLoaded(aResourceURI, _retval); } \
    1212             :   NS_IMETHOD Unload(const nsACString & registryLocation) override { return _to Unload(registryLocation); } \
    1213             :   NS_IMETHOD ImportGlobalProperties(JS::HandleValue aPropertyList, JSContext* cx) override { return _to ImportGlobalProperties(aPropertyList, cx); } \
    1214             :   NS_IMETHOD GetWeakReference(JS::HandleValue obj, JSContext* cx, xpcIJSWeakReference * *_retval) override { return _to GetWeakReference(obj, cx, _retval); } \
    1215             :   NS_IMETHOD ForceGC(void) override { return _to ForceGC(); } \
    1216             :   NS_IMETHOD ForceCC(nsICycleCollectorListener *aListener) override { return _to ForceCC(aListener); } \
    1217             :   NS_IMETHOD FinishCC(void) override { return _to FinishCC(); } \
    1218             :   NS_IMETHOD CcSlice(int64_t budget) override { return _to CcSlice(budget); } \
    1219             :   NS_IMETHOD GetMaxCCSliceTimeSinceClear(int32_t *_retval) override { return _to GetMaxCCSliceTimeSinceClear(_retval); } \
    1220             :   NS_IMETHOD ClearMaxCCTime(void) override { return _to ClearMaxCCTime(); } \
    1221             :   NS_IMETHOD ForceShrinkingGC(void) override { return _to ForceShrinkingGC(); } \
    1222             :   NS_IMETHOD SchedulePreciseGC(ScheduledGCCallback *callback) override { return _to SchedulePreciseGC(callback); } \
    1223             :   NS_IMETHOD SchedulePreciseShrinkingGC(ScheduledGCCallback *callback) override { return _to SchedulePreciseShrinkingGC(callback); } \
    1224             :   NS_IMETHOD UnlinkGhostWindows(void) override { return _to UnlinkGhostWindows(); } \
    1225             :   NS_IMETHOD GetJSTestingFunctions(JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetJSTestingFunctions(cx, _retval); } \
    1226             :   NS_IMETHOD CallFunctionWithAsyncStack(JS::HandleValue function, nsIStackFrame *stack, const nsAString & asyncCause, JSContext* cx, JS::MutableHandleValue _retval) override { return _to CallFunctionWithAsyncStack(function, stack, asyncCause, cx, _retval); } \
    1227             :   NS_IMETHOD GetGlobalForObject(JS::HandleValue obj, JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetGlobalForObject(obj, cx, _retval); } \
    1228             :   NS_IMETHOD IsProxy(JS::HandleValue vobject, JSContext* cx, bool *_retval) override { return _to IsProxy(vobject, cx, _retval); } \
    1229             :   NS_IMETHOD ExportFunction(JS::HandleValue vfunction, JS::HandleValue vscope, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) override { return _to ExportFunction(vfunction, vscope, voptions, cx, _retval); } \
    1230             :   NS_IMETHOD CreateObjectIn(JS::HandleValue vobj, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) override { return _to CreateObjectIn(vobj, voptions, cx, _retval); } \
    1231             :   NS_IMETHOD MakeObjectPropsNormal(JS::HandleValue vobj, JSContext* cx) override { return _to MakeObjectPropsNormal(vobj, cx); } \
    1232             :   NS_IMETHOD IsDeadWrapper(JS::HandleValue obj, bool *_retval) override { return _to IsDeadWrapper(obj, _retval); } \
    1233             :   NS_IMETHOD IsCrossProcessWrapper(JS::HandleValue obj, bool *_retval) override { return _to IsCrossProcessWrapper(obj, _retval); } \
    1234             :   NS_IMETHOD GetCrossProcessWrapperTag(JS::HandleValue obj, nsACString & _retval) override { return _to GetCrossProcessWrapperTag(obj, _retval); } \
    1235             :   NS_IMETHOD PermitCPOWsInScope(JS::HandleValue obj) override { return _to PermitCPOWsInScope(obj); } \
    1236             :   NS_IMETHOD RecomputeWrappers(JS::HandleValue vobj, JSContext* cx) override { return _to RecomputeWrappers(vobj, cx); } \
    1237             :   NS_IMETHOD SetWantXrays(JS::HandleValue vscope, JSContext* cx) override { return _to SetWantXrays(vscope, cx); } \
    1238             :   NS_IMETHOD ForcePermissiveCOWs(JSContext* cx) override { return _to ForcePermissiveCOWs(cx); } \
    1239             :   NS_IMETHOD ForcePrivilegedComponentsForScope(JS::HandleValue vscope, JSContext* cx) override { return _to ForcePrivilegedComponentsForScope(vscope, cx); } \
    1240             :   NS_IMETHOD GetComponentsForScope(JS::HandleValue vscope, JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetComponentsForScope(vscope, cx, _retval); } \
    1241             :   NS_IMETHOD Dispatch(JS::HandleValue runnable, JS::HandleValue scope, JSContext* cx) override { return _to Dispatch(runnable, scope, cx); } \
    1242             :   NS_IMETHOD GetStrict(JSContext* cx, bool *aStrict) override { return _to GetStrict(cx, aStrict); } \
    1243             :   NS_IMETHOD SetStrict(JSContext* cx, bool aStrict) override { return _to SetStrict(cx, aStrict); } \
    1244             :   NS_IMETHOD GetWerror(JSContext* cx, bool *aWerror) override { return _to GetWerror(cx, aWerror); } \
    1245             :   NS_IMETHOD SetWerror(JSContext* cx, bool aWerror) override { return _to SetWerror(cx, aWerror); } \
    1246             :   NS_IMETHOD GetStrict_mode(JSContext* cx, bool *aStrict_mode) override { return _to GetStrict_mode(cx, aStrict_mode); } \
    1247             :   NS_IMETHOD SetStrict_mode(JSContext* cx, bool aStrict_mode) override { return _to SetStrict_mode(cx, aStrict_mode); } \
    1248             :   NS_IMETHOD GetIon(JSContext* cx, bool *aIon) override { return _to GetIon(cx, aIon); } \
    1249             :   NS_IMETHOD SetIon(JSContext* cx, bool aIon) override { return _to SetIon(cx, aIon); } \
    1250             :   NS_IMETHOD GetIsInAutomation(bool *aIsInAutomation) override { return _to GetIsInAutomation(aIsInAutomation); } \
    1251             :   NS_IMETHOD CrashIfNotInAutomation(void) override { return _to CrashIfNotInAutomation(); } \
    1252             :   NS_IMETHOD SetGCZeal(int32_t zeal, JSContext* cx) override { return _to SetGCZeal(zeal, cx); } \
    1253             :   NS_IMETHOD NukeSandbox(JS::HandleValue obj, JSContext* cx) override { return _to NukeSandbox(obj, cx); } \
    1254             :   NS_IMETHOD BlockScriptForGlobal(JS::HandleValue global, JSContext* cx) override { return _to BlockScriptForGlobal(global, cx); } \
    1255             :   NS_IMETHOD UnblockScriptForGlobal(JS::HandleValue global, JSContext* cx) override { return _to UnblockScriptForGlobal(global, cx); } \
    1256             :   NS_IMETHOD IsXrayWrapper(JS::HandleValue obj, bool *_retval) override { return _to IsXrayWrapper(obj, _retval); } \
    1257             :   NS_IMETHOD WaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) override { return _to WaiveXrays(aVal, cx, _retval); } \
    1258             :   NS_IMETHOD UnwaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) override { return _to UnwaiveXrays(aVal, cx, _retval); } \
    1259             :   NS_IMETHOD GetClassName(JS::HandleValue aObj, bool aUnwrap, JSContext* cx, char * *_retval) override { return _to GetClassName(aObj, aUnwrap, cx, _retval); } \
    1260             :   NS_IMETHOD GetDOMClassInfo(const nsAString & aClassName, nsIClassInfo * *_retval) override { return _to GetDOMClassInfo(aClassName, _retval); } \
    1261             :   NS_IMETHOD GetIncumbentGlobal(JS::HandleValue callback, JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetIncumbentGlobal(callback, cx, _retval); } \
    1262             :   NS_IMETHOD GenerateXPCWrappedJS(JS::HandleValue obj, JS::HandleValue scope, JSContext* cx, nsISupports * *_retval) override { return _to GenerateXPCWrappedJS(obj, scope, cx, _retval); } \
    1263             :   NS_IMETHOD GetWatchdogTimestamp(const nsAString & aCategory, PRTime *_retval) override { return _to GetWatchdogTimestamp(aCategory, _retval); } \
    1264             :   NS_IMETHOD GetJSEngineTelemetryValue(JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetJSEngineTelemetryValue(cx, _retval); } \
    1265             :   NS_IMETHOD CloneInto(JS::HandleValue value, JS::HandleValue scope, JS::HandleValue options, JSContext* cx, JS::MutableHandleValue _retval) override { return _to CloneInto(value, scope, options, cx, _retval); } \
    1266             :   NS_IMETHOD GetWebIDLCallerPrincipal(nsIPrincipal * *_retval) override { return _to GetWebIDLCallerPrincipal(_retval); } \
    1267             :   NS_IMETHOD GetObjectPrincipal(JS::HandleValue obj, JSContext* cx, nsIPrincipal * *_retval) override { return _to GetObjectPrincipal(obj, cx, _retval); } \
    1268             :   NS_IMETHOD GetCompartmentLocation(JS::HandleValue obj, JSContext* cx, nsACString & _retval) override { return _to GetCompartmentLocation(obj, cx, _retval); } \
    1269             :   NS_IMETHOD SetAddonInterposition(const nsACString & addonId, nsIAddonInterposition *interposition, JSContext* cx) override { return _to SetAddonInterposition(addonId, interposition, cx); } \
    1270             :   NS_IMETHOD SetAddonCallInterposition(JS::HandleValue target, JSContext* cx) override { return _to SetAddonCallInterposition(target, cx); } \
    1271             :   NS_IMETHOD AllowCPOWsInAddon(const nsACString & addonId, bool allow, JSContext* cx) override { return _to AllowCPOWsInAddon(addonId, allow, cx); } \
    1272             :   NS_IMETHOD Now(double *_retval) override { return _to Now(_retval); } 
    1273             : 
    1274             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
    1275             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS_UTILS(_to) \
    1276             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ReportError(error, cx); } \
    1277             :   NS_IMETHOD GetSandbox(nsIXPCComponents_utils_Sandbox * *aSandbox) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSandbox(aSandbox); } \
    1278             :   NS_IMETHOD EvalInSandbox(const nsAString & source, JS::HandleValue sandbox, JS::HandleValue version, const nsACString & filename, int32_t lineNo, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->EvalInSandbox(source, sandbox, version, filename, lineNo, cx, _argc, _retval); } \
    1279             :   NS_IMETHOD GetSandboxAddonId(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSandboxAddonId(sandbox, cx, _retval); } \
    1280             :   NS_IMETHOD GetSandboxMetadata(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSandboxMetadata(sandbox, cx, _retval); } \
    1281             :   NS_IMETHOD SetSandboxMetadata(JS::HandleValue sandbox, JS::HandleValue metadata, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSandboxMetadata(sandbox, metadata, cx); } \
    1282             :   NS_IMETHOD Import(const nsACString & aResourceURI, JS::HandleValue targetObj, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Import(aResourceURI, targetObj, cx, _argc, _retval); } \
    1283             :   NS_IMETHOD IsModuleLoaded(const nsACString & aResourceURI, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsModuleLoaded(aResourceURI, _retval); } \
    1284             :   NS_IMETHOD Unload(const nsACString & registryLocation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Unload(registryLocation); } \
    1285             :   NS_IMETHOD ImportGlobalProperties(JS::HandleValue aPropertyList, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ImportGlobalProperties(aPropertyList, cx); } \
    1286             :   NS_IMETHOD GetWeakReference(JS::HandleValue obj, JSContext* cx, xpcIJSWeakReference * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWeakReference(obj, cx, _retval); } \
    1287             :   NS_IMETHOD ForceGC(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForceGC(); } \
    1288             :   NS_IMETHOD ForceCC(nsICycleCollectorListener *aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForceCC(aListener); } \
    1289             :   NS_IMETHOD FinishCC(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->FinishCC(); } \
    1290             :   NS_IMETHOD CcSlice(int64_t budget) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CcSlice(budget); } \
    1291             :   NS_IMETHOD GetMaxCCSliceTimeSinceClear(int32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxCCSliceTimeSinceClear(_retval); } \
    1292             :   NS_IMETHOD ClearMaxCCTime(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearMaxCCTime(); } \
    1293             :   NS_IMETHOD ForceShrinkingGC(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForceShrinkingGC(); } \
    1294             :   NS_IMETHOD SchedulePreciseGC(ScheduledGCCallback *callback) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SchedulePreciseGC(callback); } \
    1295             :   NS_IMETHOD SchedulePreciseShrinkingGC(ScheduledGCCallback *callback) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SchedulePreciseShrinkingGC(callback); } \
    1296             :   NS_IMETHOD UnlinkGhostWindows(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UnlinkGhostWindows(); } \
    1297             :   NS_IMETHOD GetJSTestingFunctions(JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSTestingFunctions(cx, _retval); } \
    1298             :   NS_IMETHOD CallFunctionWithAsyncStack(JS::HandleValue function, nsIStackFrame *stack, const nsAString & asyncCause, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CallFunctionWithAsyncStack(function, stack, asyncCause, cx, _retval); } \
    1299             :   NS_IMETHOD GetGlobalForObject(JS::HandleValue obj, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGlobalForObject(obj, cx, _retval); } \
    1300             :   NS_IMETHOD IsProxy(JS::HandleValue vobject, JSContext* cx, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsProxy(vobject, cx, _retval); } \
    1301             :   NS_IMETHOD ExportFunction(JS::HandleValue vfunction, JS::HandleValue vscope, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ExportFunction(vfunction, vscope, voptions, cx, _retval); } \
    1302             :   NS_IMETHOD CreateObjectIn(JS::HandleValue vobj, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateObjectIn(vobj, voptions, cx, _retval); } \
    1303             :   NS_IMETHOD MakeObjectPropsNormal(JS::HandleValue vobj, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MakeObjectPropsNormal(vobj, cx); } \
    1304             :   NS_IMETHOD IsDeadWrapper(JS::HandleValue obj, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsDeadWrapper(obj, _retval); } \
    1305             :   NS_IMETHOD IsCrossProcessWrapper(JS::HandleValue obj, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsCrossProcessWrapper(obj, _retval); } \
    1306             :   NS_IMETHOD GetCrossProcessWrapperTag(JS::HandleValue obj, nsACString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCrossProcessWrapperTag(obj, _retval); } \
    1307             :   NS_IMETHOD PermitCPOWsInScope(JS::HandleValue obj) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PermitCPOWsInScope(obj); } \
    1308             :   NS_IMETHOD RecomputeWrappers(JS::HandleValue vobj, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RecomputeWrappers(vobj, cx); } \
    1309             :   NS_IMETHOD SetWantXrays(JS::HandleValue vscope, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetWantXrays(vscope, cx); } \
    1310             :   NS_IMETHOD ForcePermissiveCOWs(JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForcePermissiveCOWs(cx); } \
    1311             :   NS_IMETHOD ForcePrivilegedComponentsForScope(JS::HandleValue vscope, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForcePrivilegedComponentsForScope(vscope, cx); } \
    1312             :   NS_IMETHOD GetComponentsForScope(JS::HandleValue vscope, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetComponentsForScope(vscope, cx, _retval); } \
    1313             :   NS_IMETHOD Dispatch(JS::HandleValue runnable, JS::HandleValue scope, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Dispatch(runnable, scope, cx); } \
    1314             :   NS_IMETHOD GetStrict(JSContext* cx, bool *aStrict) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStrict(cx, aStrict); } \
    1315             :   NS_IMETHOD SetStrict(JSContext* cx, bool aStrict) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStrict(cx, aStrict); } \
    1316             :   NS_IMETHOD GetWerror(JSContext* cx, bool *aWerror) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWerror(cx, aWerror); } \
    1317             :   NS_IMETHOD SetWerror(JSContext* cx, bool aWerror) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetWerror(cx, aWerror); } \
    1318             :   NS_IMETHOD GetStrict_mode(JSContext* cx, bool *aStrict_mode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStrict_mode(cx, aStrict_mode); } \
    1319             :   NS_IMETHOD SetStrict_mode(JSContext* cx, bool aStrict_mode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStrict_mode(cx, aStrict_mode); } \
    1320             :   NS_IMETHOD GetIon(JSContext* cx, bool *aIon) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIon(cx, aIon); } \
    1321             :   NS_IMETHOD SetIon(JSContext* cx, bool aIon) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIon(cx, aIon); } \
    1322             :   NS_IMETHOD GetIsInAutomation(bool *aIsInAutomation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsInAutomation(aIsInAutomation); } \
    1323             :   NS_IMETHOD CrashIfNotInAutomation(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CrashIfNotInAutomation(); } \
    1324             :   NS_IMETHOD SetGCZeal(int32_t zeal, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGCZeal(zeal, cx); } \
    1325             :   NS_IMETHOD NukeSandbox(JS::HandleValue obj, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NukeSandbox(obj, cx); } \
    1326             :   NS_IMETHOD BlockScriptForGlobal(JS::HandleValue global, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->BlockScriptForGlobal(global, cx); } \
    1327             :   NS_IMETHOD UnblockScriptForGlobal(JS::HandleValue global, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UnblockScriptForGlobal(global, cx); } \
    1328             :   NS_IMETHOD IsXrayWrapper(JS::HandleValue obj, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsXrayWrapper(obj, _retval); } \
    1329             :   NS_IMETHOD WaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->WaiveXrays(aVal, cx, _retval); } \
    1330             :   NS_IMETHOD UnwaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UnwaiveXrays(aVal, cx, _retval); } \
    1331             :   NS_IMETHOD GetClassName(JS::HandleValue aObj, bool aUnwrap, JSContext* cx, char * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassName(aObj, aUnwrap, cx, _retval); } \
    1332             :   NS_IMETHOD GetDOMClassInfo(const nsAString & aClassName, nsIClassInfo * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDOMClassInfo(aClassName, _retval); } \
    1333             :   NS_IMETHOD GetIncumbentGlobal(JS::HandleValue callback, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIncumbentGlobal(callback, cx, _retval); } \
    1334             :   NS_IMETHOD GenerateXPCWrappedJS(JS::HandleValue obj, JS::HandleValue scope, JSContext* cx, nsISupports * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GenerateXPCWrappedJS(obj, scope, cx, _retval); } \
    1335             :   NS_IMETHOD GetWatchdogTimestamp(const nsAString & aCategory, PRTime *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWatchdogTimestamp(aCategory, _retval); } \
    1336             :   NS_IMETHOD GetJSEngineTelemetryValue(JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSEngineTelemetryValue(cx, _retval); } \
    1337             :   NS_IMETHOD CloneInto(JS::HandleValue value, JS::HandleValue scope, JS::HandleValue options, JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CloneInto(value, scope, options, cx, _retval); } \
    1338             :   NS_IMETHOD GetWebIDLCallerPrincipal(nsIPrincipal * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWebIDLCallerPrincipal(_retval); } \
    1339             :   NS_IMETHOD GetObjectPrincipal(JS::HandleValue obj, JSContext* cx, nsIPrincipal * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetObjectPrincipal(obj, cx, _retval); } \
    1340             :   NS_IMETHOD GetCompartmentLocation(JS::HandleValue obj, JSContext* cx, nsACString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCompartmentLocation(obj, cx, _retval); } \
    1341             :   NS_IMETHOD SetAddonInterposition(const nsACString & addonId, nsIAddonInterposition *interposition, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAddonInterposition(addonId, interposition, cx); } \
    1342             :   NS_IMETHOD SetAddonCallInterposition(JS::HandleValue target, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAddonCallInterposition(target, cx); } \
    1343             :   NS_IMETHOD AllowCPOWsInAddon(const nsACString & addonId, bool allow, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AllowCPOWsInAddon(addonId, allow, cx); } \
    1344             :   NS_IMETHOD Now(double *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Now(_retval); } 
    1345             : 
    1346             : #if 0
    1347             : /* Use the code below as a template for the implementation class for this interface. */
    1348             : 
    1349             : /* Header file */
    1350             : class nsXPCComponents_Utils : public nsIXPCComponents_Utils
    1351             : {
    1352             : public:
    1353             :   NS_DECL_ISUPPORTS
    1354             :   NS_DECL_NSIXPCCOMPONENTS_UTILS
    1355             : 
    1356             :   nsXPCComponents_Utils();
    1357             : 
    1358             : private:
    1359             :   ~nsXPCComponents_Utils();
    1360             : 
    1361             : protected:
    1362             :   /* additional members */
    1363             : };
    1364             : 
    1365             : /* Implementation file */
    1366             : NS_IMPL_ISUPPORTS(nsXPCComponents_Utils, nsIXPCComponents_Utils)
    1367             : 
    1368             : nsXPCComponents_Utils::nsXPCComponents_Utils()
    1369             : {
    1370             :   /* member initializers and constructor code */
    1371             : }
    1372             : 
    1373             : nsXPCComponents_Utils::~nsXPCComponents_Utils()
    1374             : {
    1375             :   /* destructor code */
    1376             : }
    1377             : 
    1378             : /* [implicit_jscontext] void reportError (in jsval error); */
    1379             : NS_IMETHODIMP nsXPCComponents_Utils::ReportError(JS::HandleValue error, JSContext* cx)
    1380             : {
    1381             :     return NS_ERROR_NOT_IMPLEMENTED;
    1382             : }
    1383             : 
    1384             : /* readonly attribute nsIXPCComponents_utils_Sandbox Sandbox; */
    1385             : NS_IMETHODIMP nsXPCComponents_Utils::GetSandbox(nsIXPCComponents_utils_Sandbox * *aSandbox)
    1386             : {
    1387             :     return NS_ERROR_NOT_IMPLEMENTED;
    1388             : }
    1389             : 
    1390             : /* [implicit_jscontext,optional_argc] jsval evalInSandbox (in AString source, in jsval sandbox, [optional] in jsval version, [optional] in AUTF8String filename, [optional] in long lineNo); */
    1391             : NS_IMETHODIMP nsXPCComponents_Utils::EvalInSandbox(const nsAString & source, JS::HandleValue sandbox, JS::HandleValue version, const nsACString & filename, int32_t lineNo, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval)
    1392             : {
    1393             :     return NS_ERROR_NOT_IMPLEMENTED;
    1394             : }
    1395             : 
    1396             : /* [implicit_jscontext] jsval getSandboxAddonId (in jsval sandbox); */
    1397             : NS_IMETHODIMP nsXPCComponents_Utils::GetSandboxAddonId(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval)
    1398             : {
    1399             :     return NS_ERROR_NOT_IMPLEMENTED;
    1400             : }
    1401             : 
    1402             : /* [implicit_jscontext] jsval getSandboxMetadata (in jsval sandbox); */
    1403             : NS_IMETHODIMP nsXPCComponents_Utils::GetSandboxMetadata(JS::HandleValue sandbox, JSContext* cx, JS::MutableHandleValue _retval)
    1404             : {
    1405             :     return NS_ERROR_NOT_IMPLEMENTED;
    1406             : }
    1407             : 
    1408             : /* [implicit_jscontext] void setSandboxMetadata (in jsval sandbox, in jsval metadata); */
    1409             : NS_IMETHODIMP nsXPCComponents_Utils::SetSandboxMetadata(JS::HandleValue sandbox, JS::HandleValue metadata, JSContext* cx)
    1410             : {
    1411             :     return NS_ERROR_NOT_IMPLEMENTED;
    1412             : }
    1413             : 
    1414             : /* [implicit_jscontext,optional_argc] jsval import (in AUTF8String aResourceURI, [optional] in jsval targetObj); */
    1415             : NS_IMETHODIMP nsXPCComponents_Utils::Import(const nsACString & aResourceURI, JS::HandleValue targetObj, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval)
    1416             : {
    1417             :     return NS_ERROR_NOT_IMPLEMENTED;
    1418             : }
    1419             : 
    1420             : /* boolean isModuleLoaded (in AUTF8String aResourceURI); */
    1421             : NS_IMETHODIMP nsXPCComponents_Utils::IsModuleLoaded(const nsACString & aResourceURI, bool *_retval)
    1422             : {
    1423             :     return NS_ERROR_NOT_IMPLEMENTED;
    1424             : }
    1425             : 
    1426             : /* void unload (in AUTF8String registryLocation); */
    1427             : NS_IMETHODIMP nsXPCComponents_Utils::Unload(const nsACString & registryLocation)
    1428             : {
    1429             :     return NS_ERROR_NOT_IMPLEMENTED;
    1430             : }
    1431             : 
    1432             : /* [implicit_jscontext] void importGlobalProperties (in jsval aPropertyList); */
    1433             : NS_IMETHODIMP nsXPCComponents_Utils::ImportGlobalProperties(JS::HandleValue aPropertyList, JSContext* cx)
    1434             : {
    1435             :     return NS_ERROR_NOT_IMPLEMENTED;
    1436             : }
    1437             : 
    1438             : /* [implicit_jscontext] xpcIJSWeakReference getWeakReference (in jsval obj); */
    1439             : NS_IMETHODIMP nsXPCComponents_Utils::GetWeakReference(JS::HandleValue obj, JSContext* cx, xpcIJSWeakReference * *_retval)
    1440             : {
    1441             :     return NS_ERROR_NOT_IMPLEMENTED;
    1442             : }
    1443             : 
    1444             : /* void forceGC (); */
    1445             : NS_IMETHODIMP nsXPCComponents_Utils::ForceGC()
    1446             : {
    1447             :     return NS_ERROR_NOT_IMPLEMENTED;
    1448             : }
    1449             : 
    1450             : /* void forceCC ([optional] in nsICycleCollectorListener aListener); */
    1451             : NS_IMETHODIMP nsXPCComponents_Utils::ForceCC(nsICycleCollectorListener *aListener)
    1452             : {
    1453             :     return NS_ERROR_NOT_IMPLEMENTED;
    1454             : }
    1455             : 
    1456             : /* void finishCC (); */
    1457             : NS_IMETHODIMP nsXPCComponents_Utils::FinishCC()
    1458             : {
    1459             :     return NS_ERROR_NOT_IMPLEMENTED;
    1460             : }
    1461             : 
    1462             : /* void ccSlice (in long long budget); */
    1463             : NS_IMETHODIMP nsXPCComponents_Utils::CcSlice(int64_t budget)
    1464             : {
    1465             :     return NS_ERROR_NOT_IMPLEMENTED;
    1466             : }
    1467             : 
    1468             : /* long getMaxCCSliceTimeSinceClear (); */
    1469             : NS_IMETHODIMP nsXPCComponents_Utils::GetMaxCCSliceTimeSinceClear(int32_t *_retval)
    1470             : {
    1471             :     return NS_ERROR_NOT_IMPLEMENTED;
    1472             : }
    1473             : 
    1474             : /* void clearMaxCCTime (); */
    1475             : NS_IMETHODIMP nsXPCComponents_Utils::ClearMaxCCTime()
    1476             : {
    1477             :     return NS_ERROR_NOT_IMPLEMENTED;
    1478             : }
    1479             : 
    1480             : /* void forceShrinkingGC (); */
    1481             : NS_IMETHODIMP nsXPCComponents_Utils::ForceShrinkingGC()
    1482             : {
    1483             :     return NS_ERROR_NOT_IMPLEMENTED;
    1484             : }
    1485             : 
    1486             : /* void schedulePreciseGC (in ScheduledGCCallback callback); */
    1487             : NS_IMETHODIMP nsXPCComponents_Utils::SchedulePreciseGC(ScheduledGCCallback *callback)
    1488             : {
    1489             :     return NS_ERROR_NOT_IMPLEMENTED;
    1490             : }
    1491             : 
    1492             : /* void schedulePreciseShrinkingGC (in ScheduledGCCallback callback); */
    1493             : NS_IMETHODIMP nsXPCComponents_Utils::SchedulePreciseShrinkingGC(ScheduledGCCallback *callback)
    1494             : {
    1495             :     return NS_ERROR_NOT_IMPLEMENTED;
    1496             : }
    1497             : 
    1498             : /* void unlinkGhostWindows (); */
    1499             : NS_IMETHODIMP nsXPCComponents_Utils::UnlinkGhostWindows()
    1500             : {
    1501             :     return NS_ERROR_NOT_IMPLEMENTED;
    1502             : }
    1503             : 
    1504             : /* [implicit_jscontext] jsval getJSTestingFunctions (); */
    1505             : NS_IMETHODIMP nsXPCComponents_Utils::GetJSTestingFunctions(JSContext* cx, JS::MutableHandleValue _retval)
    1506             : {
    1507             :     return NS_ERROR_NOT_IMPLEMENTED;
    1508             : }
    1509             : 
    1510             : /* [implicit_jscontext] jsval callFunctionWithAsyncStack (in jsval function, in nsIStackFrame stack, in AString asyncCause); */
    1511             : NS_IMETHODIMP nsXPCComponents_Utils::CallFunctionWithAsyncStack(JS::HandleValue function, nsIStackFrame *stack, const nsAString & asyncCause, JSContext* cx, JS::MutableHandleValue _retval)
    1512             : {
    1513             :     return NS_ERROR_NOT_IMPLEMENTED;
    1514             : }
    1515             : 
    1516             : /* [implicit_jscontext] jsval getGlobalForObject (in jsval obj); */
    1517             : NS_IMETHODIMP nsXPCComponents_Utils::GetGlobalForObject(JS::HandleValue obj, JSContext* cx, JS::MutableHandleValue _retval)
    1518             : {
    1519             :     return NS_ERROR_NOT_IMPLEMENTED;
    1520             : }
    1521             : 
    1522             : /* [implicit_jscontext] boolean isProxy (in jsval vobject); */
    1523             : NS_IMETHODIMP nsXPCComponents_Utils::IsProxy(JS::HandleValue vobject, JSContext* cx, bool *_retval)
    1524             : {
    1525             :     return NS_ERROR_NOT_IMPLEMENTED;
    1526             : }
    1527             : 
    1528             : /* [implicit_jscontext] jsval exportFunction (in jsval vfunction, in jsval vscope, [optional] in jsval voptions); */
    1529             : NS_IMETHODIMP nsXPCComponents_Utils::ExportFunction(JS::HandleValue vfunction, JS::HandleValue vscope, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval)
    1530             : {
    1531             :     return NS_ERROR_NOT_IMPLEMENTED;
    1532             : }
    1533             : 
    1534             : /* [implicit_jscontext] jsval createObjectIn (in jsval vobj, [optional] in jsval voptions); */
    1535             : NS_IMETHODIMP nsXPCComponents_Utils::CreateObjectIn(JS::HandleValue vobj, JS::HandleValue voptions, JSContext* cx, JS::MutableHandleValue _retval)
    1536             : {
    1537             :     return NS_ERROR_NOT_IMPLEMENTED;
    1538             : }
    1539             : 
    1540             : /* [implicit_jscontext] void makeObjectPropsNormal (in jsval vobj); */
    1541             : NS_IMETHODIMP nsXPCComponents_Utils::MakeObjectPropsNormal(JS::HandleValue vobj, JSContext* cx)
    1542             : {
    1543             :     return NS_ERROR_NOT_IMPLEMENTED;
    1544             : }
    1545             : 
    1546             : /* bool isDeadWrapper (in jsval obj); */
    1547             : NS_IMETHODIMP nsXPCComponents_Utils::IsDeadWrapper(JS::HandleValue obj, bool *_retval)
    1548             : {
    1549             :     return NS_ERROR_NOT_IMPLEMENTED;
    1550             : }
    1551             : 
    1552             : /* bool isCrossProcessWrapper (in jsval obj); */
    1553             : NS_IMETHODIMP nsXPCComponents_Utils::IsCrossProcessWrapper(JS::HandleValue obj, bool *_retval)
    1554             : {
    1555             :     return NS_ERROR_NOT_IMPLEMENTED;
    1556             : }
    1557             : 
    1558             : /* ACString getCrossProcessWrapperTag (in jsval obj); */
    1559             : NS_IMETHODIMP nsXPCComponents_Utils::GetCrossProcessWrapperTag(JS::HandleValue obj, nsACString & _retval)
    1560             : {
    1561             :     return NS_ERROR_NOT_IMPLEMENTED;
    1562             : }
    1563             : 
    1564             : /* void permitCPOWsInScope (in jsval obj); */
    1565             : NS_IMETHODIMP nsXPCComponents_Utils::PermitCPOWsInScope(JS::HandleValue obj)
    1566             : {
    1567             :     return NS_ERROR_NOT_IMPLEMENTED;
    1568             : }
    1569             : 
    1570             : /* [implicit_jscontext] void recomputeWrappers ([optional] in jsval vobj); */
    1571             : NS_IMETHODIMP nsXPCComponents_Utils::RecomputeWrappers(JS::HandleValue vobj, JSContext* cx)
    1572             : {
    1573             :     return NS_ERROR_NOT_IMPLEMENTED;
    1574             : }
    1575             : 
    1576             : /* [implicit_jscontext] void setWantXrays (in jsval vscope); */
    1577             : NS_IMETHODIMP nsXPCComponents_Utils::SetWantXrays(JS::HandleValue vscope, JSContext* cx)
    1578             : {
    1579             :     return NS_ERROR_NOT_IMPLEMENTED;
    1580             : }
    1581             : 
    1582             : /* [implicit_jscontext] void forcePermissiveCOWs (); */
    1583             : NS_IMETHODIMP nsXPCComponents_Utils::ForcePermissiveCOWs(JSContext* cx)
    1584             : {
    1585             :     return NS_ERROR_NOT_IMPLEMENTED;
    1586             : }
    1587             : 
    1588             : /* [implicit_jscontext] void forcePrivilegedComponentsForScope (in jsval vscope); */
    1589             : NS_IMETHODIMP nsXPCComponents_Utils::ForcePrivilegedComponentsForScope(JS::HandleValue vscope, JSContext* cx)
    1590             : {
    1591             :     return NS_ERROR_NOT_IMPLEMENTED;
    1592             : }
    1593             : 
    1594             : /* [implicit_jscontext] jsval getComponentsForScope (in jsval vscope); */
    1595             : NS_IMETHODIMP nsXPCComponents_Utils::GetComponentsForScope(JS::HandleValue vscope, JSContext* cx, JS::MutableHandleValue _retval)
    1596             : {
    1597             :     return NS_ERROR_NOT_IMPLEMENTED;
    1598             : }
    1599             : 
    1600             : /* [implicit_jscontext] void dispatch (in jsval runnable, [optional] in jsval scope); */
    1601             : NS_IMETHODIMP nsXPCComponents_Utils::Dispatch(JS::HandleValue runnable, JS::HandleValue scope, JSContext* cx)
    1602             : {
    1603             :     return NS_ERROR_NOT_IMPLEMENTED;
    1604             : }
    1605             : 
    1606             : /* [implicit_jscontext] attribute boolean strict; */
    1607             : NS_IMETHODIMP nsXPCComponents_Utils::GetStrict(JSContext* cx, bool *aStrict)
    1608             : {
    1609             :     return NS_ERROR_NOT_IMPLEMENTED;
    1610             : }
    1611             : NS_IMETHODIMP nsXPCComponents_Utils::SetStrict(JSContext* cx, bool aStrict)
    1612             : {
    1613             :     return NS_ERROR_NOT_IMPLEMENTED;
    1614             : }
    1615             : 
    1616             : /* [implicit_jscontext] attribute boolean werror; */
    1617             : NS_IMETHODIMP nsXPCComponents_Utils::GetWerror(JSContext* cx, bool *aWerror)
    1618             : {
    1619             :     return NS_ERROR_NOT_IMPLEMENTED;
    1620             : }
    1621             : NS_IMETHODIMP nsXPCComponents_Utils::SetWerror(JSContext* cx, bool aWerror)
    1622             : {
    1623             :     return NS_ERROR_NOT_IMPLEMENTED;
    1624             : }
    1625             : 
    1626             : /* [implicit_jscontext] attribute boolean strict_mode; */
    1627             : NS_IMETHODIMP nsXPCComponents_Utils::GetStrict_mode(JSContext* cx, bool *aStrict_mode)
    1628             : {
    1629             :     return NS_ERROR_NOT_IMPLEMENTED;
    1630             : }
    1631             : NS_IMETHODIMP nsXPCComponents_Utils::SetStrict_mode(JSContext* cx, bool aStrict_mode)
    1632             : {
    1633             :     return NS_ERROR_NOT_IMPLEMENTED;
    1634             : }
    1635             : 
    1636             : /* [implicit_jscontext] attribute boolean ion; */
    1637             : NS_IMETHODIMP nsXPCComponents_Utils::GetIon(JSContext* cx, bool *aIon)
    1638             : {
    1639             :     return NS_ERROR_NOT_IMPLEMENTED;
    1640             : }
    1641             : NS_IMETHODIMP nsXPCComponents_Utils::SetIon(JSContext* cx, bool aIon)
    1642             : {
    1643             :     return NS_ERROR_NOT_IMPLEMENTED;
    1644             : }
    1645             : 
    1646             : /* readonly attribute boolean isInAutomation; */
    1647             : NS_IMETHODIMP nsXPCComponents_Utils::GetIsInAutomation(bool *aIsInAutomation)
    1648             : {
    1649             :     return NS_ERROR_NOT_IMPLEMENTED;
    1650             : }
    1651             : 
    1652             : /* void crashIfNotInAutomation (); */
    1653             : NS_IMETHODIMP nsXPCComponents_Utils::CrashIfNotInAutomation()
    1654             : {
    1655             :     return NS_ERROR_NOT_IMPLEMENTED;
    1656             : }
    1657             : 
    1658             : /* [implicit_jscontext] void setGCZeal (in long zeal); */
    1659             : NS_IMETHODIMP nsXPCComponents_Utils::SetGCZeal(int32_t zeal, JSContext* cx)
    1660             : {
    1661             :     return NS_ERROR_NOT_IMPLEMENTED;
    1662             : }
    1663             : 
    1664             : /* [implicit_jscontext] void nukeSandbox (in jsval obj); */
    1665             : NS_IMETHODIMP nsXPCComponents_Utils::NukeSandbox(JS::HandleValue obj, JSContext* cx)
    1666             : {
    1667             :     return NS_ERROR_NOT_IMPLEMENTED;
    1668             : }
    1669             : 
    1670             : /* [implicit_jscontext] void blockScriptForGlobal (in jsval global); */
    1671             : NS_IMETHODIMP nsXPCComponents_Utils::BlockScriptForGlobal(JS::HandleValue global, JSContext* cx)
    1672             : {
    1673             :     return NS_ERROR_NOT_IMPLEMENTED;
    1674             : }
    1675             : 
    1676             : /* [implicit_jscontext] void unblockScriptForGlobal (in jsval global); */
    1677             : NS_IMETHODIMP nsXPCComponents_Utils::UnblockScriptForGlobal(JS::HandleValue global, JSContext* cx)
    1678             : {
    1679             :     return NS_ERROR_NOT_IMPLEMENTED;
    1680             : }
    1681             : 
    1682             : /* bool isXrayWrapper (in jsval obj); */
    1683             : NS_IMETHODIMP nsXPCComponents_Utils::IsXrayWrapper(JS::HandleValue obj, bool *_retval)
    1684             : {
    1685             :     return NS_ERROR_NOT_IMPLEMENTED;
    1686             : }
    1687             : 
    1688             : /* [implicit_jscontext] jsval waiveXrays (in jsval aVal); */
    1689             : NS_IMETHODIMP nsXPCComponents_Utils::WaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval)
    1690             : {
    1691             :     return NS_ERROR_NOT_IMPLEMENTED;
    1692             : }
    1693             : 
    1694             : /* [implicit_jscontext] jsval unwaiveXrays (in jsval aVal); */
    1695             : NS_IMETHODIMP nsXPCComponents_Utils::UnwaiveXrays(JS::HandleValue aVal, JSContext* cx, JS::MutableHandleValue _retval)
    1696             : {
    1697             :     return NS_ERROR_NOT_IMPLEMENTED;
    1698             : }
    1699             : 
    1700             : /* [implicit_jscontext] string getClassName (in jsval aObj, in bool aUnwrap); */
    1701             : NS_IMETHODIMP nsXPCComponents_Utils::GetClassName(JS::HandleValue aObj, bool aUnwrap, JSContext* cx, char * *_retval)
    1702             : {
    1703             :     return NS_ERROR_NOT_IMPLEMENTED;
    1704             : }
    1705             : 
    1706             : /* nsIClassInfo getDOMClassInfo (in AString aClassName); */
    1707             : NS_IMETHODIMP nsXPCComponents_Utils::GetDOMClassInfo(const nsAString & aClassName, nsIClassInfo * *_retval)
    1708             : {
    1709             :     return NS_ERROR_NOT_IMPLEMENTED;
    1710             : }
    1711             : 
    1712             : /* [implicit_jscontext] jsval getIncumbentGlobal ([optional] in jsval callback); */
    1713             : NS_IMETHODIMP nsXPCComponents_Utils::GetIncumbentGlobal(JS::HandleValue callback, JSContext* cx, JS::MutableHandleValue _retval)
    1714             : {
    1715             :     return NS_ERROR_NOT_IMPLEMENTED;
    1716             : }
    1717             : 
    1718             : /* [implicit_jscontext] nsISupports generateXPCWrappedJS (in jsval obj, [optional] in jsval scope); */
    1719             : NS_IMETHODIMP nsXPCComponents_Utils::GenerateXPCWrappedJS(JS::HandleValue obj, JS::HandleValue scope, JSContext* cx, nsISupports * *_retval)
    1720             : {
    1721             :     return NS_ERROR_NOT_IMPLEMENTED;
    1722             : }
    1723             : 
    1724             : /* PRTime getWatchdogTimestamp (in AString aCategory); */
    1725             : NS_IMETHODIMP nsXPCComponents_Utils::GetWatchdogTimestamp(const nsAString & aCategory, PRTime *_retval)
    1726             : {
    1727             :     return NS_ERROR_NOT_IMPLEMENTED;
    1728             : }
    1729             : 
    1730             : /* [implicit_jscontext] jsval getJSEngineTelemetryValue (); */
    1731             : NS_IMETHODIMP nsXPCComponents_Utils::GetJSEngineTelemetryValue(JSContext* cx, JS::MutableHandleValue _retval)
    1732             : {
    1733             :     return NS_ERROR_NOT_IMPLEMENTED;
    1734             : }
    1735             : 
    1736             : /* [implicit_jscontext] jsval cloneInto (in jsval value, in jsval scope, [optional] in jsval options); */
    1737             : NS_IMETHODIMP nsXPCComponents_Utils::CloneInto(JS::HandleValue value, JS::HandleValue scope, JS::HandleValue options, JSContext* cx, JS::MutableHandleValue _retval)
    1738             : {
    1739             :     return NS_ERROR_NOT_IMPLEMENTED;
    1740             : }
    1741             : 
    1742             : /* nsIPrincipal getWebIDLCallerPrincipal (); */
    1743             : NS_IMETHODIMP nsXPCComponents_Utils::GetWebIDLCallerPrincipal(nsIPrincipal * *_retval)
    1744             : {
    1745             :     return NS_ERROR_NOT_IMPLEMENTED;
    1746             : }
    1747             : 
    1748             : /* [implicit_jscontext] nsIPrincipal getObjectPrincipal (in jsval obj); */
    1749             : NS_IMETHODIMP nsXPCComponents_Utils::GetObjectPrincipal(JS::HandleValue obj, JSContext* cx, nsIPrincipal * *_retval)
    1750             : {
    1751             :     return NS_ERROR_NOT_IMPLEMENTED;
    1752             : }
    1753             : 
    1754             : /* [implicit_jscontext] ACString getCompartmentLocation (in jsval obj); */
    1755             : NS_IMETHODIMP nsXPCComponents_Utils::GetCompartmentLocation(JS::HandleValue obj, JSContext* cx, nsACString & _retval)
    1756             : {
    1757             :     return NS_ERROR_NOT_IMPLEMENTED;
    1758             : }
    1759             : 
    1760             : /* [implicit_jscontext] void setAddonInterposition (in ACString addonId, in nsIAddonInterposition interposition); */
    1761             : NS_IMETHODIMP nsXPCComponents_Utils::SetAddonInterposition(const nsACString & addonId, nsIAddonInterposition *interposition, JSContext* cx)
    1762             : {
    1763             :     return NS_ERROR_NOT_IMPLEMENTED;
    1764             : }
    1765             : 
    1766             : /* [implicit_jscontext] void setAddonCallInterposition (in jsval target); */
    1767             : NS_IMETHODIMP nsXPCComponents_Utils::SetAddonCallInterposition(JS::HandleValue target, JSContext* cx)
    1768             : {
    1769             :     return NS_ERROR_NOT_IMPLEMENTED;
    1770             : }
    1771             : 
    1772             : /* [implicit_jscontext] void allowCPOWsInAddon (in ACString addonId, in bool allow); */
    1773             : NS_IMETHODIMP nsXPCComponents_Utils::AllowCPOWsInAddon(const nsACString & addonId, bool allow, JSContext* cx)
    1774             : {
    1775             :     return NS_ERROR_NOT_IMPLEMENTED;
    1776             : }
    1777             : 
    1778             : /* double now (); */
    1779             : NS_IMETHODIMP nsXPCComponents_Utils::Now(double *_retval)
    1780             : {
    1781             :     return NS_ERROR_NOT_IMPLEMENTED;
    1782             : }
    1783             : 
    1784             : /* End of implementation class template. */
    1785             : #endif
    1786             : 
    1787             : 
    1788             : /* starting interface:    nsIXPCComponentsBase */
    1789             : #define NS_IXPCCOMPONENTSBASE_IID_STR "eeeada2f-86c0-4609-b2bf-4bf2351b1ce6"
    1790             : 
    1791             : #define NS_IXPCCOMPONENTSBASE_IID \
    1792             :   {0xeeeada2f, 0x86c0, 0x4609, \
    1793             :     { 0xb2, 0xbf, 0x4b, 0xf2, 0x35, 0x1b, 0x1c, 0xe6 }}
    1794             : 
    1795         558 : class NS_NO_VTABLE nsIXPCComponentsBase : public nsISupports {
    1796             :  public:
    1797             : 
    1798             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTSBASE_IID)
    1799             : 
    1800             :   /* readonly attribute nsIXPCComponents_Interfaces interfaces; */
    1801             :   NS_IMETHOD GetInterfaces(nsIXPCComponents_Interfaces * *aInterfaces) = 0;
    1802             : 
    1803             :   /* readonly attribute nsIXPCComponents_InterfacesByID interfacesByID; */
    1804             :   NS_IMETHOD GetInterfacesByID(nsIXPCComponents_InterfacesByID * *aInterfacesByID) = 0;
    1805             : 
    1806             :   /* readonly attribute nsIXPCComponents_Results results; */
    1807             :   NS_IMETHOD GetResults(nsIXPCComponents_Results * *aResults) = 0;
    1808             : 
    1809             :   /* boolean isSuccessCode (in nsresult result); */
    1810             :   NS_IMETHOD IsSuccessCode(nsresult result, bool *_retval) = 0;
    1811             : 
    1812             : };
    1813             : 
    1814             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponentsBase, NS_IXPCCOMPONENTSBASE_IID)
    1815             : 
    1816             : /* Use this macro when declaring classes that implement this interface. */
    1817             : #define NS_DECL_NSIXPCCOMPONENTSBASE \
    1818             :   NS_IMETHOD GetInterfaces(nsIXPCComponents_Interfaces * *aInterfaces) override; \
    1819             :   NS_IMETHOD GetInterfacesByID(nsIXPCComponents_InterfacesByID * *aInterfacesByID) override; \
    1820             :   NS_IMETHOD GetResults(nsIXPCComponents_Results * *aResults) override; \
    1821             :   NS_IMETHOD IsSuccessCode(nsresult result, bool *_retval) override; 
    1822             : 
    1823             : /* Use this macro when declaring the members of this interface when the
    1824             :    class doesn't implement the interface. This is useful for forwarding. */
    1825             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTSBASE \
    1826             :   nsresult GetInterfaces(nsIXPCComponents_Interfaces * *aInterfaces); \
    1827             :   nsresult GetInterfacesByID(nsIXPCComponents_InterfacesByID * *aInterfacesByID); \
    1828             :   nsresult GetResults(nsIXPCComponents_Results * *aResults); \
    1829             :   nsresult IsSuccessCode(nsresult result, bool *_retval); 
    1830             : 
    1831             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
    1832             : #define NS_FORWARD_NSIXPCCOMPONENTSBASE(_to) \
    1833             :   NS_IMETHOD GetInterfaces(nsIXPCComponents_Interfaces * *aInterfaces) override { return _to GetInterfaces(aInterfaces); } \
    1834             :   NS_IMETHOD GetInterfacesByID(nsIXPCComponents_InterfacesByID * *aInterfacesByID) override { return _to GetInterfacesByID(aInterfacesByID); } \
    1835             :   NS_IMETHOD GetResults(nsIXPCComponents_Results * *aResults) override { return _to GetResults(aResults); } \
    1836             :   NS_IMETHOD IsSuccessCode(nsresult result, bool *_retval) override { return _to IsSuccessCode(result, _retval); } 
    1837             : 
    1838             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
    1839             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTSBASE(_to) \
    1840             :   NS_IMETHOD GetInterfaces(nsIXPCComponents_Interfaces * *aInterfaces) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInterfaces(aInterfaces); } \
    1841             :   NS_IMETHOD GetInterfacesByID(nsIXPCComponents_InterfacesByID * *aInterfacesByID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInterfacesByID(aInterfacesByID); } \
    1842             :   NS_IMETHOD GetResults(nsIXPCComponents_Results * *aResults) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResults(aResults); } \
    1843             :   NS_IMETHOD IsSuccessCode(nsresult result, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsSuccessCode(result, _retval); } 
    1844             : 
    1845             : #if 0
    1846             : /* Use the code below as a template for the implementation class for this interface. */
    1847             : 
    1848             : /* Header file */
    1849             : class nsXPCComponentsBase : public nsIXPCComponentsBase
    1850             : {
    1851             : public:
    1852             :   NS_DECL_ISUPPORTS
    1853             :   NS_DECL_NSIXPCCOMPONENTSBASE
    1854             : 
    1855             :   nsXPCComponentsBase();
    1856             : 
    1857             : private:
    1858             :   ~nsXPCComponentsBase();
    1859             : 
    1860             : protected:
    1861             :   /* additional members */
    1862             : };
    1863             : 
    1864             : /* Implementation file */
    1865             : NS_IMPL_ISUPPORTS(nsXPCComponentsBase, nsIXPCComponentsBase)
    1866             : 
    1867             : nsXPCComponentsBase::nsXPCComponentsBase()
    1868             : {
    1869             :   /* member initializers and constructor code */
    1870             : }
    1871             : 
    1872             : nsXPCComponentsBase::~nsXPCComponentsBase()
    1873             : {
    1874             :   /* destructor code */
    1875             : }
    1876             : 
    1877             : /* readonly attribute nsIXPCComponents_Interfaces interfaces; */
    1878             : NS_IMETHODIMP nsXPCComponentsBase::GetInterfaces(nsIXPCComponents_Interfaces * *aInterfaces)
    1879             : {
    1880             :     return NS_ERROR_NOT_IMPLEMENTED;
    1881             : }
    1882             : 
    1883             : /* readonly attribute nsIXPCComponents_InterfacesByID interfacesByID; */
    1884             : NS_IMETHODIMP nsXPCComponentsBase::GetInterfacesByID(nsIXPCComponents_InterfacesByID * *aInterfacesByID)
    1885             : {
    1886             :     return NS_ERROR_NOT_IMPLEMENTED;
    1887             : }
    1888             : 
    1889             : /* readonly attribute nsIXPCComponents_Results results; */
    1890             : NS_IMETHODIMP nsXPCComponentsBase::GetResults(nsIXPCComponents_Results * *aResults)
    1891             : {
    1892             :     return NS_ERROR_NOT_IMPLEMENTED;
    1893             : }
    1894             : 
    1895             : /* boolean isSuccessCode (in nsresult result); */
    1896             : NS_IMETHODIMP nsXPCComponentsBase::IsSuccessCode(nsresult result, bool *_retval)
    1897             : {
    1898             :     return NS_ERROR_NOT_IMPLEMENTED;
    1899             : }
    1900             : 
    1901             : /* End of implementation class template. */
    1902             : #endif
    1903             : 
    1904             : 
    1905             : /* starting interface:    nsIXPCComponents */
    1906             : #define NS_IXPCCOMPONENTS_IID_STR "aa28aaf6-70ce-4b03-9514-afe43c7dfda8"
    1907             : 
    1908             : #define NS_IXPCCOMPONENTS_IID \
    1909             :   {0xaa28aaf6, 0x70ce, 0x4b03, \
    1910             :     { 0x95, 0x14, 0xaf, 0xe4, 0x3c, 0x7d, 0xfd, 0xa8 }}
    1911             : 
    1912         279 : class NS_NO_VTABLE nsIXPCComponents : public nsIXPCComponentsBase {
    1913             :  public:
    1914             : 
    1915             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCCOMPONENTS_IID)
    1916             : 
    1917             :   /* readonly attribute nsIXPCComponents_Classes classes; */
    1918             :   NS_IMETHOD GetClasses(nsIXPCComponents_Classes * *aClasses) = 0;
    1919             : 
    1920             :   /* readonly attribute nsIXPCComponents_ClassesByID classesByID; */
    1921             :   NS_IMETHOD GetClassesByID(nsIXPCComponents_ClassesByID * *aClassesByID) = 0;
    1922             : 
    1923             :   /* readonly attribute nsIStackFrame stack; */
    1924             :   NS_IMETHOD GetStack(nsIStackFrame * *aStack) = 0;
    1925             : 
    1926             :   /* readonly attribute nsIComponentManager manager; */
    1927             :   NS_IMETHOD GetManager(nsIComponentManager * *aManager) = 0;
    1928             : 
    1929             :   /* readonly attribute nsIXPCComponents_Utils utils; */
    1930             :   NS_IMETHOD GetUtils(nsIXPCComponents_Utils * *aUtils) = 0;
    1931             : 
    1932             :   /* readonly attribute nsIXPCComponents_ID ID; */
    1933             :   NS_IMETHOD GetID(nsIXPCComponents_ID * *aID) = 0;
    1934             : 
    1935             :   /* readonly attribute nsIXPCComponents_Exception Exception; */
    1936             :   NS_IMETHOD GetException(nsIXPCComponents_Exception * *aException) = 0;
    1937             : 
    1938             :   /* readonly attribute nsIXPCComponents_Constructor Constructor; */
    1939             :   NS_IMETHOD GetConstructor(nsIXPCComponents_Constructor * *aConstructor) = 0;
    1940             : 
    1941             :   /* [implicit_jscontext] attribute jsval returnCode; */
    1942             :   NS_IMETHOD GetReturnCode(JSContext* cx, JS::MutableHandleValue aReturnCode) = 0;
    1943             :   NS_IMETHOD SetReturnCode(JSContext* cx, JS::HandleValue aReturnCode) = 0;
    1944             : 
    1945             :   /* [deprecated,implicit_jscontext] void reportError (in jsval error); */
    1946             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) = 0;
    1947             : 
    1948             : };
    1949             : 
    1950             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCComponents, NS_IXPCCOMPONENTS_IID)
    1951             : 
    1952             : /* Use this macro when declaring classes that implement this interface. */
    1953             : #define NS_DECL_NSIXPCCOMPONENTS \
    1954             :   NS_IMETHOD GetClasses(nsIXPCComponents_Classes * *aClasses) override; \
    1955             :   NS_IMETHOD GetClassesByID(nsIXPCComponents_ClassesByID * *aClassesByID) override; \
    1956             :   NS_IMETHOD GetStack(nsIStackFrame * *aStack) override; \
    1957             :   NS_IMETHOD GetManager(nsIComponentManager * *aManager) override; \
    1958             :   NS_IMETHOD GetUtils(nsIXPCComponents_Utils * *aUtils) override; \
    1959             :   NS_IMETHOD GetID(nsIXPCComponents_ID * *aID) override; \
    1960             :   NS_IMETHOD GetException(nsIXPCComponents_Exception * *aException) override; \
    1961             :   NS_IMETHOD GetConstructor(nsIXPCComponents_Constructor * *aConstructor) override; \
    1962             :   NS_IMETHOD GetReturnCode(JSContext* cx, JS::MutableHandleValue aReturnCode) override; \
    1963             :   NS_IMETHOD SetReturnCode(JSContext* cx, JS::HandleValue aReturnCode) override; \
    1964             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) override; 
    1965             : 
    1966             : /* Use this macro when declaring the members of this interface when the
    1967             :    class doesn't implement the interface. This is useful for forwarding. */
    1968             : #define NS_DECL_NON_VIRTUAL_NSIXPCCOMPONENTS \
    1969             :   nsresult GetClasses(nsIXPCComponents_Classes * *aClasses); \
    1970             :   nsresult GetClassesByID(nsIXPCComponents_ClassesByID * *aClassesByID); \
    1971             :   nsresult GetStack(nsIStackFrame * *aStack); \
    1972             :   nsresult GetManager(nsIComponentManager * *aManager); \
    1973             :   nsresult GetUtils(nsIXPCComponents_Utils * *aUtils); \
    1974             :   nsresult GetID(nsIXPCComponents_ID * *aID); \
    1975             :   nsresult GetException(nsIXPCComponents_Exception * *aException); \
    1976             :   nsresult GetConstructor(nsIXPCComponents_Constructor * *aConstructor); \
    1977             :   nsresult GetReturnCode(JSContext* cx, JS::MutableHandleValue aReturnCode); \
    1978             :   nsresult SetReturnCode(JSContext* cx, JS::HandleValue aReturnCode); \
    1979             :   nsresult ReportError(JS::HandleValue error, JSContext* cx); 
    1980             : 
    1981             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
    1982             : #define NS_FORWARD_NSIXPCCOMPONENTS(_to) \
    1983             :   NS_IMETHOD GetClasses(nsIXPCComponents_Classes * *aClasses) override { return _to GetClasses(aClasses); } \
    1984             :   NS_IMETHOD GetClassesByID(nsIXPCComponents_ClassesByID * *aClassesByID) override { return _to GetClassesByID(aClassesByID); } \
    1985             :   NS_IMETHOD GetStack(nsIStackFrame * *aStack) override { return _to GetStack(aStack); } \
    1986             :   NS_IMETHOD GetManager(nsIComponentManager * *aManager) override { return _to GetManager(aManager); } \
    1987             :   NS_IMETHOD GetUtils(nsIXPCComponents_Utils * *aUtils) override { return _to GetUtils(aUtils); } \
    1988             :   NS_IMETHOD GetID(nsIXPCComponents_ID * *aID) override { return _to GetID(aID); } \
    1989             :   NS_IMETHOD GetException(nsIXPCComponents_Exception * *aException) override { return _to GetException(aException); } \
    1990             :   NS_IMETHOD GetConstructor(nsIXPCComponents_Constructor * *aConstructor) override { return _to GetConstructor(aConstructor); } \
    1991             :   NS_IMETHOD GetReturnCode(JSContext* cx, JS::MutableHandleValue aReturnCode) override { return _to GetReturnCode(cx, aReturnCode); } \
    1992             :   NS_IMETHOD SetReturnCode(JSContext* cx, JS::HandleValue aReturnCode) override { return _to SetReturnCode(cx, aReturnCode); } \
    1993             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) override { return _to ReportError(error, cx); } 
    1994             : 
    1995             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
    1996             : #define NS_FORWARD_SAFE_NSIXPCCOMPONENTS(_to) \
    1997             :   NS_IMETHOD GetClasses(nsIXPCComponents_Classes * *aClasses) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClasses(aClasses); } \
    1998             :   NS_IMETHOD GetClassesByID(nsIXPCComponents_ClassesByID * *aClassesByID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassesByID(aClassesByID); } \
    1999             :   NS_IMETHOD GetStack(nsIStackFrame * *aStack) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStack(aStack); } \
    2000             :   NS_IMETHOD GetManager(nsIComponentManager * *aManager) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetManager(aManager); } \
    2001             :   NS_IMETHOD GetUtils(nsIXPCComponents_Utils * *aUtils) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUtils(aUtils); } \
    2002             :   NS_IMETHOD GetID(nsIXPCComponents_ID * *aID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetID(aID); } \
    2003             :   NS_IMETHOD GetException(nsIXPCComponents_Exception * *aException) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetException(aException); } \
    2004             :   NS_IMETHOD GetConstructor(nsIXPCComponents_Constructor * *aConstructor) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetConstructor(aConstructor); } \
    2005             :   NS_IMETHOD GetReturnCode(JSContext* cx, JS::MutableHandleValue aReturnCode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReturnCode(cx, aReturnCode); } \
    2006             :   NS_IMETHOD SetReturnCode(JSContext* cx, JS::HandleValue aReturnCode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReturnCode(cx, aReturnCode); } \
    2007             :   NS_IMETHOD ReportError(JS::HandleValue error, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ReportError(error, cx); } 
    2008             : 
    2009             : #if 0
    2010             : /* Use the code below as a template for the implementation class for this interface. */
    2011             : 
    2012             : /* Header file */
    2013             : class nsXPCComponents : public nsIXPCComponents
    2014             : {
    2015             : public:
    2016             :   NS_DECL_ISUPPORTS
    2017             :   NS_DECL_NSIXPCCOMPONENTS
    2018             : 
    2019             :   nsXPCComponents();
    2020             : 
    2021             : private:
    2022             :   ~nsXPCComponents();
    2023             : 
    2024             : protected:
    2025             :   /* additional members */
    2026             : };
    2027             : 
    2028             : /* Implementation file */
    2029             : NS_IMPL_ISUPPORTS(nsXPCComponents, nsIXPCComponents)
    2030             : 
    2031             : nsXPCComponents::nsXPCComponents()
    2032             : {
    2033             :   /* member initializers and constructor code */
    2034             : }
    2035             : 
    2036             : nsXPCComponents::~nsXPCComponents()
    2037             : {
    2038             :   /* destructor code */
    2039             : }
    2040             : 
    2041             : /* readonly attribute nsIXPCComponents_Classes classes; */
    2042             : NS_IMETHODIMP nsXPCComponents::GetClasses(nsIXPCComponents_Classes * *aClasses)
    2043             : {
    2044             :     return NS_ERROR_NOT_IMPLEMENTED;
    2045             : }
    2046             : 
    2047             : /* readonly attribute nsIXPCComponents_ClassesByID classesByID; */
    2048             : NS_IMETHODIMP nsXPCComponents::GetClassesByID(nsIXPCComponents_ClassesByID * *aClassesByID)
    2049             : {
    2050             :     return NS_ERROR_NOT_IMPLEMENTED;
    2051             : }
    2052             : 
    2053             : /* readonly attribute nsIStackFrame stack; */
    2054             : NS_IMETHODIMP nsXPCComponents::GetStack(nsIStackFrame * *aStack)
    2055             : {
    2056             :     return NS_ERROR_NOT_IMPLEMENTED;
    2057             : }
    2058             : 
    2059             : /* readonly attribute nsIComponentManager manager; */
    2060             : NS_IMETHODIMP nsXPCComponents::GetManager(nsIComponentManager * *aManager)
    2061             : {
    2062             :     return NS_ERROR_NOT_IMPLEMENTED;
    2063             : }
    2064             : 
    2065             : /* readonly attribute nsIXPCComponents_Utils utils; */
    2066             : NS_IMETHODIMP nsXPCComponents::GetUtils(nsIXPCComponents_Utils * *aUtils)
    2067             : {
    2068             :     return NS_ERROR_NOT_IMPLEMENTED;
    2069             : }
    2070             : 
    2071             : /* readonly attribute nsIXPCComponents_ID ID; */
    2072             : NS_IMETHODIMP nsXPCComponents::GetID(nsIXPCComponents_ID * *aID)
    2073             : {
    2074             :     return NS_ERROR_NOT_IMPLEMENTED;
    2075             : }
    2076             : 
    2077             : /* readonly attribute nsIXPCComponents_Exception Exception; */
    2078             : NS_IMETHODIMP nsXPCComponents::GetException(nsIXPCComponents_Exception * *aException)
    2079             : {
    2080             :     return NS_ERROR_NOT_IMPLEMENTED;
    2081             : }
    2082             : 
    2083             : /* readonly attribute nsIXPCComponents_Constructor Constructor; */
    2084             : NS_IMETHODIMP nsXPCComponents::GetConstructor(nsIXPCComponents_Constructor * *aConstructor)
    2085             : {
    2086             :     return NS_ERROR_NOT_IMPLEMENTED;
    2087             : }
    2088             : 
    2089             : /* [implicit_jscontext] attribute jsval returnCode; */
    2090             : NS_IMETHODIMP nsXPCComponents::GetReturnCode(JSContext* cx, JS::MutableHandleValue aReturnCode)
    2091             : {
    2092             :     return NS_ERROR_NOT_IMPLEMENTED;
    2093             : }
    2094             : NS_IMETHODIMP nsXPCComponents::SetReturnCode(JSContext* cx, JS::HandleValue aReturnCode)
    2095             : {
    2096             :     return NS_ERROR_NOT_IMPLEMENTED;
    2097             : }
    2098             : 
    2099             : /* [deprecated,implicit_jscontext] void reportError (in jsval error); */
    2100             : NS_IMETHODIMP nsXPCComponents::ReportError(JS::HandleValue error, JSContext* cx)
    2101             : {
    2102             :     return NS_ERROR_NOT_IMPLEMENTED;
    2103             : }
    2104             : 
    2105             : /* End of implementation class template. */
    2106             : #endif
    2107             : 
    2108             : 
    2109             : #endif /* __gen_xpccomponents_h__ */

Generated by: LCOV version 1.13