Struct xpcom::interfaces::nsIAddonInterposition [] [src]

#[repr(C)]
pub struct nsIAddonInterposition { /* fields omitted */ }

interface nsIAddonInterposition : nsISupports

/**
 * This interface allows Firefox to expose different implementations of its own
 * classes to add-ons. Once an interposition is created, it must be assigned to
 * an add-on using Cu.setAddonInterposition (JS) or xpc::SetAddonInterposition
 * (C++). In both cases, the arguments should be the add-on ID and the
 * interposition object (which must be an nsIAddonInterposition). This must
 * happen before any compartments are created for the given add-on.
 *
 * Every time the add-on accesses a property on any object outside its own set
 * of compartments, XPConnect will call the interposition's
 * interpose method. If the interposition wants to replace the given
 * property, it should return a replacement property descriptor for it. If not,
 * it should return null.
 */

Methods

impl nsIAddonInterposition
[src]

[src]

Cast this nsIAddonInterposition to one of its base interfaces.

Methods from Deref<Target = nsISupports>

[src]

Cast this nsISupports to one of its base interfaces.

[src]

void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);

[src]

[noscript,notxpcom] nsrefcnt AddRef ();

[src]

[noscript,notxpcom] nsrefcnt Release ();

Trait Implementations

impl XpCom for nsIAddonInterposition
[src]

IID: nsIID = nsID(3495740925, 44424, 16806, [133, 76, 54, 253, 148, 214, 157, 219])

[src]

Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more

impl RefCounted for nsIAddonInterposition
[src]

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsIAddonInterposition
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.