<?xml version="1.0"?>
<doc>
    <assembly>
        <name>XulFx</name>
    </assembly>
    <members>
        <member name="T:Gecko.Cache.LoadContextInfo">
            <summary>
            Helper class to carry informatin about the load context
            encapsulating an AppID, IsInBrowser and IsPrivite properties.
            </summary>
        </member>
        <member name="P:Gecko.Cache.LoadContextInfo.IsPrivate">
            <summary>
            Whether the context is in a Private Browsing mode
            </summary>
        </member>
        <member name="P:Gecko.Cache.LoadContextInfo.IsAnonymous">
            <summary>
            Whether the load is initiated as anonymous
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITextInputProcessorCallback">
            <summary>
            nsITextInputProcessorCallback is a callback interface for JS to implement
            IME.  IME implemented by JS can implement onNotify() function and must send
            it to nsITextInputProcessor at initializing.  Then, onNotify() will be
            called with nsITextInputProcessorNotification instance.
            The reason why onNotify() uses string simply is that if we will support
            other notifications such as text changes and selection changes, we need to
            notify IME of some other information.  Then, only changing
            nsITextInputProcessorNotification interface is better for compatibility.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessorCallback.OnNotify(Gecko.Interfaces.nsITextInputProcessor,Gecko.Interfaces.nsITextInputProcessorNotification)">
            <summary>
            When Gecko notifies IME of something or requests something to IME,
            this is called.
            </summary>
            <param name="aTextInputProcessor">
            Reference to the nsITextInputProcessor service
            which is the original receiver of the request
            or notification.
            </param>
            <param name="aNotification">
            Stores type of notifications and additional
            information.
            </param>
            <returns>
            Return true if it succeeded or does nothing.
            Otherwise, return false.
            
            Example #1 The simplest implementation of nsITextInputProcessorCallback is:
            
            function simpleCallback(aTIP, aNotification)
            {
            try {
            switch (aNotification.type) {
            case &quot;request-to-commit&quot;:
            aTIP.commitComposition();
            break;
            case &quot;request-to-cancel&quot;:
            aTIP.cancelComposition();
            break;
            }
            } catch (e) {
            return false;
            }
            return true;
            }
            
            var TIP = Components.classes[&quot;@mozilla.org/text-input-processor;1&quot;].
            createInstance(Components.interfaces.nsITextInputProcessor);
            if (!TIP.init(window, simpleCallback)) {
            return;
            }
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIStringEnumerator">
            <summary>
            Used to enumerate over an ordered list of strings.
            </summary>
        </member>
        <member name="T:Gecko.GeckoFocusFlags">
            <summary>
            
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.Raise">
            <summary>
            Raise the window when switching focus
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.NoScroll">
            <summary>
            Do not scroll the element to focus into view.
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.NoSwitchFrame">
            <summary>
            If attempting to change focus in a window that is not focused, do not
            switch focus to that window. Instead, just update the focus within
            that window and leave the application focus as is. This flag will have
            no effect if a child window is focused and an attempt is made to adjust
            the focus in an ancestor, as the frame must be switched in this case.
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.NoParentFrame">
            <summary>
            This flag is only used when passed to moveFocus. If set, focus is never
            moved to the parent frame of the starting element&apos;s document, instead
            iterating around to the beginning of that document again. Child frames
            are navigated as normal.
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.ByMouse">
            <summary>
            Focus is changing due to a mouse operation, for instance the mouse was clicked on an element.
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.ByKey">
            <summary>
            Focus is changing due to a key operation, for instance pressing the tab key.
            This flag would normally be passed when move type forward or backward is used.
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.ByMoveFocus">
            <summary>
            Focus is changing due to a call to MoveFocus(). This flag will be implied
            when MoveFocus() is called except when one of the other mechanisms
            (mouse or key) is specified, or when the move type is root or caret.
            </summary>
        </member>
        <member name="F:Gecko.GeckoFocusFlags.ShowRing">
            <summary>
            Always show the focus ring or other indicator of focus, regardless of other state.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.amIAddonManager">
            <summary>
            A service to make some AddonManager functionality available to C++ callers.
            Javascript callers should still use AddonManager.jsm directly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIAddonManager.MapURIToAddonID(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Synchronously map a URI to the corresponding Addon ID.
            
            Mappable URIs are limited to in-application resources belonging to the
            add-on, such as Javascript compartments, XUL windows, XBL bindings, etc.
            but do not include URIs from meta data, such as the add-on homepage.
            </summary>
            <param name="aURI">
            The nsIURI to map
            </param>
            <returns>
            true if the URI has been mapped successfully to an Addon ID
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlacesPendingOperation.Cancel">
            <summary>
            Cancels a pending operation, if possible.  This will only fail if you try
            to cancel more than once.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibilityService">
            <summary>
            An interface for in-process accessibility clients wishing to get an
            nsIAccessible for a given DOM node.  More documentation at:
            http://www.mozilla.org/projects/ui/accessibility
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.GetApplicationAccessible">
            <summary>
            Return application accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.GetAccessibleFor(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Return an nsIAccessible for a DOM node in pres shell 0.
            Create a new accessible of the appropriate type if necessary,
            or use one from the accessibility cache if it already exists.
            </summary>
            <param name="aNode">
            The DOM node to get an accessible for.
            </param>
            <returns>
            The nsIAccessible for the given DOM node.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.GetStringRole(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Returns accessible role as a string.
            </summary>
            <param name="aRole">
            - the accessible role constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.GetStringStates(System.UInt32,System.UInt32)">
            <summary>
            Returns list which contains accessible states as a strings.
            </summary>
            <param name="aStates">
            - accessible states.
            </param>
            <param name="aExtraStates">
            - accessible extra states.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.GetStringEventType(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Get the type of accessible event as a string.
            </summary>
            <param name="aEventType">
            - the accessible event type constant
            </param>
            <returns>
            - accessible event type presented as human readable string
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.GetStringRelationType(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Get the type of accessible relation as a string.
            </summary>
            <param name="aRelationType">
            - the accessible relation type constant
            </param>
            <returns>
            - accessible relation type presented as human readable string
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.GetAccessibleFromCache(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Return an accessible for the given DOM node from the cache.
            </summary>
            <param name="aNode">
            [in] the DOM node to get an accessible for
            </param>
            <returns>
            cached accessible for the given DOM node if any
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.CreateAccessiblePivot(Gecko.Interfaces.nsIAccessible)">
            <summary>
            Create a new pivot for tracking a position and traversing a subtree.
            </summary>
            <param name="aRoot">
            [in] the accessible root for the pivot
            </param>
            <returns>
            a new pivot
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.SetLogging(Gecko.nsACStringBase)">
            <summary>
            Enable logging for the given modules, all other modules aren&apos;t logged.
            </summary>
            <param name="aModules">
            [in] list of modules, format is comma separated list
            like &apos;docload,doccreate&apos;.
            </param>
            <remarks>
            See Logging.cpp for list of possible values.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibilityService.IsLogged(Gecko.nsAStringBase)">
            <summary>
            Return true if the given module is logged.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleRetrieval">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.GetApplicationAccessible">
            <summary>
            Return application accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.GetAccessibleFor(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Return an nsIAccessible for a DOM node in pres shell 0.
            Create a new accessible of the appropriate type if necessary,
            or use one from the accessibility cache if it already exists.
            </summary>
            <param name="aNode">
            The DOM node to get an accessible for.
            </param>
            <returns>
            The nsIAccessible for the given DOM node.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.GetStringRole(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Returns accessible role as a string.
            </summary>
            <param name="aRole">
            - the accessible role constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.GetStringStates(System.UInt32,System.UInt32)">
            <summary>
            Returns list which contains accessible states as a strings.
            </summary>
            <param name="aStates">
            - accessible states.
            </param>
            <param name="aExtraStates">
            - accessible extra states.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.GetStringEventType(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Get the type of accessible event as a string.
            </summary>
            <param name="aEventType">
            - the accessible event type constant
            </param>
            <returns>
            - accessible event type presented as human readable string
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.GetStringRelationType(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Get the type of accessible relation as a string.
            </summary>
            <param name="aRelationType">
            - the accessible relation type constant
            </param>
            <returns>
            - accessible relation type presented as human readable string
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.GetAccessibleFromCache(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Return an accessible for the given DOM node from the cache.
            </summary>
            <param name="aNode">
            [in] the DOM node to get an accessible for
            </param>
            <returns>
            cached accessible for the given DOM node if any
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.CreateAccessiblePivot(Gecko.Interfaces.nsIAccessible)">
            <summary>
            Create a new pivot for tracking a position and traversing a subtree.
            </summary>
            <param name="aRoot">
            [in] the accessible root for the pivot
            </param>
            <returns>
            a new pivot
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.SetLogging(Gecko.nsACStringBase)">
            <summary>
            Enable logging for the given modules, all other modules aren&apos;t logged.
            </summary>
            <param name="aModules">
            [in] list of modules, format is comma separated list
            like &apos;docload,doccreate&apos;.
            </param>
            <remarks>
            See Logging.cpp for list of possible values.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRetrieval.IsLogged(Gecko.nsAStringBase)">
            <summary>
            Return true if the given module is logged.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIArrayExtensions">
            <summary>
            Helper interface for allowing scripts to treat nsIArray instances as if
            they were nsISupportsArray instances while iterating.
            
            nsISupportsArray is convenient to iterate over in JavaScript:
            
            for (let i = 0; i &lt; array.Count(); ++i) {
            let elem = array.GetElementAt(i);
            ...
            }
            
            but doing the same with nsIArray is somewhat less convenient, since
            queryElementAt is not nearly so nice to use from JavaScript.  So we provide
            this extension interface so interfaces that currently return
            nsISupportsArray can start returning nsIArrayExtensions and all JavaScript
            should Just Work. Eventually we&apos;ll roll this interface into nsIArray
            itself, possibly getting rid of the Count() method, as it duplicates
            nsIArray functionality.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIArray">
            <summary>
            nsIArray
            
            An indexed collection of elements. Provides basic functionality for
            retrieving elements at a specific position, searching for
            elements. Indexes are zero-based, such that the last element in the
            array is stored at the index length-1.
            
            For an array which can be modified, see nsIMutableArray below.
            
            Neither interface makes any attempt to protect the individual
            elements from modification. The convention is that the elements of
            the array should not be modified. Documentation within a specific
            interface should describe variations from this convention.
            
            It is also convention that if an interface provides access to an
            nsIArray, that the array should not be QueryInterfaced to an
            nsIMutableArray for modification. If the interface in question had
            intended the array to be modified, it would have returned an
            nsIMutableArray!
            
            null is a valid entry in the array, and as such any nsISupports
            parameters may be null, except where noted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIArray.GetLengthAttribute">
            <summary>
            length
            
            number of elements in the array.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIArray.QueryElementAt(System.UInt32,System.Guid@)">
            <summary>
            queryElementAt()
            
            Retrieve a specific element of the array, and QueryInterface it
            to the specified interface. null is a valid result for
            this method, but exceptions are thrown in other circumstances
            </summary>
            <param name="index">
            position of element
            </param>
            <param name="uuid">
            the IID of the requested interface
            </param>
            <param name="result">
            the object, QI'd to the requested interface
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NO_INTERFACE: when an entry exists at the
            specified index, but the requested interface is not
            available.
            NS_ERROR_ILLEGAL_VALUE: when index &gt; length-1
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArray.IndexOf(System.UInt32,Gecko.Interfaces.nsISupports)">
            <summary>
            indexOf()
            
            Get the position of a specific element. Note that since null is
            a valid input, exceptions are used to indicate that an element
            is not found.
            </summary>
            <param name="startIndex">
            The initial element to search in the array
            To start at the beginning, use 0 as the
            startIndex
            </param>
            <param name="element">
            The element you are looking for
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the element was not in the array.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArray.Enumerate">
            <summary>
            enumerate the array
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the array is empty (to make it easy
            to detect errors), or NS_ERROR_OUT_OF_MEMORY if out of memory.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayExtensions.GetLengthAttribute">
            <summary>
            length
            
            number of elements in the array.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayExtensions.QueryElementAt(System.UInt32,System.Guid@)">
            <summary>
            queryElementAt()
            
            Retrieve a specific element of the array, and QueryInterface it
            to the specified interface. null is a valid result for
            this method, but exceptions are thrown in other circumstances
            </summary>
            <param name="index">
            position of element
            </param>
            <param name="uuid">
            the IID of the requested interface
            </param>
            <param name="result">
            the object, QI'd to the requested interface
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NO_INTERFACE: when an entry exists at the
            specified index, but the requested interface is not
            available.
            NS_ERROR_ILLEGAL_VALUE: when index &gt; length-1
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayExtensions.IndexOf(System.UInt32,Gecko.Interfaces.nsISupports)">
            <summary>
            indexOf()
            
            Get the position of a specific element. Note that since null is
            a valid input, exceptions are used to indicate that an element
            is not found.
            </summary>
            <param name="startIndex">
            The initial element to search in the array
            To start at the beginning, use 0 as the
            startIndex
            </param>
            <param name="element">
            The element you are looking for
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the element was not in the array.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayExtensions.Enumerate">
            <summary>
            enumerate the array
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the array is empty (to make it easy
            to detect errors), or NS_ERROR_OUT_OF_MEMORY if out of memory.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayExtensions.Count">
            <summary>
            Count()
            
            Retrieves the length of the array. This is an alias for the
            |nsIArray.length| attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayExtensions.GetElementAt(System.UInt32)">
            <summary>
            GetElementAt()
            
            Retrieve a specific element of the array. null is a valid result for
            this method.
            
            Note: If the index is out of bounds null will be returned.
            This differs from the behavior of nsIArray.queryElementAt() which
            will throw if an invalid index is specified.
            </summary>
            <param name="index">
            position of element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowser.GetRelatedBrowserAttribute">
            <summary>
            Gets a related browser for a given browser (if any). If this exists, then
            we should attempt to use the same content parent as its frameLoader
            for any new tab parents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowser.SwapBrowsers(Gecko.Interfaces.nsIBrowser)">
            <summary>
            Swapping of frameloaders are usually initiated from a frameloader owner
            or other components operating on frameloader owners. This is done by calling
            swapFrameLoaders at MozFrameLoaderOwner webidl interface.
            
            This function aimed to provide the other way around -
            if the swapping is initiated from frameloader itself or other platform level
            components, it uses this interface to delegate the swapping request to
            frameloader owners and ask them to re-initiate frameloader swapping, so that
            frameloader owners such as &lt;xul:browser&gt; can setup their properties and
            or listeners properly on swapping.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowser.CloseBrowser">
            <summary>
            Close the browser (usually means to remove a tab).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIChannelWithDivertableParentListener">
            <summary>
            When we are diverting messages from the child to the parent. The
            nsHttpChannel and nsFtpChannel must know that there is a ChannelParent to
            be able to suspend message delivery if the channel is suspended.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannelWithDivertableParentListener.MessageDiversionStarted(System.IntPtr)">
            <summary>
            Informs nsHttpChannel or nsFtpChannel that a ParentChannel starts
            diverting messages. During this time all suspend/resume calls to the
            channel must also suspend the ParentChannel by calling
            SuspendMessageDiversion/ResumeMessageDiversion.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannelWithDivertableParentListener.MessageDiversionStop">
            <summary>
            The message diversion has finished the calls to
            SuspendMessageDiversion/ResumeMessageDiversion are not necessary anymore.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannelWithDivertableParentListener.SuspendInternal">
            <summary>
            Internal versions of Suspend/Resume that suspend (or resume) the channel
            but do not suspend the ParentChannel&apos;s IPDL message queue.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentSignatureVerifier">
            <summary>
            An interface for verifying content-signatures, inspired by
            https://tools.ietf.org/html/draft-thomson-http-content-signature-00
            described here https://github.com/franziskuskiefer/content-signature/tree/pki
            
            A new signature verifier instance should be created for each signature
            verification - you can create these instances with do_CreateInstance.
            
            There are two ways to use this functionality:
            The first allows a signature to be verified all at once by simply calling
            verifyContentSignature.
            The second allows for streaming; call createContext with the signature
            information (and initial data), call update with more data as it becomes
            available then, finally, call end to verify the signature.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSignatureVerifier.VerifyContentSignature(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Verifies that the data matches the data that was used to generate the
            signature.
            </summary>
            <param name="aData">
            The data to be tested.
            </param>
            <param name="aContentSignatureHeader">
            The content-signature header,
            url-safe base64 encoded.
            </param>
            <param name="aCertificateChain">
            The certificate chain to use for verification.
            PEM encoded string.
            </param>
            <param name="aName">
            The (host)name for which the end entity must
            be valid.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSignatureVerifier.CreateContext(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Creates a context to verify a content signature against data that is added
            later with update calls.
            </summary>
            <param name="aData">
            The first chunk of data to be tested.
            </param>
            <param name="aContentSignatureHeader">
            The signature of the data, url-safe base64
            encoded.
            </param>
            <param name="aCertificateChain">
            The certificate chain to use for
            verification. PEM encoded string.
            </param>
            <param name="aName">
            The (host)name for which the end entity must
            be valid.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSignatureVerifier.CreateContextWithoutCertChain(Gecko.Interfaces.nsIContentSignatureReceiverCallback,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Creates a context to verify a content signature against data that is added
            later with update calls.
            This does not require the caller to download the certificate chain. It&apos;s
            done internally.
            It requires the x5u parameter to be present in aContentSignatureHeader
            
            NOTE: Callers have to wait for aCallback to return before invoking anything
            else. Otherwise the ContentSignatureVerifier will fail.
            </summary>
            <param name="aCallback">
            Callback that&apos;s invoked when the cert chain
            got fetched.
            </param>
            <param name="aContentSignatureHeader">
            The signature of the data, url-safe base64
            encoded, and the x5u value.
            </param>
            <param name="aName">
            The (host)name for which the end entity must
            be valid.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSignatureVerifier.Update(Gecko.nsACStringBase)">
            <summary>
            Adds data to the context that was used to generate the signature.
            </summary>
            <param name="aData">
            More data to be tested.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSignatureVerifier.End">
            <summary>
            Finalises the signature and returns the result of the signature
            verification.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentSignatureReceiverCallback">
            <summary>
            Callback for nsIContentSignatureVerifier.
            { 0x1eb90707, 0xdf59, 0x48b7, \
            { 0x9d, 0x42, 0xd8, 0xbf, 0x63, 0x0a, 0xe7, 0x44 } }
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSignatureReceiverCallback.ContextCreated(System.Boolean)">
            <summary>
            Notification callback that&apos;s called by nsIContentSignatureVerifier when
            the cert chain is downloaded.
            If download and initialisation were successful, successful is true,
            otherwise false. If successful is false, the verification must be aborted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDatePickerShownCallback.Cancel">
            <summary>
            Callback called when the user selects cancel in the date picker
            This callback can not be called after done() is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDatePickerShownCallback.Done(Gecko.nsAStringBase)">
            <summary>
            Callback called when the user has finished selecting the date
            </summary>
            <param name="date">
            The new selected date value following the format &quot;YYYY-MM-DD&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDatePicker.Init(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Initialize the date picker widget. The date picker will not be shown until
            open() is called.
            If the initialDate parameter does not follow the format &quot;YYYY-MM-DD&quot; then
            the behavior will be unspecified.
            </summary>
            <param name="parent">
            nsIDOMWindow parent. This dialog will be dependent
            on this parent. parent may be null.
            </param>
            <param name="title">
            The title for the date picker widget.
            </param>
            <param name="initialDate">
            The date to show when the widget is opened. The
            parameter has to follow the format &quot;YYYY-MM-DD&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDatePicker.Open(Gecko.Interfaces.nsIDatePickerShownCallback)">
            <summary>
            Opens the date dialog asynchrounously.
            The results are provided via the callback object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDateTimeInputArea.NotifyInputElementValueChanged">
            <summary>
            Called from DOM/Layout when input element value has changed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDateTimeInputArea.SetValueFromPicker(SpiderMonkey.JSVal@)">
            <summary>
            Called when date/time picker value has changed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDateTimeInputArea.FocusInnerTextBox">
            <summary>
            Called from DOM/Layout to set focus on inner text box.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDateTimeInputArea.BlurInnerTextBox">
            <summary>
            Called from DOM/Layout to blur inner text box.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDateTimeInputArea.SetPickerState(System.Boolean)">
            <summary>
            Set the current state of the picker, true if it&apos;s opened, false otherwise.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSRule">
            <summary>
            The nsIDOMCSSRule interface is a datatype for a CSS style rule in
            the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIEditorUtils">
            <summary>
            A collection of utility functions that editors can use that are more easily
            done in JavaScript.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorUtils.SlurpBlob(Gecko.Interfaces.nsIDOMBlob,Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIEditorBlobListener)">
            <summary>
            Given a blob, returns the data from that blob, asynchronously.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFormPOSTActionChannel">
            <summary>
            nsIFormPOSTActionChannel
            
            Channel classes that want to be allowed for HTML form POST action must
            implement this interface.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUploadChannel">
            <summary>
            nsIUploadChannel
            
            A channel may optionally implement this interface if it supports the
            notion of uploading a data stream.  The upload stream may only be set
            prior to the invocation of asyncOpen on the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUploadChannel.SetUploadStream(Gecko.Interfaces.nsIInputStream,Gecko.nsACStringBase,System.Int64)">
            <summary>
            Sets a stream to be uploaded by this channel.
            
            Most implementations of this interface require that the stream:
            (1) implement threadsafe addRef and release
            (2) implement nsIInputStream::readSegments
            (3) implement nsISeekableStream::seek
            
            History here is that we need to support both streams that already have
            headers (e.g., Content-Type and Content-Length) information prepended to
            the stream (by plugins) as well as clients (composer, uploading
            application) that want to upload data streams without any knowledge of
            protocol specifications.  For this reason, we have a special meaning
            for the aContentType parameter (see below).
            </summary>
            <param name="aStream">
            The stream to be uploaded by this channel.
            </param>
            <param name="aContentType">
            If aContentType is empty, the protocol will assume that no
            content headers are to be added to the uploaded stream and that
            any required headers are already encoded in the stream.  In the
            case of HTTP, if this parameter is non-empty, then its value will
            replace any existing Content-Type header on the HTTP request.
            In the case of FTP and FILE, this parameter is ignored.
            </param>
            <param name="aContentLength">
            A value of -1 indicates that the length of the stream should be
            determined by calling the stream&apos;s |available| method.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUploadChannel.GetUploadStreamAttribute">
            <summary>
            Get the stream (to be) uploaded by this channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormPOSTActionChannel.SetUploadStream(Gecko.Interfaces.nsIInputStream,Gecko.nsACStringBase,System.Int64)">
            <summary>
            Sets a stream to be uploaded by this channel.
            
            Most implementations of this interface require that the stream:
            (1) implement threadsafe addRef and release
            (2) implement nsIInputStream::readSegments
            (3) implement nsISeekableStream::seek
            
            History here is that we need to support both streams that already have
            headers (e.g., Content-Type and Content-Length) information prepended to
            the stream (by plugins) as well as clients (composer, uploading
            application) that want to upload data streams without any knowledge of
            protocol specifications.  For this reason, we have a special meaning
            for the aContentType parameter (see below).
            </summary>
            <param name="aStream">
            The stream to be uploaded by this channel.
            </param>
            <param name="aContentType">
            If aContentType is empty, the protocol will assume that no
            content headers are to be added to the uploaded stream and that
            any required headers are already encoded in the stream.  In the
            case of HTTP, if this parameter is non-empty, then its value will
            replace any existing Content-Type header on the HTTP request.
            In the case of FTP and FILE, this parameter is ignored.
            </param>
            <param name="aContentLength">
            A value of -1 indicates that the length of the stream should be
            determined by calling the stream&apos;s |available| method.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormPOSTActionChannel.GetUploadStreamAttribute">
            <summary>
            Get the stream (to be) uploaded by this channel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFTPChannelParentInternal">
            <summary>
            This is an internal interface for FTP parent channel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIGroupedSHistory">
            <summary>
            nsIGroupedSHistory represent a combined session history across multiple
            root docshells (usually browser tabs). The participating nsISHistory can
            either be in chrome process or in content process, but nsIGroupedSHistory
            itself lives in chrome process. The communication is proxyed through
            nsIPartialSHistory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGroupedSHistory.AppendPartialSessionHistory(Gecko.Interfaces.nsIPartialSHistory)">
            <summary>
            Remove all partial histories after currently active one (if any) and then
            append the given partial session history to the end of the list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGroupedSHistory.OnPartialSessionHistoryChange(Gecko.Interfaces.nsIPartialSHistory)">
            <summary>
            Notify the grouped session history that the active partial session history
            has been modified. All partial session histories after the active one
            will be removed and destroy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGroupedSHistory.GotoIndex(System.UInt32,Gecko.Interfaces.nsIFrameLoader@)">
            <summary>
            Find the proper partial session history and navigate to the entry
            corresponding to the given global index. Note it doesn&apos;t swap frameloaders,
            but rather return the target loader for the caller to swap.
            </summary>
            <param name="aGlobalIndex">
            The global index to navigate to.
            </param>
            <param name="aTargetLoaderToSwap">
            The owner frameloader of the to-be-navigate
            partial session history.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIHstsPrimingCallback">
            <summary>
            HSTS priming attempts to prevent mixed-content by looking for the
            Strict-Transport-Security header as a signal from the server that it is
            safe to upgrade HTTP to HTTPS.
            
            Since mixed-content blocking happens very early in the process in AsyncOpen2,
            the status of mixed-content blocking is stored in the LoadInfo and then used
            to determine whether to send a priming request or not.
            
            This interface is implemented by nsHttpChannel so that it can receive the
            result of HSTS priming.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHstsPrimingCallback.OnHSTSPrimingSucceeded(System.Boolean)">
            <summary>
            HSTS priming has succeeded with an STS header, and the site asserts it is
            safe to upgrade the request from HTTP to HTTPS. The request may still be
            blocked based on the user&apos;s preferences.
            
            May be invoked synchronously if HSTS priming has already been performed
            for the host.
            </summary>
            <param name="aCached">
            whether the result was already in the HSTS cache
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHstsPrimingCallback.OnHSTSPrimingFailed(System.Int32,System.Boolean)">
            <summary>
            HSTS priming has seen no STS header, the request itself has failed,
            or some other failure which does not constitute a positive signal that the
            site can be upgraded safely to HTTPS. The request may still be allowed
            based on the user&apos;s preferences.
            
            May be invoked synchronously if HSTS priming has already been performed
            for the host.
            </summary>
            <param name="aError">
            The error which caused this failure, or NS_ERROR_CONTENT_BLOCKED
            </param>
            <param name="aCached">
            whether the result was already in the HSTS cache
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticatorCallback.OnCredsGenerated(System.String,System.UInt32,System.Int32,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsISupports)">
            <summary>
            Authentication data for a header is available.
            </summary>
            <param name="aCreds">
            Credentials which were obtained asynchonously.
            </param>
            <param name="aFlags">
            Flags set by asynchronous call.
            </param>
            <param name="aResult">
            Result status of credentials generation
            </param>
            <param name="aSessionState">
            Modified session state to be passed to caller
            </param>
            <param name="aContinuationState">
            Modified continuation state to be passed to caller
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIIdlePeriod">
            <summary>
            An instance implementing nsIIdlePeriod is used by an associated
            nsIThread to estimate when it is likely that it will receive an
            event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdlePeriod.GetIdlePeriodHint">
            <summary>
            Return an estimate of a point in time in the future when we
            think that the associated thread will become busy. Should
            return TimeStamp() (i.e. the null time) or a time less than
            TimeStamp::Now() if the thread is currently busy or will become
            busy very soon.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINamedPipeDataObserver">
            <summary>
            nsINamedPipeDataObserver
            
            This is the callback interface for nsINamedPipeService.
            The functions are called by the internal thread in the nsINamedPipeService.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINamedPipeDataObserver.OnDataAvailable(System.UInt32,System.IntPtr)">
            <summary>
            onDataAvailable
            </summary>
            <param name="aBytesTransferred">
            Transfered bytes during last transmission.
            </param>
            <param name="aOverlapped">
            Corresponding overlapped structure used by the async I/O
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINamedPipeDataObserver.OnError(System.UInt32,System.IntPtr)">
            <summary>
            onError
            </summary>
            <param name="aError">
            Error code of the error.
            </param>
            <param name="aOverlapped">
            Corresponding overlapped structure used by the async I/O
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINamedPipeService">
            <summary>
            nsINamedPipeService
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINamedPipeService.AddDataObserver(System.IntPtr,Gecko.Interfaces.nsINamedPipeDataObserver)">
            <summary>
            addDataObserver
            </summary>
            <param name="aHandle">
            The handle that is going to be monitored for read/write operations.
            Only handles that are opened with overlapped IO are supported.
            </param>
            <param name="aObserver">
            The observer of the handle, the service strong-refs of the observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINamedPipeService.RemoveDataObserver(System.IntPtr,Gecko.Interfaces.nsINamedPipeDataObserver)">
            <summary>
            removeDataObserver
            </summary>
            <param name="aHandle">
            The handle associated to the observer, and will be closed by the
            service.
            </param>
            <param name="aObserver">
            The observer to be removed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINamedPipeService.IsOnCurrentThread">
            <summary>
            isOnCurrentThread
            </summary>
            <returns>
            the caller runs within the internal thread.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIListNetworkAddressesListener">
            <summary>
            Listener for getting list of addresses.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIListNetworkAddressesListener.OnListedNetworkAddresses(System.IntPtr[],System.UInt32)">
            <summary>
            Callback function that gets called by nsINetworkInfoService.listNetworkAddresses.
            Each address in the array is a string IP address in canonical form,
            e.g. 192.168.1.10, or an IPV6 address in string form.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIGetHostnameListener">
            <summary>
            Listener for getting hostname.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINetworkInfoService">
            <summary>
            Service information
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkInfoService.ListNetworkAddresses(Gecko.Interfaces.nsIListNetworkAddressesListener)">
            <summary>
            Obtain a list of local machine network addresses.  The listener object&apos;s
            onListedNetworkAddresses will be called with the obtained addresses.
            On failure, the listener object&apos;s onListNetworkAddressesFailed() will be called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkInfoService.GetHostname(Gecko.Interfaces.nsIGetHostnameListener)">
            <summary>
            Obtain the hostname of the local machine.  The listener object&apos;s
            onGotHostname will be called with the obtained hostname.
            On failure, the listener object&apos;s onGetHostnameFailed() will be called.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINSSU2FToken">
            <summary>
            Interface used to interact with the NSS-backed software U2F Token
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIU2FToken">
            <summary>
            Interface used to interact with U2F Token devices
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIU2FToken.IsCompatibleVersion(Gecko.nsAStringBase,System.Boolean@)">
            <summary>
            Is this token compatible with the provided version?
            </summary>
            <param name="version">
            The offered version to test
            </param>
            <returns>
            True if the offered version is compatible
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIU2FToken.IsRegistered(System.Byte[],System.UInt32,System.Boolean@)">
            <summary>
            Return whether the provided KeyHandle belongs to this Token
            </summary>
            <param name="keyHandle">
            Key Handle to evaluate.
            </param>
            <returns>
            True if the Key Handle is ours.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIU2FToken.Register(System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Generates a public/private keypair for the provided application
            and challenge, returning the pubkey, challenge response, and
            key handle in the registration data.
            </summary>
            <param name="application">
            The FIDO Application data to associate with the key.
            </param>
            <param name="challenge">
            The Challenge to satisfy in the response.
            </param>
            <param name="registration">
            An array containing the pubkey, challenge response,
            and key handle.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIU2FToken.Sign(System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Creates a signature over the &quot;param&quot; arguments using the private key
            provided in the key handle argument.
            </summary>
            <param name="application">
            The FIDO Application data to associate with the key.
            </param>
            <param name="challenge">
            The Challenge to satisfy in the response.
            </param>
            <param name="keyHandle">
            The Key Handle opaque object to use.
            </param>
            <param name="signature">
            The resulting signature.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSU2FToken.IsCompatibleVersion(Gecko.nsAStringBase,System.Boolean@)">
            <summary>
            Is this token compatible with the provided version?
            </summary>
            <param name="version">
            The offered version to test
            </param>
            <returns>
            True if the offered version is compatible
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSU2FToken.IsRegistered(System.Byte[],System.UInt32,System.Boolean@)">
            <summary>
            Return whether the provided KeyHandle belongs to this Token
            </summary>
            <param name="keyHandle">
            Key Handle to evaluate.
            </param>
            <returns>
            True if the Key Handle is ours.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSU2FToken.Register(System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Generates a public/private keypair for the provided application
            and challenge, returning the pubkey, challenge response, and
            key handle in the registration data.
            </summary>
            <param name="application">
            The FIDO Application data to associate with the key.
            </param>
            <param name="challenge">
            The Challenge to satisfy in the response.
            </param>
            <param name="registration">
            An array containing the pubkey, challenge response,
            and key handle.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSU2FToken.Sign(System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Creates a signature over the &quot;param&quot; arguments using the private key
            provided in the key handle argument.
            </summary>
            <param name="application">
            The FIDO Application data to associate with the key.
            </param>
            <param name="challenge">
            The Challenge to satisfy in the response.
            </param>
            <param name="keyHandle">
            The Key Handle opaque object to use.
            </param>
            <param name="signature">
            The resulting signature.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSU2FToken.Init">
            <summary>
            Initializes the token and constructs and persists keys, if needed. Asserts
            that it is only called by the main thread.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPartialSHistory">
            <summary>
            nsIPartialSHistory represents a part of nsIGroupedSHistory. It associates to
            a &quot;partial&quot; nsISHistory in either local or remote process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPartialSHistory.OnAttachGroupedSessionHistory(System.UInt32)">
            <summary>
            Notify that it&apos;s been added to a grouped session history. It also implies
            it&apos;s becoming the active partial history of the group.
            </summary>
            <param name="aOffset">
            The number of entries in preceding partial
            session histories.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPartialSHistory.OnSessionHistoryChange(System.UInt32)">
            <summary>
            Notify that one or more entries in its associated nsISHistory object
            have been changed (i.e. add / remove / replace). It&apos;s mainly used for
            cross-process case, since in the in-process case we can just register an
            nsISHistoryListener instead.
            </summary>
            <param name="aCount">
            The number of entries in the associated session history.
            It can be the same as the old value if entries were replaced.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPartialSHistory.OnActive(System.UInt32,System.UInt32)">
            <summary>
            Notify that the partial session history has been swapped in as the active
            session history. Only an active session history can possibly add / remove
            replace its history entries.
            </summary>
            <param name="aGlobalLength">
            The up-to-date global length.
            </param>
            <param name="aTargetLocalIndex">
            The local index to navigate to.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPartialSHistory.OnDeactive">
            <summary>
            Notify that the partial session history has been swapped out and is no
            longer active.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPartialSHistoryListener">
            <summary>
            Listener to handle cross partial nsISHistory navigation requests.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPartialSHistoryListener.OnRequestCrossBrowserNavigation(System.UInt32)">
            <summary>
            Called when the navigation target belongs to another nsISHistory within
            the same nsIGroupedSHistory, and it needs to initiate cross nsISHistory
            navigation.
            </summary>
            <param name="aIndex">
            The index of complete history to navigate to.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIPerformanceGroupDetails">
            <summary>
            Identification details for a performance group.
            
            A performance group is a set of JavaScript compartments whose
            performance is observed as a single entity. Typical examples of
            performance groups: an add-on, a webpage without its frames, a
            webpage with all its frames, the entire JS runtime, ...
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceGroupDetails.GetGroupIdAttribute(Gecko.nsAStringBase)">
            <summary>
            An identifier unique to the component.
            
            This identifier is somewhat human-readable to aid with debugging,
            but clients should not rely upon the format.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceGroupDetails.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            A somewhat human-readable name for the component.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceGroupDetails.GetAddonIdAttribute(Gecko.nsAStringBase)">
            <summary>
            If the component is an add-on, the ID of the addon,
            otherwise an empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceGroupDetails.GetWindowIdAttribute">
            <summary>
            If the component is code executed in a window, the ID of the topmost
            outer window (i.e. the tab), otherwise 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceGroupDetails.GetIsSystemAttribute">
            <summary>
            `true` if this component is executed with system privileges
            (e.g. the platform itself or an add-on), `false` otherwise
            (e.g. webpages).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceGroupDetails.GetProcessIdAttribute">
            <summary>
            The process running this group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceGroupDetails.GetIsContentProcessAttribute">
            <summary>
            `true` if the code is executed in a content process, `false` otherwise.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPerformanceStats">
            <summary>
            Snapshot of the performance of a component, e.g. an add-on, a web
            page, system built-ins, a module or the entire process itself.
            
            All values are monotonic and are updated only when
            `nsIPerformanceStatsService.isStopwatchActive` is `true`.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetGroupIdAttribute(Gecko.nsAStringBase)">
            <summary>
            An identifier unique to the component.
            
            This identifier is somewhat human-readable to aid with debugging,
            but clients should not rely upon the format.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            A somewhat human-readable name for the component.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetAddonIdAttribute(Gecko.nsAStringBase)">
            <summary>
            If the component is an add-on, the ID of the addon,
            otherwise an empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetWindowIdAttribute">
            <summary>
            If the component is code executed in a window, the ID of the topmost
            outer window (i.e. the tab), otherwise 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetIsSystemAttribute">
            <summary>
            `true` if this component is executed with system privileges
            (e.g. the platform itself or an add-on), `false` otherwise
            (e.g. webpages).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetProcessIdAttribute">
            <summary>
            The process running this group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetIsContentProcessAttribute">
            <summary>
            `true` if the code is executed in a content process, `false` otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetTotalUserTimeAttribute">
            <summary>
            Total amount of time spent executing code in this group, in
            microseconds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetTicksAttribute">
            <summary>
            Total number of times code execution entered this group,
            since process launch. This may be greater than the number
            of times we have entered the event loop.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStats.GetDurations(System.UInt32@,System.IntPtr@)">
            <summary>
            Jank indicator.
            
            durations[i] == number of times execution of this group
            lasted at lest 2^i ms.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPerformanceSnapshot">
            <summary>
            A snapshot of the performance data of the process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceSnapshot.GetComponentsData">
            <summary>
            Data on all individual components.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceSnapshot.GetProcessData">
            <summary>
            Information on the process itself.
            
            This contains the total amount of time spent executing JS code,
            the total amount of time spent waiting for system calls while
            executing JS code, the total amount of time performing blocking
            inter-process calls, etc.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPerformanceAlert">
            <summary>
            A performance alert.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceAlert.GetReasonAttribute">
            <summary>
            The reason for the alert, as a bitwise or of the various REASON_
            constants.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceAlert.GetHighestJankAttribute">
            <summary>
            Longest interval spent executing code in this group
            since the latest alert, in microseconds.
            
            Note that the underlying algorithm is probabilistic and may
            provide false positives, so clients of this API are expected to
            perform post-processing to filter out such false positives. In
            particular, a high system load will increase the noise level on
            this measure.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceAlert.GetHighestCPOWAttribute">
            <summary>
            Longest interval spent executing CPOW in this group
            since the latest alert, in microseconds.
            
            This measure is reliable and involves no heuristics. However,
            note that the duration of CPOWs is increased by high system
            loads.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPerformanceObserver">
            <summary>
            An observer for slow performance alerts.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceObserver.Observe(Gecko.Interfaces.nsIPerformanceGroupDetails,Gecko.Interfaces.nsIPerformanceAlert)">
            <summary>
            
            </summary>
            <param name="target">
            The performance group that caused the jank.
            </param>
            <param name="alert">
            The performance cost that triggered the alert.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIPerformanceObservable">
            <summary>
            A part of the system that may be observed for slow performance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceObservable.GetTargetAttribute">
            <summary>
            If a single group is being observed, information on this group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceObservable.AddJankObserver(Gecko.Interfaces.nsIPerformanceObserver)">
            <summary>
            Add an observer that will be informed in case of jank.
            
            Set `jankAlertThreshold` to determine how much jank is needed
            to trigger alerts.
            
            If the same observer is added more than once, it will be
            triggered as many times as it has been added.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceObservable.RemoveJankObserver(Gecko.Interfaces.nsIPerformanceObserver)">
            <summary>
            Remove an observer previously added with `addJankObserver`.
            
            Noop if the observer hasn&apos;t been added.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetIsMonitoringCPOWAttribute(System.IntPtr)">
            <summary>
            `true` if we should monitor CPOW, `false` otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetIsMonitoringJankAttribute(System.IntPtr)">
            <summary>
            `true` if we should monitor jank, `false` otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetIsMonitoringPerCompartmentAttribute(System.IntPtr)">
            <summary>
            `true` if all compartments need to be monitored individually,
            `false` if only performance groups (i.e. entire add-ons, entire
            webpages, etc.) need to be monitored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetSnapshot(System.IntPtr)">
            <summary>
            Capture a snapshot of the performance data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetJankAlertThresholdAttribute">
            <summary>
            The threshold, in microseconds, above which a performance group is
            considered &quot;slow&quot; and should raise performance alerts.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetAnimationJankLevelThresholdAttribute">
            <summary>
            If a user is seeing an animation and we spend too long executing
            JS code while blocking refresh, this will be visible to the user.
            
            We assume that any jank during an animation and lasting more than
            2^animationJankLevelThreshold ms will be visible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetUserInputDelayThresholdAttribute">
            <summary>
            If a user performs an input (e.g. clicking, pressing a key, but
            NOT* moving the mouse), and we spend too long executing JS code
            before displaying feedback, this will be visible to the user even
            if there is no ongoing animation.
            
            We assume that any jank during `userInputDelayThreshold` us after
            the user input will be visible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetJankAlertBufferingDelayAttribute">
            <summary>
            A buffering delay, in milliseconds, used by the service to
            regroup performance alerts, before observers are actually
            noticed. Higher delays let the system avoid redundant
            notifications for the same group, and are generally better for
            performance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetObservableAddon(Gecko.nsAStringBase)">
            <summary>
            Get a nsIPerformanceObservable representing an add-on. This
            observable may then be used to (un)register for watching
            performance alerts for this add-on.
            
            Note that this method has no way of finding out whether an add-on with this
            id is installed on the system. Also note that this covers only the current
            process.
            
            Use special add-on name &quot;*&quot; to get an observable that may be used
            to (un)register for watching performance alerts of all add-ons at
            once.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPerformanceStatsService.GetObservableWindow(System.UInt64)">
            <summary>
            Get a nsIPerformanceObservable representing a DOM window. This
            observable may then be used to (un)register for watching
            performance alerts for this window.
            
            Note that this covers only the current process.
            
            Use special window id 0 to get an observable that may be used to
            (un)register for watching performance alerts of all windows at
            once.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlatformInfo.GetPlatformVersionAttribute(Gecko.nsACStringBase)">
            <summary>
            The version of the XULRunner platform.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlatformInfo.GetPlatformBuildIDAttribute(Gecko.nsACStringBase)">
            <summary>
            The build ID/date of gecko and the XULRunner platform.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlServerListener.OnServerReady(System.UInt16,Gecko.nsAUTF8StringBase)">
            <summary>
            Callback while the server is ready or restarted.
            </summary>
            <param name="aPort">
            The port of the server socket.
            </param>
            <param name="aCertFingerprint">
            The SHA-256 fingerprint of TLS server certificate.
            Empty string represents server started without encryption.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlServerListener.OnServerStopped(System.Int32)">
            <summary>
            Callback while the server is stopped or fails to start.
            </summary>
            <param name="aResult">
            The error cause of server stopped or the reason of
            start failure.
            NS_OK means the server is stopped by close.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlServerListener.OnSessionRequest(Gecko.Interfaces.nsITCPDeviceInfo,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIPresentationControlChannel)">
            <summary>
            Callback while the remote host is requesting to start a presentation session.
            </summary>
            <param name="aDeviceInfo">
            The device information related to the remote host.
            </param>
            <param name="aUrl">
            The URL requested to open by remote device.
            </param>
            <param name="aPresentationId">
            The Id for representing this session.
            </param>
            <param name="aControlChannel">
            The control channel for this session.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlServerListener.OnTerminateRequest(Gecko.Interfaces.nsITCPDeviceInfo,Gecko.nsAStringBase,Gecko.Interfaces.nsIPresentationControlChannel,System.Boolean)">
            <summary>
            Callback while the remote host is requesting to terminate a presentation session.
            </summary>
            <param name="aDeviceInfo">
            The device information related to the remote host.
            </param>
            <param name="aPresentationId">
            The Id for representing this session.
            </param>
            <param name="aControlChannel">
            The control channel for this session.
            </param>
            <param name="aIsFromReceiver">
            true if termination is initiated by receiver.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlServerListener.OnReconnectRequest(Gecko.Interfaces.nsITCPDeviceInfo,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIPresentationControlChannel)">
            <summary>
            Callback while the remote host is requesting to reconnect a presentation session.
            </summary>
            <param name="aDeviceInfo">
            The device information related to the remote host.
            </param>
            <param name="aUrl">
            The URL requested to open by remote device.
            </param>
            <param name="aPresentationId">
            The Id for representing this session.
            </param>
            <param name="aControlChannel">
            The control channel for this session.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIPresentationControlService">
            <summary>
            Presentation control service which can be used for both presentation
            control client and server.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.StartServer(System.Boolean,System.UInt16)">
            <summary>
            This method initializes server socket. Caller should set listener and
            monitor onServerReady event to get the correct server info.
            </summary>
            <param name="aEncrypted">
            True for using TLS control channel.
            </param>
            <param name="aPort">
            The port of the server socket.  Pass 0 or opt-out to indicate no
            preference, and a port will be selected automatically.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the server socket has been inited or the
            server socket can not be inited.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.Connect(Gecko.Interfaces.nsITCPDeviceInfo)">
            <summary>
            Request connection to designated remote presentation control receiver.
            </summary>
            <param name="aDeviceInfo">
            The remtoe device info for establish connection.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the Id hasn't been inited.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.IsCompatibleServer(System.UInt32)">
            <summary>
            Check the compatibility to remote presentation control server.
            </summary>
            <param name="aVersion">
            The version of remote server.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.Close">
            <summary>
            Close server socket and call |listener.onClose(NS_OK)|
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.GetPortAttribute">
            <summary>
            Get the listen port of the TCP socket, valid after the server is ready.
            0 indicates the server socket is not ready or is closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.GetVersionAttribute">
            <summary>
            The protocol version implemented by this server.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.GetIdAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The id of the TCP presentation server. |requestSession| won&apos;t
            work until the |id| is set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.GetCertFingerprintAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The fingerprint of the TLS server certificate.
            Empty string indicates the server is not ready or not encrypted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationControlService.GetListenerAttribute">
            <summary>
            The listener for handling events of this presentation control server.
            Listener must be provided before invoke |startServer| and |close|.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPresentationTransportBuilderConstructor">
            <summary>
            The constructor for creating a transport builder.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPresentationTCPSessionTransportBuilder">
            <summary>
            Builder for TCP session transport
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationTCPSessionTransportBuilder.BuildTCPSenderTransport(Gecko.Interfaces.nsISocketTransport,Gecko.Interfaces.nsIPresentationSessionTransportBuilderListener)">
            <summary>
            The following creation functions will trigger |listener.onSessionTransport|
            if the session transport is successfully built, |listener.onError| if some
            error occurs during building session transport.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPresentationDataChannelSessionTransportBuilder">
            <summary>
            Builder for WebRTC data channel session transport
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPresentationDataChannelSessionTransportBuilder.BuildDataChannelTransport(System.Byte,Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsIPresentationSessionTransportBuilderListener)">
            <summary>
            The following creation function will trigger |listener.onSessionTransport|
            if the session transport is successfully built, |listener.onError| if some
            error occurs during creating session transport. The |notifyConnected| of
            |aControlChannel| should be called before calling
            |buildDataChannelTransport|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrinterEnumerator.GetDefaultPrinterNameAttribute">
            <summary>
            The name of the system default printer. This name should also be
            present in printerNameList below. This is not necessarily gecko&apos;s
            default printer; see nsIPrintSettingsService.defaultPrinterName
            for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrinterEnumerator.InitPrintSettingsFromPrinter(System.String,Gecko.Interfaces.nsIPrintSettings)">
            <summary>
            Initializes certain settings from the native printer into the PrintSettings
            These settings include, but are not limited to:
            Page Orientation
            Page Size
            Number of Copies
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrinterEnumerator.GetPrinterNameListAttribute">
            <summary>
            The list of printer names
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushErrorReporter.ReportDeliveryError(Gecko.nsAStringBase,System.UInt16)">
            <summary>
            Reports a `push` event handler error to the Push service. |messageId| is
            an opaque string passed to `nsIPushNotifier.notifyPush{WithData}`.
            |reason| is a delivery error reason.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPushNotifier">
            <summary>
            Fires XPCOM observer notifications and service worker events for
            messages sent to push subscriptions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushNotifier.NotifyPush(Gecko.nsACStringBase,Gecko.Interfaces.nsIPrincipal,Gecko.nsAStringBase)">
            <summary>
            Fires a `push-message` observer notification, and sends a `push` event to
            the service worker registered for the |scope|. |messageId| is an opaque ID
            used to report errors if the worker fails to handle the message.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushNotifier.NotifyPushWithData(Gecko.nsACStringBase,Gecko.Interfaces.nsIPrincipal,Gecko.nsAStringBase,System.UInt32,System.Byte[])">
            <summary>
            Same as `notifyPush`, except the subject of the observer notification
            receives an `nsIPushMessage` instance containing the |data|. Service
            workers can access the |data| via the `PushMessageData` WebIDL interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushNotifier.NotifySubscriptionChange(Gecko.nsACStringBase,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Fires a `push-subscription-change` observer notification, and sends a
            `pushsubscriptionchange` event to the service worker registered for the
            |scope|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushNotifier.NotifySubscriptionModified(Gecko.nsACStringBase,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Fires a `push-subscription-modified` observer notification. Chrome code
            can listen for this notification to see when a subscription is added,
            updated, removed, or expired for any |scope|.
            
            This is useful for Dev Tools and debugging add-ons that passively observe
            when subscriptions are created or dropped. Other callers should listen for
            `push-subscription-change` and resubscribe instead.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPushData">
            <summary>
            Provides methods for retrieving push message data in different formats.
            This interface resembles the `PushMessageData` WebIDL interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushData.Text(Gecko.nsAStringBase)">
            <summary>
            Extracts the data as a UTF-8 text string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushData.Json(System.IntPtr)">
            <summary>
            Extracts the data as a JSON value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushData.Binary(System.UInt32@,System.IntPtr@)">
            <summary>
            Extracts the raw binary data.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPushMessage">
            <summary>
            The subject of a `push-message` observer notification. |data| may be |null|
            for messages without data.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPushSubscription">
            <summary>
            A push subscription, passed as an argument to a subscription callback.
            Similar to the `PushSubscription` WebIDL interface.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPushSubscriptionCallback">
            <summary>
            Called by methods that return a push subscription. A non-success
            |status| indicates that there was a problem returning the
            subscription, and the |subscription| argument should be ignored. Otherwise,
            |subscription| will point to a valid push subscription, or |null| if the
            subscription does not exist.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUnsubscribeResultCallback">
            <summary>
            Called by |unsubscribe|. A non-success |status| indicates that there was
            a problem unsubscribing, and the |success| argument should be ignored.
            Otherwise, |success| is true if unsubscribing was successful, and false if
            the subscription does not exist.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPushClearResultCallback">
            <summary>
            Called by |clearForDomain|. A non-success |status| indicates that there was
            a problem clearing subscriptions for the given domain.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPushService">
            <summary>
            A service for components to subscribe and receive push messages from web
            services. This functionality is exposed to content via the Push DOM API,
            which uses service workers. This interface exists to support the DOM API,
            and allows privileged code to receive messages without migrating to service
            workers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushService.GetPushTopicAttribute(Gecko.nsAStringBase)">
            <summary>
            Observer topic names, exported for convenience.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushService.Subscribe(Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPushSubscriptionCallback)">
            <summary>
            Creates a push subscription for the given |scope| URL and |principal|.
            If a subscription already exists for this |(scope, principal)| pair,
            the callback will receive the existing record as the second argument.
            
            The |endpoint| property of the subscription record is a URL string
            that can be used to send push messages to subscribers.
            
            Each incoming message fires a `push-message` observer notification, with
            an `nsIPushMessage` as the subject and the |scope| as the data.
            
            If the server drops a subscription, a `push-subscription-change` observer
            will be fired, with the subject set to |principal| and the data set to
            |scope|. Servers may drop subscriptions at any time, so callers should
            recreate subscriptions if desired.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushService.SubscribeWithKey(Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.Byte[],Gecko.Interfaces.nsIPushSubscriptionCallback)">
            <summary>
            Creates a restricted push subscription with the given public |key|. The
            application server must use the corresponding private key to authenticate
            message delivery requests, as described in draft-thomson-webpush-vapid.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushService.Unsubscribe(Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIUnsubscribeResultCallback)">
            <summary>
            Removes a push subscription for the given |scope|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushService.GetSubscription(Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPushSubscriptionCallback)">
            <summary>
            Retrieves the subscription record associated with the given
            |(scope, principal)| pair. If the subscription does not exist, the
            callback will receive |null| as the second argument.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushService.ClearForDomain(Gecko.nsAStringBase,Gecko.Interfaces.nsIPushClearResultCallback)">
            <summary>
            Drops every subscription for the given |domain|, or all domains if
            |domain| is &quot;*&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushQuotaManager.NotificationForOriginShown(System.String)">
            <summary>
            Informs the quota manager that a notification
            for the given origin has been shown. Used to
            determine if push quota should be relaxed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPushQuotaManager.NotificationForOriginClosed(System.String)">
            <summary>
            Informs the quota manager that a notification
            for the given origin has been closed. Used to
            determine if push quota should be relaxed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRequestContext">
            <summary>
            The nsIRequestContext is used to maintain state about connections
            that are in some way associated with each other (often by being part
            of the same load group) and how they interact with blocking items like
            HEAD css/js loads.
            
            This used to be known as nsILoadGroupConnectionInfo and nsISchedulingContext.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContext.GetIDAttribute">
            <summary>
            A unique identifier for this request context
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContext.GetBlockingTransactionCountAttribute">
            <summary>
            Number of active blocking transactions associated with this context
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContext.AddBlockingTransaction">
            <summary>
            Increase the number of active blocking transactions associated
            with this context by one.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContext.RemoveBlockingTransaction">
            <summary>
            Decrease the number of active blocking transactions associated
            with this context by one. The return value is the number of remaining
            blockers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContext.GetSpdyPushCacheAttribute">
            <summary>
            This gives out a weak pointer to the push cache.
            The nsIRequestContext implementation owns the cache
            and will destroy it when overwritten or when the context
            ends.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContext.GetUserAgentOverrideAttribute(Gecko.nsACStringBase)">
            <summary>
            This holds a cached value of the user agent override.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRequestContextService">
            <summary>
            The nsIRequestContextService is how anyone gets access to a request
            context when they haven&apos;t been explicitly given a strong reference to an
            existing one. It is responsible for creating and handing out strong
            references to nsIRequestContexts, but only keeps weak references itself.
            The shared request context will go away once no one else is keeping a
            reference to it. If you ask for a request context that has no one else
            holding a reference to it, you&apos;ll get a brand new request context. Anyone
            who asks for the same request context while you&apos;re holding a reference
            will get a reference to the same request context you have.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContextService.GetRequestContext(System.Guid@)">
            <summary>
            Get an existing request context from its ID
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContextService.NewRequestContextID">
            <summary>
            Create a new request context identifier
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestContextService.RemoveRequestContext(System.Guid@)">
            <summary>
            Remove an existing request context from its ID
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISocketFilter">
            <summary>
            Filters are created and run on the parent, and filter all packets, both
            ingoing and outgoing. The child must specify the name of a recognized filter
            in order to create a socket.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISocketFilterHandler">
            <summary>
            Factory of a specified filter.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIInputChannelThrottleQueue">
            <summary>
            An instance of this interface can be used to throttle the uploads
            of a group of associated channels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputChannelThrottleQueue.Init(System.UInt32,System.UInt32)">
            <summary>
            Initialize this object with the mean and maximum bytes per
            second that will be allowed.  Neither value may be zero, and
            the maximum must not be less than the mean.
            </summary>
            <param name="aMeanBytesPerSecond">
            Mean number of bytes per second.
            </param>
            <param name="aMaxBytesPerSecond">
            Maximum number of bytes per second.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputChannelThrottleQueue.Available(System.UInt32)">
            <summary>
            Return the number of bytes that are available to the caller in
            this time slice.
            </summary>
            <param name="aRemaining">
            The number of bytes available to be processed
            </param>
            <returns>
            the number of bytes allowed to be processed during this
            time slice; this will never be greater than aRemaining.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputChannelThrottleQueue.RecordRead(System.UInt32)">
            <summary>
            Record a successful read.
            </summary>
            <param name="aBytesRead">
            The number of bytes actually read.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputChannelThrottleQueue.BytesProcessed">
            <summary>
            Return the number of bytes allowed through this queue.  This is
            the sum of all the values passed to recordRead.  This method is
            primarily useful for testing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputChannelThrottleQueue.WrapStream(Gecko.Interfaces.nsIInputStream)">
            <summary>
            Wrap the given input stream in a new input stream which
            throttles the incoming data.
            </summary>
            <param name="aInputStream">
            the input stream to wrap
            </param>
            <returns>
            a new input stream that throttles the data.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIThrottledInputChannel">
            <summary>
            A throttled input channel can be managed by an
            nsIInputChannelThrottleQueue to limit how much data is sent during
            a given time slice.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThrottledInputChannel.GetThrottleQueueAttribute">
            <summary>
            The queue that manages this channel.  Multiple channels can
            share a single queue.  A null value means that no throttling
            will be done.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITransportProvider">
            <summary>
            An interface which can be used to asynchronously request a nsITransport
            together with the input and output streams that go together with it.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIWithBlobImpl">
            <summary>
            nsIURIWithBlobImpl is implemented by URIs which are associated with a
            specific BlobImpl.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithBlobImpl.GetBlobImplAttribute">
            <summary>
            The BlobImpl associated with the resource returned when loading this uri.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIWithQuery">
            <summary>
            nsIURIWithQuery is implemented by URIs which have a query parameter.
            This is useful for the URL API.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURI">
            <summary>
            nsIURI - interface for an uniform resource identifier w/ i18n support.
            
            AUTF8String attributes may contain unescaped UTF-8 characters.
            Consumers should be careful to escape the UTF-8 strings as necessary, but
            should always try to &quot;display&quot; the UTF-8 version as provided by this
            interface.
            
            AUTF8String attributes may also contain escaped characters.
            
            Unescaping URI segments is unadvised unless there is intimate
            knowledge of the underlying charset or there is no plan to display (or
            otherwise enforce a charset on) the resulting URI substring.
            
            The correct way to create an nsIURI from a string is via
            nsIIOService.newURI.
            
            NOTE: nsBinaryInputStream::ReadObject contains a hackaround to intercept the
            old (pre-gecko6) nsIURI IID and swap in the current IID instead, in order
            for sessionstore to work after an upgrade.  If this IID is revved further,
            we will need to add additional checks there for all intermediate IIDs, until
            nsPrincipal is fixed to serialize its URIs as nsISupports (bug 662693).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetSpecAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a string representation of the URI. Setting the spec causes
            the new spec to be parsed per the rules for the scheme the URI
            currently has.  In particular, setting the spec to a URI string with a
            different scheme will generally produce incorrect results; no one
            outside of a protocol handler implementation should be doing that.  If
            the URI stores information from the nsIIOService.newURI call used to
            create it other than just the parsed string, then behavior of this
            information on setting the spec attribute is undefined.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetPrePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The prePath (eg. scheme://user:password@host:port) returns the string
            before the path.  This is useful for authentication or managing sessions.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The Scheme is the protocol to which this URI refers.  The scheme is
            restricted to the US-ASCII charset per RFC2396.  Setting this is
            highly discouraged outside of a protocol handler implementation, since
            that will generally lead to incorrect results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetUserPassAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The username:password (or username only if value doesn&apos;t contain a &apos;:&apos;)
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetUsernameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The optional username and password, assuming the preHost consists of
            username:password.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetHostPortAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host:port (or simply the host, if port == -1).
            
            If this attribute is set to a value that only has a host part, the port
            will not be reset. To reset the port as well use setHostAndPort.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.SetHostAndPort(Gecko.nsAUTF8StringBase)">
            <summary>
            This function will always set a host and a port. If the port part is
            empty, the value of the port will be set to the default value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host is the internet domain name to which this URI refers.  It could
            be an IPv4 (or IPv6) address literal.  If supported, it could be a
            non-ASCII internationalized domain name.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetPortAttribute">
            <summary>
            A port value of -1 corresponds to the protocol&apos;s default port (eg. -1
            implies port 80 for http URIs).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The path, typically including at least a leading &apos;/&apos; (but may also be
            empty, depending on the protocol).
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.Equals(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison).
            
            eg. http://foo.com:80/ == http://foo.com
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.SchemeIs(System.String)">
            <summary>
            An optimization to do scheme checks without requiring the users of nsIURI
            to GetScheme, thereby saving extra allocating and freeing. Returns true if
            the schemes match (case ignored).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.Clone">
            <summary>
            Clones the current URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.Resolve(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            This method resolves a relative string into an absolute URI string,
            using this URI as the base.
            
            NOTE: some implementations may have no concept of a relative URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetAsciiSpecAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI spec with an ASCII compatible encoding.  Host portion follows
            the IDNA draft spec.  Other parts are URL-escaped per the rules of
            RFC2396.  The result is strictly ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetAsciiHostPortAttribute(Gecko.nsACStringBase)">
            <summary>
            The host:port (or simply the host, if port == -1), with an ASCII compatible
            encoding.  Host portion follows the IDNA draft spec.  The result is strictly
            ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetAsciiHostAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI host with an ASCII compatible encoding.  Follows the IDNA
            draft spec for converting internationalized domain names (UTF-8) to
            ASCII for compatibility with existing internet infrasture.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetOriginCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset of the document from which this URI originated.  An empty
            value implies UTF-8.
            
            If this value is something other than UTF-8 then the URI components
            (e.g., spec, prePath, username, etc.) will all be fully URL-escaped.
            Otherwise, the URI components may contain unescaped multibyte UTF-8
            characters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the reference portion (the part after the &quot;#&quot;) of the URI.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.EqualsExceptRef(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison), ignoring
            the value of the .ref member.
            
            eg. http://foo.com/# == http://foo.com
            http://foo.com/#aaa == http://foo.com/#bbb
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.CloneIgnoringRef">
            <summary>
            Clones the current URI, clearing the &apos;ref&apos; attribute in the clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.CloneWithNewRef(Gecko.nsAUTF8StringBase)">
            <summary>
            Clones the current URI, replacing the &apos;ref&apos; attribute in the clone with
            the ref supplied.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetSpecIgnoringRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            returns a string for the current URI with the ref element cleared.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURI.GetHasRefAttribute">
            <summary>
            Returns if there is a reference portion (the part after the &quot;#&quot;) of the URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetSpecAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a string representation of the URI. Setting the spec causes
            the new spec to be parsed per the rules for the scheme the URI
            currently has.  In particular, setting the spec to a URI string with a
            different scheme will generally produce incorrect results; no one
            outside of a protocol handler implementation should be doing that.  If
            the URI stores information from the nsIIOService.newURI call used to
            create it other than just the parsed string, then behavior of this
            information on setting the spec attribute is undefined.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetPrePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The prePath (eg. scheme://user:password@host:port) returns the string
            before the path.  This is useful for authentication or managing sessions.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The Scheme is the protocol to which this URI refers.  The scheme is
            restricted to the US-ASCII charset per RFC2396.  Setting this is
            highly discouraged outside of a protocol handler implementation, since
            that will generally lead to incorrect results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetUserPassAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The username:password (or username only if value doesn&apos;t contain a &apos;:&apos;)
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetUsernameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The optional username and password, assuming the preHost consists of
            username:password.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetHostPortAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host:port (or simply the host, if port == -1).
            
            If this attribute is set to a value that only has a host part, the port
            will not be reset. To reset the port as well use setHostAndPort.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.SetHostAndPort(Gecko.nsAUTF8StringBase)">
            <summary>
            This function will always set a host and a port. If the port part is
            empty, the value of the port will be set to the default value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host is the internet domain name to which this URI refers.  It could
            be an IPv4 (or IPv6) address literal.  If supported, it could be a
            non-ASCII internationalized domain name.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetPortAttribute">
            <summary>
            A port value of -1 corresponds to the protocol&apos;s default port (eg. -1
            implies port 80 for http URIs).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The path, typically including at least a leading &apos;/&apos; (but may also be
            empty, depending on the protocol).
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.Equals(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison).
            
            eg. http://foo.com:80/ == http://foo.com
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.SchemeIs(System.String)">
            <summary>
            An optimization to do scheme checks without requiring the users of nsIURI
            to GetScheme, thereby saving extra allocating and freeing. Returns true if
            the schemes match (case ignored).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.Clone">
            <summary>
            Clones the current URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.Resolve(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            This method resolves a relative string into an absolute URI string,
            using this URI as the base.
            
            NOTE: some implementations may have no concept of a relative URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetAsciiSpecAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI spec with an ASCII compatible encoding.  Host portion follows
            the IDNA draft spec.  Other parts are URL-escaped per the rules of
            RFC2396.  The result is strictly ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetAsciiHostPortAttribute(Gecko.nsACStringBase)">
            <summary>
            The host:port (or simply the host, if port == -1), with an ASCII compatible
            encoding.  Host portion follows the IDNA draft spec.  The result is strictly
            ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetAsciiHostAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI host with an ASCII compatible encoding.  Follows the IDNA
            draft spec for converting internationalized domain names (UTF-8) to
            ASCII for compatibility with existing internet infrasture.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetOriginCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset of the document from which this URI originated.  An empty
            value implies UTF-8.
            
            If this value is something other than UTF-8 then the URI components
            (e.g., spec, prePath, username, etc.) will all be fully URL-escaped.
            Otherwise, the URI components may contain unescaped multibyte UTF-8
            characters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the reference portion (the part after the &quot;#&quot;) of the URI.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.EqualsExceptRef(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison), ignoring
            the value of the .ref member.
            
            eg. http://foo.com/# == http://foo.com
            http://foo.com/#aaa == http://foo.com/#bbb
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.CloneIgnoringRef">
            <summary>
            Clones the current URI, clearing the &apos;ref&apos; attribute in the clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.CloneWithNewRef(Gecko.nsAUTF8StringBase)">
            <summary>
            Clones the current URI, replacing the &apos;ref&apos; attribute in the clone with
            the ref supplied.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetSpecIgnoringRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            returns a string for the current URI with the ref element cleared.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetHasRefAttribute">
            <summary>
            Returns if there is a reference portion (the part after the &quot;#&quot;) of the URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetFilePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a path including the directory and file portions of a
            URL.  For example, the filePath of &quot;http://host/foo/bar.html#baz&quot;
            is &quot;/foo/bar.html&quot;.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithQuery.GetQueryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the query portion (the part after the &quot;?&quot;) of the URL.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWindowlessBrowser">
            <summary>
            This interface represents a nsIWebBrowser instance with no associated OS
            window. Its main function is to manage the lifetimes of those windows.
            A strong reference to this object must be held until the window is
            ready to be destroyed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebNavigation">
            <summary>
            The nsIWebNavigation interface defines an interface for navigating the web.
            It provides methods and attributes to direct an object to navigate to a new
            location, stop or restart an in process load, or determine where the object
            has previously gone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GetCanGoBackAttribute">
            <summary>
            Indicates if the object can go back.  If true this indicates that
            there is back session history available for navigation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GetCanGoForwardAttribute">
            <summary>
            Indicates if the object can go forward.  If true this indicates that
            there is forward session history available for navigation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GoBack">
            <summary>
            Tells the object to navigate to the previous session history item.  When a
            page is loaded from session history, all content is loaded from the cache
            (if available) and page state (such as form values and scroll position) is
            restored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GoForward">
            <summary>
            Tells the object to navigate to the next session history item.  When a
            page is loaded from session history, all content is loaded from the cache
            (if available) and page state (such as form values and scroll position) is
            restored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GotoIndex(System.Int32)">
            <summary>
            Tells the object to navigate to the session history item at a given index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.LoadURI(System.String,System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIInputStream)">
            <summary>
            Loads a given URI.  This will give priority to loading the requested URI
            in the object implementing	this interface.  If it can&apos;t be loaded here
            however, the URI dispatcher will go through its normal process of content
            loading.
            </summary>
            <param name="aURI">
            The URI string to load.  For HTTP and FTP URLs and possibly others,
            characters above U+007F will be converted to UTF-8 and then URL-
            escaped per the rules of RFC 2396.
            </param>
            <param name="aLoadFlags">
            Flags modifying load behaviour.  This parameter is a bitwise
            combination of the load flags defined above.  (Undefined bits are
            reserved for future use.)  Generally you will pass LOAD_FLAGS_NONE
            for this parameter.
            </param>
            <param name="aReferrer">
            The referring URI.  If this argument is null, then the referring
            URI will be inferred internally.
            </param>
            <param name="aPostData">
            If the URI corresponds to a HTTP request, then this stream is
            appended directly to the HTTP request headers.  It may be prefixed
            with additional HTTP headers.  This stream must contain a &quot;\r\n&quot;
            sequence separating any HTTP headers from the HTTP request body.
            This parameter is optional and may be null.
            </param>
            <param name="aHeaders">
            If the URI corresponds to a HTTP request, then any HTTP headers
            contained in this stream are set on the HTTP request.  The HTTP
            header stream is formatted as:
            ( HEADER &quot;\r\n&quot; )
            This parameter is optional and may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.LoadURIWithOptions(System.String,System.UInt32,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIURI)">
            <summary>
            Loads a given URI.  This will give priority to loading the requested URI
            in the object implementing this interface.  If it can&apos;t be loaded here
            however, the URI dispatcher will go through its normal process of content
            loading.
            
            Behaves like loadURI, but allows passing of additional parameters.
            </summary>
            <param name="aURI">
            The URI string to load.  For HTTP and FTP URLs and possibly others,
            characters above U+007F will be converted to UTF-8 and then URL-
            escaped per the rules of RFC 2396.
            </param>
            <param name="aLoadFlags">
            Flags modifying load behaviour.  This parameter is a bitwise
            combination of the load flags defined above.  (Undefined bits are
            reserved for future use.)  Generally you will pass LOAD_FLAGS_NONE
            for this parameter.
            </param>
            <param name="aReferrer">
            The referring URI.  If this argument is null, then the referring
            URI will be inferred internally.
            </param>
            <param name="aReferrerPolicy">
            One of the REFERRER_POLICY_* constants from nsIHttpChannel.
            Normal case is REFERRER_POLICY_DEFAULT.
            </param>
            <param name="aPostData">
            If the URI corresponds to a HTTP request, then this stream is
            appended directly to the HTTP request headers.  It may be prefixed
            with additional HTTP headers.  This stream must contain a &quot;\r\n&quot;
            sequence separating any HTTP headers from the HTTP request body.
            This parameter is optional and may be null.
            </param>
            <param name="aHeaders">
            If the URI corresponds to a HTTP request, then any HTTP headers
            contained in this stream are set on the HTTP request.  The HTTP
            header stream is formatted as:
            ( HEADER &quot;\r\n&quot; )
            This parameter is optional and may be null.
            </param>
            <param name="aBaseURI">
            Set to indicate a base URI to be associated with the load. Note
            that at present this argument is only used with view-source aURIs
            and cannot be used to resolve aURI.
            This parameter is optional and may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.Reload(System.UInt32)">
            <summary>
            Tells the Object to reload the current page.  There may be cases where the
            user will be asked to confirm the reload (for example, when it is
            determined that the request is non-idempotent).
            </summary>
            <param name="aReloadFlags">
            Flags modifying load behaviour.  This parameter is a bitwise
            combination of the Load Flags defined above.  (Undefined bits are
            reserved for future use.)  Generally you will pass LOAD_FLAGS_NONE
            for this parameter.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.Stop(System.UInt32)">
            <summary>
            Stops a load of a URI.
            </summary>
            <param name="aStopFlags">
            This parameter is one of the stop flags defined above.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GetDocumentAttribute">
            <summary>
            Retrieves the current DOM document for the frame, or lazily creates a
            blank document if there is none.  This attribute never returns null except
            for unexpected error situations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GetCurrentURIAttribute">
            <summary>
            The currently loaded URI or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GetReferringURIAttribute">
            <summary>
            The referring URI for the currently loaded URI or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.GetSessionHistoryAttribute">
            <summary>
            The session history object used by this web navigation instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigation.SetOriginAttributesBeforeLoading(SpiderMonkey.JSVal@)">
            <summary>
            Set an OriginAttributes dictionary in the docShell. This can be done only
            before loading any content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GetCanGoBackAttribute">
            <summary>
            Indicates if the object can go back.  If true this indicates that
            there is back session history available for navigation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GetCanGoForwardAttribute">
            <summary>
            Indicates if the object can go forward.  If true this indicates that
            there is forward session history available for navigation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GoBack">
            <summary>
            Tells the object to navigate to the previous session history item.  When a
            page is loaded from session history, all content is loaded from the cache
            (if available) and page state (such as form values and scroll position) is
            restored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GoForward">
            <summary>
            Tells the object to navigate to the next session history item.  When a
            page is loaded from session history, all content is loaded from the cache
            (if available) and page state (such as form values and scroll position) is
            restored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GotoIndex(System.Int32)">
            <summary>
            Tells the object to navigate to the session history item at a given index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.LoadURI(System.String,System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIInputStream)">
            <summary>
            Loads a given URI.  This will give priority to loading the requested URI
            in the object implementing	this interface.  If it can&apos;t be loaded here
            however, the URI dispatcher will go through its normal process of content
            loading.
            </summary>
            <param name="aURI">
            The URI string to load.  For HTTP and FTP URLs and possibly others,
            characters above U+007F will be converted to UTF-8 and then URL-
            escaped per the rules of RFC 2396.
            </param>
            <param name="aLoadFlags">
            Flags modifying load behaviour.  This parameter is a bitwise
            combination of the load flags defined above.  (Undefined bits are
            reserved for future use.)  Generally you will pass LOAD_FLAGS_NONE
            for this parameter.
            </param>
            <param name="aReferrer">
            The referring URI.  If this argument is null, then the referring
            URI will be inferred internally.
            </param>
            <param name="aPostData">
            If the URI corresponds to a HTTP request, then this stream is
            appended directly to the HTTP request headers.  It may be prefixed
            with additional HTTP headers.  This stream must contain a &quot;\r\n&quot;
            sequence separating any HTTP headers from the HTTP request body.
            This parameter is optional and may be null.
            </param>
            <param name="aHeaders">
            If the URI corresponds to a HTTP request, then any HTTP headers
            contained in this stream are set on the HTTP request.  The HTTP
            header stream is formatted as:
            ( HEADER &quot;\r\n&quot; )
            This parameter is optional and may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.LoadURIWithOptions(System.String,System.UInt32,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIURI)">
            <summary>
            Loads a given URI.  This will give priority to loading the requested URI
            in the object implementing this interface.  If it can&apos;t be loaded here
            however, the URI dispatcher will go through its normal process of content
            loading.
            
            Behaves like loadURI, but allows passing of additional parameters.
            </summary>
            <param name="aURI">
            The URI string to load.  For HTTP and FTP URLs and possibly others,
            characters above U+007F will be converted to UTF-8 and then URL-
            escaped per the rules of RFC 2396.
            </param>
            <param name="aLoadFlags">
            Flags modifying load behaviour.  This parameter is a bitwise
            combination of the load flags defined above.  (Undefined bits are
            reserved for future use.)  Generally you will pass LOAD_FLAGS_NONE
            for this parameter.
            </param>
            <param name="aReferrer">
            The referring URI.  If this argument is null, then the referring
            URI will be inferred internally.
            </param>
            <param name="aReferrerPolicy">
            One of the REFERRER_POLICY_* constants from nsIHttpChannel.
            Normal case is REFERRER_POLICY_DEFAULT.
            </param>
            <param name="aPostData">
            If the URI corresponds to a HTTP request, then this stream is
            appended directly to the HTTP request headers.  It may be prefixed
            with additional HTTP headers.  This stream must contain a &quot;\r\n&quot;
            sequence separating any HTTP headers from the HTTP request body.
            This parameter is optional and may be null.
            </param>
            <param name="aHeaders">
            If the URI corresponds to a HTTP request, then any HTTP headers
            contained in this stream are set on the HTTP request.  The HTTP
            header stream is formatted as:
            ( HEADER &quot;\r\n&quot; )
            This parameter is optional and may be null.
            </param>
            <param name="aBaseURI">
            Set to indicate a base URI to be associated with the load. Note
            that at present this argument is only used with view-source aURIs
            and cannot be used to resolve aURI.
            This parameter is optional and may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.Reload(System.UInt32)">
            <summary>
            Tells the Object to reload the current page.  There may be cases where the
            user will be asked to confirm the reload (for example, when it is
            determined that the request is non-idempotent).
            </summary>
            <param name="aReloadFlags">
            Flags modifying load behaviour.  This parameter is a bitwise
            combination of the Load Flags defined above.  (Undefined bits are
            reserved for future use.)  Generally you will pass LOAD_FLAGS_NONE
            for this parameter.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.Stop(System.UInt32)">
            <summary>
            Stops a load of a URI.
            </summary>
            <param name="aStopFlags">
            This parameter is one of the stop flags defined above.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GetDocumentAttribute">
            <summary>
            Retrieves the current DOM document for the frame, or lazily creates a
            blank document if there is none.  This attribute never returns null except
            for unexpected error situations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GetCurrentURIAttribute">
            <summary>
            The currently loaded URI or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GetReferringURIAttribute">
            <summary>
            The referring URI for the currently loaded URI or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.GetSessionHistoryAttribute">
            <summary>
            The session history object used by this web navigation instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.SetOriginAttributesBeforeLoading(SpiderMonkey.JSVal@)">
            <summary>
            Set an OriginAttributes dictionary in the docShell. This can be done only
            before loading any content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowlessBrowser.Close">
            <summary>
            &quot;Closes&quot; the windowless browser and destroys its associated nsIWebBrowser
            and docshell.
            
            This method *must* be called for every windowless browser before its last
            reference is released.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.amIAddonPathService">
            <summary>
            This service maps file system paths where add-ons reside to the ID
            of the add-on. Paths are added by the add-on manager. They can
            looked up by anyone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIAddonPathService.FindAddonId(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Given a path to a file, return the ID of the add-on that the file belongs
            to. Returns an empty string if there is no add-on there. Note that if an
            add-on is located at /a/b/c, then looking up the path /a/b/c/d will return
            that add-on.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIAddonPathService.InsertPath(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Call this function to inform the service that the given file system path is
            associated with the given add-on ID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIAddonPathService.MapURIToAddonId(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase)">
            <summary>
            Given a URI to a file, return the ID of the add-on that the file belongs
            to. Returns an empty string if there is no add-on there.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.amIInstallCallback">
            <summary>
            A callback function used to notify webpages when a requested install has
            ended.
            
            NOTE: This is *not* the same as InstallListener.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIInstallCallback.OnInstallEnded(Gecko.nsAStringBase,System.Int32)">
            <summary>
            Called when an install completes or fails.
            </summary>
            <param name="aUrl">
            The url of the add-on being installed
            </param>
            <param name="aStatus">
            0 if the install was successful or negative if not
            </param>
        </member>
        <member name="T:Gecko.Interfaces.amIWebInstaller">
            <summary>
            This interface is used to allow webpages to start installing add-ons.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstaller.IsInstallEnabled(Gecko.nsAStringBase,Gecko.Interfaces.nsIURI)">
            <summary>
            Checks if installation is enabled for a webpage.
            </summary>
            <param name="aMimetype">
            The mimetype for the add-on to be installed
            </param>
            <param name="referer">
            The URL of the webpage trying to install an add-on
            </param>
            <returns>
            true if installation is enabled
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstaller.InstallAddonsFromWebpage(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIURI,System.IntPtr[],System.IntPtr[],System.IntPtr[],System.IntPtr[],Gecko.Interfaces.amIInstallCallback,System.UInt32)">
            <summary>
            Installs an array of add-ons at the request of a webpage
            </summary>
            <param name="aMimetype">
            The mimetype for the add-ons
            </param>
            <param name="aBrowser">
            The browser installing the add-ons.
            </param>
            <param name="aReferer">
            The URI for the webpage installing the add-ons
            </param>
            <param name="aUris">
            The URIs of add-ons to be installed
            </param>
            <param name="aHashes">
            The hashes for the add-ons to be installed
            </param>
            <param name="aNames">
            The names for the add-ons to be installed
            </param>
            <param name="aIcons">
            The icons for the add-ons to be installed
            </param>
            <param name="aCallback">
            An optional callback to notify about installation success and
            failure
            </param>
            <param name="aInstallCount">
            An optional argument including the number of add-ons to install
            </param>
            <returns>
            true if the installation was successfully started
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.amIWebInstallInfo">
            <summary>
            amIWebInstallInfo is used by the default implementation of
            amIWebInstallListener to communicate with the running application and allow
            it to warn the user about blocked installs and start the installs running.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstallInfo.Install">
            <summary>
            Starts all installs.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.amIWebInstallListener">
            <summary>
            The registered amIWebInstallListener is used to notify about new installs
            triggered by websites. The default implementation displays a confirmation
            dialog when add-ons are ready to install and uses the observer service to
            notify when installations are blocked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstallListener.OnWebInstallDisabled(Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIVariant[],System.UInt32)">
            <summary>
            Called when installation by websites is currently disabled.
            </summary>
            <param name="aBrowser">
            The browser that triggered the installs
            </param>
            <param name="aUri">
            The URI of the site that triggered the installs
            </param>
            <param name="aInstalls">
            The AddonInstalls that were blocked
            </param>
            <param name="aCount">
            The number of AddonInstalls
            </param>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstallListener.OnWebInstallBlocked(Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIVariant[],System.UInt32)">
            <summary>
            Called when the website is not allowed to directly prompt the user to
            install add-ons.
            </summary>
            <param name="aBrowser">
            The browser that triggered the installs
            </param>
            <param name="aUri">
            The URI of the site that triggered the installs
            </param>
            <param name="aInstalls">
            The AddonInstalls that were blocked
            </param>
            <param name="aCount">
            The number of AddonInstalls
            </param>
            <returns>
            true if the caller should start the installs
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstallListener.OnWebInstallRequested(Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIVariant[],System.UInt32)">
            <summary>
            Called when a website wants to ask the user to install add-ons.
            </summary>
            <param name="aBrowser">
            The browser that triggered the installs
            </param>
            <param name="aUri">
            The URI of the site that triggered the installs
            </param>
            <param name="aInstalls">
            The AddonInstalls that were requested
            </param>
            <param name="aCount">
            The number of AddonInstalls
            </param>
            <returns>
            true if the caller should start the installs
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstallListener2.OnWebInstallOriginBlocked(Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIVariant[],System.UInt32)">
            <summary>
            Called when a non-same-origin resource attempted to initiate an install.
            Installs will have already been cancelled and cannot be restarted.
            </summary>
            <param name="aBrowser">
            The browser that triggered the installs
            </param>
            <param name="aUri">
            The URI of the site that triggered the installs
            </param>
            <param name="aInstalls">
            The AddonInstalls that were blocked
            </param>
            <param name="aCount">
            The number of AddonInstalls
            </param>
        </member>
        <member name="T:Gecko.Interfaces.amIWebInstallPrompt">
            <summary>
            amIWebInstallPrompt is used, if available, by the default implementation of
            amIWebInstallInfo to display a confirmation UI to the user before running
            installs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.amIWebInstallPrompt.Confirm(Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIVariant[],System.UInt32)">
            <summary>
            Get a confirmation that the user wants to start the installs.
            </summary>
            <param name="aBrowser">
            The browser that triggered the installs
            </param>
            <param name="aUri">
            The URI of the site that triggered the installs
            </param>
            <param name="aInstalls">
            The AddonInstalls that were requested
            </param>
            <param name="aCount">
            The number of AddonInstalls
            </param>
        </member>
        <member name="T:Gecko.Interfaces.extIConsole">
            <summary>
            Interface that gives simplified access to the console
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIConsole.Log(Gecko.nsAStringBase)">
            <summary>
            Sends a given string to the console.
            </summary>
            <param name="aMsg">
            The text to send to the console
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIConsole.Open">
            <summary>
            Opens the error console window. The console window
            is focused if already open.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.extIEventItem">
            <summary>
            Interface holds information about an event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIEventItem.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the event
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIEventItem.GetDataAttribute">
            <summary>
            Can hold extra details and data associated with the event. This
            is optional and event specific. If the event does not send extra
            details, this is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIEventItem.PreventDefault">
            <summary>
            Cancels the event if it is cancelable.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.extIEventListener">
            <summary>
            Interface used as a callback for listening to events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIEventListener.HandleEvent(Gecko.Interfaces.extIEventItem)">
            <summary>
            This method is called whenever an event occurs of the type for which
            the extIEventListener interface was registered.
            </summary>
            <param name="aEvent">
            The extIEventItem associated with the event.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.extIEvents">
            <summary>
            Interface for supporting custom events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIEvents.AddListener(Gecko.nsAStringBase,Gecko.Interfaces.extIEventListener)">
            <summary>
            Adds an event listener to the list. If multiple identical event listeners
            are registered on the same event target with the same parameters the
            duplicate instances are discarded. They do not cause the EventListener
            to be called twice and since they are discarded they do not need to be
            removed with the removeListener method.
            </summary>
            <param name="aEvent">
            The name of an event
            </param>
            <param name="aListener">
            The reference to a listener
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIEvents.RemoveListener(Gecko.nsAStringBase,Gecko.Interfaces.extIEventListener)">
            <summary>
            Removes an event listener from the list. Calling remove
            with arguments which do not identify any currently registered
            event listener has no effect.
            </summary>
            <param name="aEvent">
            The name of an event
            </param>
            <param name="aListener">
            The reference to a listener
            </param>
        </member>
        <member name="T:Gecko.Interfaces.extIPreferenceBranch">
            <summary>
            Interface for simplified access to preferences. The interface has a
            predefined root preference branch. The root branch is set based on the
            context of the owner. For example, an extension&apos;s preferences have a root
            of &quot;extensions.&lt;extensionid&gt;.&quot;, while the application level preferences
            have an empty root. All preference &quot;aName&quot; parameters used in this interface
            are relative to the root branch.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.GetRootAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the branch root.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.GetAllAttribute">
            <summary>
            Array of extIPreference listing all preferences in this branch.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.GetEventsAttribute">
            <summary>
            The events object for the preferences
            supports: &quot;change&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.Has(Gecko.nsAStringBase)">
            <summary>
            Check to see if a preference exists.
            </summary>
            <param name="aName">
            The name of preference
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.Get(Gecko.nsAStringBase)">
            <summary>
            Gets an object representing a preference
            </summary>
            <param name="aName">
            The name of preference
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.GetValue(Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Gets the value of a preference. Returns a default value if
            the preference does not exist.
            </summary>
            <param name="aName">
            The name of preference
            </param>
            <param name="aDefaultValue">
            The value to return if preference does not exist
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.SetValue(Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Sets the value of a storage item with the given name.
            </summary>
            <param name="aName">
            The name of an item
            </param>
            <param name="aValue">
            The value to assign to the item
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIPreferenceBranch.Reset">
            <summary>
            Resets all preferences in a branch back to their default values.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.extIPreference">
            <summary>
            Interface for accessing a single preference. The data is not cached.
            All reads access the current state of the preference.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the preference.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            A string representing the type of preference (String, Boolean, or Number).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.GetValueAttribute">
            <summary>
            Get/Set the value of the preference.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.GetLockedAttribute">
            <summary>
            Get the locked state of the preference. Set to a boolean value to (un)lock it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.GetModifiedAttribute">
            <summary>
            Check if a preference has been modified by the user, or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.GetBranchAttribute">
            <summary>
            The preference branch that contains this preference.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.GetEventsAttribute">
            <summary>
            The events object for this preference.
            supports: &quot;change&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIPreference.Reset">
            <summary>
            Resets a preference back to its default values.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.extIExtension">
            <summary>
            Interface representing an extension
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetIdAttribute(Gecko.nsAStringBase)">
            <summary>
            The id of the extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetEnabledAttribute">
            <summary>
            Check if the extension is currently enabled, or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            The version number of the extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetFirstRunAttribute">
            <summary>
            Indicates whether this is the extension&apos;s first run after install
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetPrefsAttribute">
            <summary>
            The preferences object for the extension. Defaults to the
            &quot;extensions.&lt;extensionid&gt;.&quot; branch.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetStorageAttribute">
            <summary>
            The storage object for the extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtension.GetEventsAttribute">
            <summary>
            The events object for the extension.
            supports: &quot;uninstall&quot;
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.extIExtensions">
            <summary>
            Interface representing a list of all installed extensions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtensions.GetAllAttribute">
            <summary>
            Array of extIExtension listing all extensions in the application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIExtensions.Has(Gecko.nsAStringBase)">
            <summary>
            Determines if an extension exists with the given id.
            </summary>
            <param name="aId">
            The id of an extension
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIExtensions.Get(Gecko.nsAStringBase)">
            <summary>
            Gets a extIExtension object for an extension.
            </summary>
            <param name="aId">
            The id of an extension
            </param>
        </member>
        <member name="T:Gecko.Interfaces.extIExtensionsCallback">
            <summary>
            Interface representing a callback that receives an array of extIExtensions
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.extISessionStorage">
            <summary>
            Interface representing a simple storage system
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extISessionStorage.GetEventsAttribute">
            <summary>
            The events object for the storage
            supports: &quot;change&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extISessionStorage.Has(Gecko.nsAStringBase)">
            <summary>
            Determines if a storage item exists with the given name.
            </summary>
            <param name="aName">
            The name of an item
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extISessionStorage.Set(Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Sets the value of a storage item with the given name.
            </summary>
            <param name="aName">
            The name of an item
            </param>
            <param name="aValue">
            The value to assign to the item
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extISessionStorage.Get(Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Gets the value of a storage item with the given name. Returns a
            default value if the item does not exist.
            </summary>
            <param name="aName">
            The name of an item
            </param>
            <param name="aDefaultValue">
            The value to return if no item exists with the given name
            </param>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetIdAttribute(Gecko.nsAStringBase)">
            <summary>
            The id of the application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            The version number of the application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetConsoleAttribute">
            <summary>
            The console object for the application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetExtensions(Gecko.Interfaces.extIExtensionsCallback)">
            <summary>
            The extensions object for the application. Contains a list
            of all installed extensions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetPrefsAttribute">
            <summary>
            The preferences object for the application. Defaults to an empty
            root branch.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetStorageAttribute">
            <summary>
            The storage object for the application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.GetEventsAttribute">
            <summary>
            The events object for the application.
            supports: &quot;load&quot;, &quot;ready&quot;, &quot;quit&quot;, &quot;unload&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.Quit">
            <summary>
            Quits the application (if nobody objects to quit-application-requested).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.extIApplication.Restart">
            <summary>
            Restarts the application (if nobody objects to quit-application-requested).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.IJSDebugger">
            <summary>
            Do not use this interface. Instead, write:
            Components.utils.import(&quot;resource://gre/modules/jsdebugger.jsm&quot;);
            addDebuggerToGlobal(global);
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.IJSDebugger.AddClass(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Define the global Debugger constructor on a given global.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.imgICache">
            <summary>
            imgICache interface
            </summary>
            <remarks>
            See imagelib2
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.imgICache.ClearCache(System.Boolean)">
            <summary>
            Evict images from the cache.
            </summary>
            <param name="chrome">
            If TRUE,  evict only chrome images.
            If FALSE, evict everything except chrome images.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgICache.FindEntryProperties(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMDocument)">
            <summary>
            Find Properties
            Used to get properties such as &apos;type&apos; and &apos;content-disposition&apos;
            &apos;type&apos; is a nsISupportsCString containing the images&apos; mime type such as
            &apos;image/png&apos;
            &apos;content-disposition&apos; will be a nsISupportsCString containing the header
            If you call this before any data has been loaded from a URI, it will
            succeed, but come back empty.
            
            Hopefully this will be removed with bug 805119
            </summary>
            <param name="uri">
            The URI to look up.
            </param>
            <param name="doc">
            Optional pointer to the document that the cache entry belongs to.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgICache.RespectPrivacyNotifications">
            <summary>
            Make this cache instance respect private browsing notifications. This
            entails clearing the chrome and content caches whenever the
            last-pb-context-exited notification is observed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgICache.ClearCacheForControlledDocument(System.IntPtr)">
            <summary>
            Clear the image cache for a document.  Controlled documents are responsible
            for doing this manually when they get destroyed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.imgIContainer">
            <summary>
            imgIContainer is the interface that represents an image. It allows
            access to frames as Thebes surfaces. It also allows drawing of images
            onto Thebes contexts.
            
            Internally, imgIContainer also manages animation of images.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetWidthAttribute">
            <summary>
            The width of the container rectangle.  In the case of any error,
            zero is returned, and an exception will be thrown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetHeightAttribute">
            <summary>
            The height of the container rectangle.  In the case of any error,
            zero is returned, and an exception will be thrown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetIntrinsicSizeAttribute">
            <summary>
            The intrinsic size of this image in appunits. If the image has no intrinsic
            size in a dimension, -1 will be returned for that dimension. In the case of
            any error, an exception will be thrown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetIntrinsicRatioAttribute">
            <summary>
            The (dimensionless) intrinsic ratio of this image. In the case of any
            error, an exception will be thrown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.OptimalImageSizeForDest(System.IntPtr,System.UInt32,System.IntPtr,System.UInt32)">
            <summary>
            Given a size at which this image will be displayed, and the drawing
            parameters affecting how it will be drawn, returns the image size which
            should be used to draw to produce the highest quality result. This is the
            appropriate size, for example, to use as an input to the pixel snapping
            algorithm.
            
            For best results the size returned by this method should not be cached. It
            can change over time due to changes in the internal state of the image.
            </summary>
            <param name="aDest">
            The size of the destination rect into which this image will be
            drawn, in device pixels.
            </param>
            <param name="aWhichFrame">
            Frame specifier of the FRAME_* variety.
            </param>
            <param name="aSamplingFilter">
            The filter to be used if we&apos;re scaling the image.
            </param>
            <param name="aFlags">
            Flags of the FLAG_* variety
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetTypeAttribute">
            <summary>
            The type of this image (one of the TYPE_* values above).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetAnimatedAttribute">
            <summary>
            Whether this image is animated. You can only be guaranteed that querying
            this will not throw if STATUS_DECODE_COMPLETE is set on the imgIRequest.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the animated state cannot be determined.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetFrame(System.UInt32,System.UInt32)">
            <summary>
            Get a surface for the given frame. This may be a platform-native,
            optimized surface, so you cannot inspect its pixel data. If you
            need that, use SourceSurface::GetDataSurface.
            </summary>
            <param name="aWhichFrame">
            Frame specifier of the FRAME_* variety.
            </param>
            <param name="aFlags">
            Flags of the FLAG_* variety
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetFrameAtSize(System.IntPtr,System.UInt32,System.UInt32)">
            <summary>
            Get a surface for the given frame at the specified size. Matching the
            requested size is best effort; it&apos;s not guaranteed that the surface you get
            will be a perfect match. (Some reasons you may get a surface of a different
            size include: if you requested upscaling, if downscale-during-decode is
            disabled, or if you didn&apos;t request the first frame.)
            </summary>
            <param name="aSize">
            The desired size.
            </param>
            <param name="aWhichFrame">
            Frame specifier of the FRAME_* variety.
            </param>
            <param name="aFlags">
            Flags of the FLAG_* variety
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.WillDrawOpaqueNow">
            <summary>
            Returns true if this image will draw opaquely right now if asked to draw
            with FLAG_HIGH_QUALITY_SCALING and otherwise default flags. If this image
            (when decoded) is opaque but no decoded frames are available then
            willDrawOpaqueNow will return false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.IsImageContainerAvailable(System.IntPtr,System.UInt32)">
            <summary>
            
            </summary>
            <returns>
            true if getImageContainer() is expected to return a valid
            ImageContainer when passed the given @Manager and @Flags
            parameters.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.GetImageContainer(System.IntPtr,System.UInt32)">
            <summary>
            Attempts to create an ImageContainer (and Image) containing the current
            frame.
            
            Avoid calling this unless you&apos;re actually going to layerize this image.
            </summary>
            <param name="aManager">
            The LayerManager which will be used to create the
            ImageContainer.
            </param>
            <param name="aFlags">
            Decoding / drawing flags (in other words, FLAG_* flags).
            Currently only FLAG_SYNC_DECODE and FLAG_SYNC_DECODE_IF_FAST
            are supported.
            </param>
            <returns>
            An ImageContainer for the current frame, or nullptr if one could
            not be created.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.Draw(System.IntPtr,System.IntPtr,System.IntPtr,System.UInt32,System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Draw the requested frame of this image onto the context specified.
            
            Drawing an image involves scaling it to a certain size (which may be
            implemented as a &quot;smart&quot; scale by substituting an HQ-scaled frame or
            rendering at a high DPI), and then selecting a region of that image to
            draw. That region is drawn onto the graphics context and in the process
            transformed by the context matrix, which determines the final area that is
            filled. The basic process looks like this:
            
            +------------------+
            |      Image       |
            |                  |
            | intrinsic width  |
            |        X         |
            | intrinsic height |
            +------------------+
            \
            \
            (scale to aSize)    \
            \
            +----------------------------+
            |                            |
            |        Scaled Image        |
            | aSize.width X aSize.height |
            |                            |
            |       +---------+          |
            |       | aRegion |          |
            |       +---------+          |
            +-------(---------(----------+
            |         |
            \
            |  (transform |
            by aContext  \
            |     matrix)     |
            \
            +---------------------+
            |                     |
            |      Fill Rect      |
            |                     |
            +---------------------+
            
            The region may extend outside of the scaled image&apos;s boundaries. It&apos;s
            actually a region in tiled image space, which is formed by tiling the
            scaled image infinitely in every direction. Drawing with a region larger
            than the scaled image thus causes the filled area to contain multiple tiled
            copies of the image, which looks like this:
            
            ....................................................
            :                :                :                :
            :      Tile      :      Tile      :      Tile      :
            :        +------------[aRegion]------------+       :
            :........|.......:................:........|.......:
            :        |       :                :        |       :
            :      Ti|le     :  Scaled Image  :      Ti|le     :
            :        |       :                :        |       :
            :........|.......:................:........|.......:
            :        +---------------------------------+       :
            :      Ti|le     :      Tile      :      Ti|le     :
            :       /        :                :         \      :
            :......(.........:................:..........).....:
            |                                     |
            \
            |      (transform by aContext matrix)     |
            \
            +---------------------------------------------+
            |     :                                 :     |
            |.....:.................................:.....|
            |     :                                 :     |
            |     :           Tiled Fill            :     |
            |     :                                 :     |
            |.....:.................................:.....|
            |     :                                 :     |
            +---------------------------------------------+
            </summary>
            <param name="aContext">
            The Thebes context to draw the image to.
            </param>
            <param name="aSize">
            The size to which the image should be scaled before drawing.
            This requirement may be satisfied using HQ scaled frames,
            selecting from different resolution layers, drawing at a
            higher DPI, or just performing additional scaling on the
            graphics context. Callers can use optimalImageSizeForDest()
            to determine the best choice for this parameter if they have
            no special size requirements.
            </param>
            <param name="aRegion">
            The region in tiled image space which will be drawn onto the
            graphics context. aRegion is in the coordinate space of the
            image after it has been scaled to aSize - that is, the image
            is scaled first, and then aRegion is applied. When aFlags
            includes FLAG_CLAMP, the image will be extended to this area
            by clamping image sample coordinates. Otherwise, the image
            will be automatically tiled as necessary. aRegion can also
            optionally contain a second region which restricts the set
            of pixels we&apos;re allowed to sample from when drawing; this
            is only of use to callers which need to draw with pixel
            snapping.
            </param>
            <param name="aWhichFrame">
            Frame specifier of the FRAME_* variety.
            </param>
            <param name="aSamplingFilter">
            The filter to be used if we&apos;re scaling the image.
            </param>
            <param name="aSVGContext">
            If specified, SVG-related rendering context, such as
            overridden attributes on the image document&apos;s root &lt;svg&gt;
            node, and the size of the viewport that the full image
            would occupy. Ignored for raster images.
            </param>
            <param name="aFlags">
            Flags of the FLAG_* variety
            </param>
            <returns>
            A DrawResult value indicating whether and to what degree the
            drawing operation was successful.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.LockImage">
            <summary>
            Increments the lock count on the image. An image will not be discarded
            as long as the lock count is nonzero. Note that it is still possible for
            the image to be undecoded if decode-on-draw is enabled and the image
            was never drawn.
            
            Upon instantiation images have a lock count of zero.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.UnlockImage">
            <summary>
            Decreases the lock count on the image. If the lock count drops to zero,
            the image is allowed to discard its frame data to save memory.
            
            Upon instantiation images have a lock count of zero. It is an error to
            call this method without first having made a matching lockImage() call.
            In other words, the lock count is not allowed to be negative.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.RequestDiscard">
            <summary>
            If this image is unlocked, discard its decoded data.  If the image is
            locked or has already been discarded, do nothing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainer.RequestRefresh(System.IntPtr)">
            <summary>
            Indicates that this imgIContainer has been triggered to update
            its internal animation state. Likely this should only be called
            from within nsImageFrame or objects of similar type.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.imgIContainerDebug">
            <summary>
            This interface is used in debug builds (and only there) in
            order to let automatic tests running JavaScript access
            internal state of imgContainers. This lets us test
            things like animation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIContainerDebug.GetFramesNotifiedAttribute">
            <summary>
            The # of frames this imgContainer has been notified about.
            That is equal to the # of times the animation timer has
            fired, and is usually equal to the # of frames actually
            drawn (but actual drawing might be disabled).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.imgIEncoder">
            <summary>
            imgIEncoder interface
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAsyncInputStream">
            <summary>
            If an input stream is non-blocking, it may return NS_BASE_STREAM_WOULD_BLOCK
            when read.  The caller must then wait for the stream to have some data to
            read.  If the stream implements nsIAsyncInputStream, then the caller can use
            this interface to request an asynchronous notification when the stream
            becomes readable or closed (via the AsyncWait method).
            
            While this interface is almost exclusively used with non-blocking streams, it
            is not necessary that nsIInputStream::isNonBlocking return true.  Nor is it
            necessary that a non-blocking nsIInputStream implementation also implement
            nsIAsyncInputStream.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIInputStream">
            <summary>
            nsIInputStream
            
            An interface describing a readable stream of data.  An input stream may be
            &quot;blocking&quot; or &quot;non-blocking&quot; (see the IsNonBlocking method).  A blocking
            input stream may suspend the calling thread in order to satisfy a call to
            Close, Available, Read, or ReadSegments.  A non-blocking input stream, on
            the other hand, must not block the calling thread of execution.
            
            NOTE: blocking input streams are often read on a background thread to avoid
            locking up the main application thread.  For this reason, it is generally
            the case that a blocking input stream should be implemented using thread-
            safe AddRef and Release.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncInputStream.CloseWithStatus(System.Int32)">
            <summary>
            This method closes the stream and sets its internal status.  If the
            stream is already closed, then this method is ignored.  Once the stream
            is closed, the stream&apos;s status cannot be changed.  Any successful status
            code passed to this method is treated as NS_BASE_STREAM_CLOSED, which
            has an effect equivalent to nsIInputStream::close.
            
            NOTE: this method exists in part to support pipes, which have both an
            input end and an output end.  If the input end of a pipe is closed, then
            writes to the output end of the pipe will fail.  The error code returned
            when an attempt is made to write to a &quot;broken&quot; pipe corresponds to the
            status code passed in when the input end of the pipe was closed, which
            greatly simplifies working with pipes in some cases.
            </summary>
            <param name="aStatus">
            The error that will be reported if this stream is accessed after
            it has been closed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncInputStream.AsyncWait(Gecko.Interfaces.nsIInputStreamCallback,System.UInt32,System.UInt32,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            Asynchronously wait for the stream to be readable or closed.  The
            notification is one-shot, meaning that each asyncWait call will result
            in exactly one notification callback.  After the OnInputStreamReady event
            is dispatched, the stream releases its reference to the
            nsIInputStreamCallback object.  It is safe to call asyncWait again from the
            notification handler.
            
            This method may be called at any time (even if read has not been called).
            In other words, this method may be called when the stream already has
            data to read.  It may also be called when the stream is closed.  If the
            stream is already readable or closed when AsyncWait is called, then the
            OnInputStreamReady event will be dispatched immediately.  Otherwise, the
            event will be dispatched when the stream becomes readable or closed.
            </summary>
            <param name="aCallback">
            This object is notified when the stream becomes ready.  This
            parameter may be null to clear an existing callback.
            </param>
            <param name="aFlags">
            This parameter specifies optional flags passed in to configure
            the behavior of this method.  Pass zero to specify no flags.
            </param>
            <param name="aRequestedCount">
            Wait until at least this many bytes can be read.  This is only
            a suggestion to the underlying stream; it may be ignored.  The
            caller may pass zero to indicate no preference.
            </param>
            <param name="aEventTarget">
            Specify NULL to receive notification on ANY thread (possibly even
            recursively on the calling thread -- i.e., synchronously), or
            specify that the notification be delivered to a specific event
            target.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIEncoder.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIEncoder.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.imgIEncoder.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.imgIEncoder.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.imgIEncoder.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.imgIEncoder.CloseWithStatus(System.Int32)">
            <summary>
            This method closes the stream and sets its internal status.  If the
            stream is already closed, then this method is ignored.  Once the stream
            is closed, the stream&apos;s status cannot be changed.  Any successful status
            code passed to this method is treated as NS_BASE_STREAM_CLOSED, which
            has an effect equivalent to nsIInputStream::close.
            
            NOTE: this method exists in part to support pipes, which have both an
            input end and an output end.  If the input end of a pipe is closed, then
            writes to the output end of the pipe will fail.  The error code returned
            when an attempt is made to write to a &quot;broken&quot; pipe corresponds to the
            status code passed in when the input end of the pipe was closed, which
            greatly simplifies working with pipes in some cases.
            </summary>
            <param name="aStatus">
            The error that will be reported if this stream is accessed after
            it has been closed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIEncoder.AsyncWait(Gecko.Interfaces.nsIInputStreamCallback,System.UInt32,System.UInt32,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            Asynchronously wait for the stream to be readable or closed.  The
            notification is one-shot, meaning that each asyncWait call will result
            in exactly one notification callback.  After the OnInputStreamReady event
            is dispatched, the stream releases its reference to the
            nsIInputStreamCallback object.  It is safe to call asyncWait again from the
            notification handler.
            
            This method may be called at any time (even if read has not been called).
            In other words, this method may be called when the stream already has
            data to read.  It may also be called when the stream is closed.  If the
            stream is already readable or closed when AsyncWait is called, then the
            OnInputStreamReady event will be dispatched immediately.  Otherwise, the
            event will be dispatched when the stream becomes readable or closed.
            </summary>
            <param name="aCallback">
            This object is notified when the stream becomes ready.  This
            parameter may be null to clear an existing callback.
            </param>
            <param name="aFlags">
            This parameter specifies optional flags passed in to configure
            the behavior of this method.  Pass zero to specify no flags.
            </param>
            <param name="aRequestedCount">
            Wait until at least this many bytes can be read.  This is only
            a suggestion to the underlying stream; it may be ignored.  The
            caller may pass zero to indicate no preference.
            </param>
            <param name="aEventTarget">
            Specify NULL to receive notification on ANY thread (possibly even
            recursively on the calling thread -- i.e., synchronously), or
            specify that the notification be delivered to a specific event
            target.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.imgILoader">
            <summary>
            imgILoader interface
            </summary>
            <remarks>
            See imagelib2
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.imgILoader.LoadImageXPCOM(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsILoadGroup,Gecko.Interfaces.imgINotificationObserver,Gecko.Interfaces.nsISupports,System.UInt32,Gecko.Interfaces.nsISupports,System.UInt32)">
            <summary>
            Start the load and decode of an image.
            </summary>
            <param name="aURI">
            the URI to load
            </param>
            <param name="aInitialDocumentURI">
            the URI that &apos;initiated&apos; the load -- used for
            3rd party cookie blocking
            </param>
            <param name="aReferrerURI">
            the &apos;referring&apos; URI
            </param>
            <param name="aReferrerPolicy">
            the policy to apply to sending referrers.
            examples: &quot;default&quot;, &quot;never&quot;, &quot;always&quot;, &quot;origin&quot;
            (see W3C referrer-policy spec for valid policy strings)
            </param>
            <param name="aLoadingPrincipal">
            the principal of the loading document
            </param>
            <param name="aLoadGroup">
            Loadgroup to put the image load into
            </param>
            <param name="aObserver">
            the observer (may be null)
            </param>
            <param name="aCX">
            some random data
            </param>
            <param name="aLoadFlags">
            Load flags for the request
            </param>
            <param name="aCacheKey">
            cache key to use for a load if the original
            image came from a request that had post data
            </param>
            <param name="aContentPolicyType">
            [optional] the nsContentPolicyType to
            use for this load. Defaults to
            nsIContentPolicy::TYPE_IMAGE
            
            
            ImageLib does NOT keep a strong ref to the observer; this prevents
            reference cycles.  This means that callers of loadImage should
            make sure to Cancel() the resulting request before the observer
            goes away.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgILoader.LoadImageWithChannelXPCOM(Gecko.Interfaces.nsIChannel,Gecko.Interfaces.imgINotificationObserver,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIStreamListener@)">
            <summary>
            Start the load and decode of an image.
            </summary>
            <param name="aChannel">
            the channel to load the image from.  This must
            already be opened before ths method is called, and there
            must have been no OnDataAvailable calls for it yet.
            </param>
            <param name="aObserver">
            the observer (may be null)
            </param>
            <param name="cx">
            some random data
            </param>
            <param name="aListener">
            [out]
            A listener that you must send the channel&apos;s notifications and data
            to.  Can be null, in which case imagelib has found a cached image
            and is not interested in the data. @aChannel will be canceled for
            you in this case.
            
            ImageLib does NOT keep a strong ref to the observer; this prevents
            reference cycles.  This means that callers of loadImageWithChannel should
            make sure to Cancel() the resulting request before the observer goes away.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIOnloadBlocker.BlockOnload(Gecko.Interfaces.imgIRequest)">
            <summary>
            blockOnload
            Called when it is appropriate to block onload for the given imgIRequest.
            </summary>
            <param name="aRequest">
            The request that should block onload.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIOnloadBlocker.UnblockOnload(Gecko.Interfaces.imgIRequest)">
            <summary>
            unblockOnload
            Called when it is appropriate to unblock onload for the given
            imgIRequest.
            </summary>
            <param name="aRequest">
            The request that should unblock onload.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.imgIRequest">
            <summary>
            imgIRequest interface
            </summary>
            <remarks>
            See imagelib2
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIRequest">
            <summary>
            nsIRequest
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequest.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetImageAttribute">
            <summary>
            the image container...
            </summary>
            <returns>
            the image object associated with the request.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetImageStatusAttribute">
            <summary>
            Status flags of the STATUS_* variety.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetURIAttribute">
            <summary>
            The URI the image load was started with.  Note that this might not be the
            actual URI for the image (e.g. if HTTP redirects happened during the
            load).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetCurrentURIAttribute">
            <summary>
            The URI of the resource we ended up loading after all redirects, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.Clone(Gecko.Interfaces.imgINotificationObserver)">
            <summary>
            Clone this request; the returned request will have aObserver as the
            observer.  aObserver will be notified synchronously (before the clone()
            call returns) with all the notifications that have already been dispatched
            for this image load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetImagePrincipalAttribute">
            <summary>
            The principal gotten from the channel the image was loaded from.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetMultipartAttribute">
            <summary>
            Whether the request is multipart (ie, multipart/x-mixed-replace)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetCORSModeAttribute">
            <summary>
            The CORS mode that this image was loaded with.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.CancelAndForgetObserver(System.Int32)">
            <summary>
            Cancels this request as in nsIRequest::Cancel(); further, also nulls out
            decoderObserver so it gets no further notifications from us.
            
            NOTE: You should not use this in any new code; instead, use cancel(). Note
            that cancel() is asynchronous, which means that some time after you call
            it, the listener/observer will get an OnStopRequest(). This means that, if
            you&apos;re the observer, you can&apos;t call cancel() from your destructor.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.StartDecoding">
            <summary>
            Requests a synchronous decode for the image.
            
            imgIContainer has a startDecoding() method, but callers may want to request
            a decode before the container has necessarily been instantiated. Calling
            startDecoding() on the imgIRequest simply forwards along the request if the
            container already exists, or calls it once the container becomes available
            if it does not yet exist.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.LockImage">
            <summary>
            Locks an image. If the image does not exist yet, locks it once it becomes
            available. The lock persists for the lifetime of the imgIRequest (until
            unlockImage is called) even if the underlying image changes.
            
            If you don&apos;t call unlockImage() by the time this imgIRequest goes away, it
            will be called for you automatically.
            </summary>
            <remarks>
            See imgIContainer::lockImage for documentation of the underlying call.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.UnlockImage">
            <summary>
            Unlocks an image.
            </summary>
            <remarks>
            See imgIContainer::unlockImage for documentation of the underlying call.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.RequestDiscard">
            <summary>
            If this image is unlocked, discard the image&apos;s decoded data.  If the image
            is locked or is already discarded, do nothing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.GetStaticRequest">
            <summary>
            If this request is for an animated image, the method creates a new
            request which contains the current frame of the image.
            Otherwise returns the same request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.IncrementAnimationConsumers">
            <summary>
            Requests that the image animate (if it has an animation).
            </summary>
            <remarks>
            See Image::IncrementAnimationConsumers for documentation of the
            underlying call.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.imgIRequest.DecrementAnimationConsumers">
            <summary>
            Tell the image it can forget about a request that the image animate.
            </summary>
            <remarks>
            See Image::DecrementAnimationConsumers for documentation of the
            underlying call.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.DecodeImage(Gecko.Interfaces.nsIInputStream,Gecko.nsACStringBase)">
            <summary>
            decodeImage
            Caller provides an input stream and mimetype. We read from the stream
            and decompress it (according to the specified mime type) and return
            the resulting imgIContainer.
            </summary>
            <param name="aStream">
            An input stream for an encoded image file.
            </param>
            <param name="aMimeType">
            Type of image in the stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.DecodeImageData(Gecko.Interfaces.nsIInputStream,Gecko.nsACStringBase,Gecko.Interfaces.imgIContainer@)">
            <summary>
            decodeImageData
            Caller provides an input stream and mimetype. We read from the stream
            and decompress it (according to the specified mime type) and return
            the resulting imgIContainer.
            
            This method is deprecated and will be removed at some time in the future;
            new code should use |decodeImage|.
            </summary>
            <param name="aStream">
            An input stream for an encoded image file.
            </param>
            <param name="aMimeType">
            Type of image in the stream.
            </param>
            <param name="aContainer">
            An imgIContainer holding the decoded image will be returned via
            this parameter. It is an error to provide any initial value but
            |null|.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.EncodeImage(Gecko.Interfaces.imgIContainer,Gecko.nsACStringBase,Gecko.nsAStringBase)">
            <summary>
            encodeImage
            Caller provides an image container, and the mime type it should be
            encoded to. We return an input stream for the encoded image data.
            </summary>
            <param name="aContainer">
            An image container.
            </param>
            <param name="aMimeType">
            Type of encoded image desired (eg &quot;image/png&quot;).
            </param>
            <param name="outputOptions">
            Encoder-specific output options.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.EncodeScaledImage(Gecko.Interfaces.imgIContainer,Gecko.nsACStringBase,System.Int32,System.Int32,Gecko.nsAStringBase)">
            <summary>
            encodeScaledImage
            Caller provides an image container, and the mime type it should be
            encoded to. We return an input stream for the encoded image data.
            The encoded image is scaled to the specified dimensions.
            </summary>
            <param name="aContainer">
            An image container.
            </param>
            <param name="aMimeType">
            Type of encoded image desired (eg &quot;image/png&quot;).
            </param>
            <param name="aWidth,">
            aHeight
            The size (in pixels) desired for the resulting image. Specify 0 to
            use the given image&apos;s width or height. Values must be &gt;= 0.
            </param>
            <param name="outputOptions">
            Encoder-specific output options.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.GetImgLoaderForDocument(Gecko.Interfaces.nsIDOMDocument)">
            <summary>
            getImgLoaderForDocument
            Retrieve an image loader that reflects the privacy status of the given
            document.
            </summary>
            <param name="doc">
            A document. Must not be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.GetImgCacheForDocument(Gecko.Interfaces.nsIDOMDocument)">
            <summary>
            getImgLoaderForDocument
            Retrieve an image cache that reflects the privacy status of the given
            document.
            </summary>
            <param name="doc">
            A document. Null is allowed, but must _only_ be passed
            when there is no way to obtain a relevant document for
            the current context in which a cache is desired.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.EncodeCroppedImage(Gecko.Interfaces.imgIContainer,Gecko.nsACStringBase,System.Int32,System.Int32,System.Int32,System.Int32,Gecko.nsAStringBase)">
            <summary>
            encodeCroppedImage
            Caller provides an image container, and the mime type it should be
            encoded to. We return an input stream for the encoded image data.
            The encoded image is cropped to the specified dimensions.
            
            The given offset and size must not exceed the image bounds.
            </summary>
            <param name="aContainer">
            An image container.
            </param>
            <param name="aMimeType">
            Type of encoded image desired (eg &quot;image/png&quot;).
            </param>
            <param name="aOffsetX,">
            aOffsetY
            The crop offset (in pixels). Values must be &gt;= 0.
            </param>
            <param name="aWidth,">
            aHeight
            The size (in pixels) desired for the resulting image. Specify 0 to
            use the given image&apos;s width or height. Values must be &gt;= 0.
            </param>
            <param name="outputOptions">
            Encoder-specific output options.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.imgITools.CreateScriptedObserver(Gecko.Interfaces.imgIScriptedNotificationObserver)">
            <summary>
            Create a wrapper around a scripted notification observer (ordinarily
            imgINotificationObserver cannot be implemented from scripts).
            </summary>
            <param name="aObserver">
            The scripted observer to wrap
            </param>
        </member>
        <member name="M:Gecko.Interfaces.inIDOMUtils.GetRuleLine(Gecko.Interfaces.nsIDOMCSSRule)">
            <summary>
            Get the line number of a rule.
            </summary>
            <param name="nsIDOMCSSRule">
            aRule The rule.
            </param>
            <returns>
            The rule&apos;s line number.  Line numbers are 1-based.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.inIDOMUtils.GetRuleColumn(Gecko.Interfaces.nsIDOMCSSRule)">
            <summary>
            Get the column number of a rule.
            </summary>
            <param name="nsIDOMCSSRule">
            aRule The rule.
            </param>
            <returns>
            The rule&apos;s column number.  Column numbers are 1-based.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.inIDOMUtils.GetRelativeRuleLine(Gecko.Interfaces.nsIDOMCSSRule)">
            <summary>
            Like getRuleLine, but if the rule is in a &lt;style&gt; element,
            returns a line number relative to the start of the element.
            </summary>
            <param name="nsIDOMCSSRule">
            aRule the rule to examine
            </param>
            <returns>
            the line number of the rule, possibly relative to the
            &lt;style&gt; element
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.inIDOMUtils.SetContentState(Gecko.Interfaces.nsIDOMElement,System.UInt64)">
            <summary>
            Setting and removing content state on an element. Both these functions
            calling EventStateManager::SetContentState internally, the difference is
            that for the remove case we simply pass in nullptr for the element.
            Use them accordingly.
            </summary>
            <returns>
            Returns true if the state was set successfully. See more details
            in EventStateManager.h SetContentState.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.inIDOMUtils.GetCSSPseudoElementNames(System.UInt32@,System.IntPtr@)">
            <summary>
            Get the names of all the supported pseudo-elements.
            Pseudo-elements which are only accepted in UA style sheets are
            not included.
            </summary>
            <param name="{unsigned">
            long} aCount the number of items returned
            </param>
            <param name="{wstring[]}">
            aNames the names
            </param>
        </member>
        <member name="M:Gecko.Interfaces.inIDOMUtils.ParseStyleSheet(Gecko.Interfaces.nsIDOMCSSStyleSheet,Gecko.nsAStringBase)">
            <summary>
            Parse CSS and update the style sheet in place.
            </summary>
            <param name="DOMCSSStyleSheet">
            aSheet
            </param>
            <param name="DOMString">
            aInput
            The new source string for the style sheet.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.inIDOMUtils.ScrollElementIntoView(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Scroll an element completely into view, if possible.
            This is similar to ensureElementIsVisible but for all ancestors.
            </summary>
            <param name="DOMElement">
            aElement
            </param>
        </member>
        <member name="T:Gecko.Interfaces.mozIApplication">
            <summary>
            We expose Gecko-internal helpers related to &quot;web apps&quot; through this
            sub-interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncFavicons.SetAndFetchFaviconForPage(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.Boolean,System.UInt32,Gecko.Interfaces.nsIFaviconDataCallback,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Declares that a given page uses a favicon with the given URI and
            attempts to fetch and save the icon data by loading the favicon URI
            through an async network request.
            
            If the icon data already exists, we won&apos;t try to reload the icon unless
            aForceReload is true.  Similarly, if the icon is in the failed favicon
            cache we won&apos;t do anything unless aForceReload is true, in which case
            we&apos;ll try to reload the favicon.
            
            This function will only save favicons for pages that are already stored in
            the database, like visited pages or bookmarks.  For any other URIs, it
            will succeed but do nothing.  This function will also ignore the error
            page favicon URI (see FAVICON_ERRORPAGE_URL below).
            
            Icons that fail to load will automatically be added to the failed favicon
            cache, and this function will not save favicons for non-bookmarked URIs
            when history is disabled.
            </summary>
            <param name="aPageURI">
            URI of the page whose favicon is being set.
            </param>
            <param name="aFaviconURI">
            URI of the favicon to associate with the page.
            </param>
            <param name="aForceReload">
            If aForceReload is false, we try to reload the favicon only if we
            don&apos;t have it or it has expired from the cache.  Setting
            aForceReload to true causes us to reload the favicon even if we
            have a usable copy.
            </param>
            <param name="aFaviconLoadType">
            Set to FAVICON_LOAD_PRIVATE if the favicon is loaded from a private
            browsing window.  Set to FAVICON_LOAD_NON_PRIVATE otherwise.
            </param>
            <param name="aCallback">
            Once we&apos;re done setting and/or fetching the favicon, we invoke this
            callback.
            </param>
            <param name="aLoadingPrincipal">
            Principal of the page whose favicon is being set. If this argument
            is omitted, the loadingPrincipal defaults to the nullPrincipal.
            </param>
            <remarks>
            See nsIFaviconDataCallback in nsIFaviconService.idl.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncFavicons.ReplaceFaviconData(Gecko.Interfaces.nsIURI,System.Byte[],System.UInt32,Gecko.nsAUTF8StringBase,System.UInt64)">
            <summary>
            Sets the data for a given favicon URI either by replacing existing data in
            the database or taking the place of otherwise fetched icon data when
            calling setAndFetchFaviconForPage later.
            
            Favicon data for favicon URIs that are not associated with a page URI via
            setAndFetchFaviconForPage will be stored in memory, but may be expired at
            any time, so you should make an effort to associate favicon URIs with page
            URIs as soon as possible.
            
            It's better to not use this function for chrome: icon URIs since you can
            reference the chrome image yourself. getFaviconLinkForIcon/Page will ignore
            any associated data if the favicon URI is "chrome:" and just return the
            same chrome URI.
            
            This function does NOT send out notifications that the data has changed.
            Pages using this favicons that are visible in history or bookmarks views
            will keep the old icon until they have been refreshed by other means.
            
            This function tries to optimize the favicon size, if it is bigger
            than a defined limit we will try to convert it to a 16x16 png image.
            If the conversion fails and favicon is still bigger than our max accepted
            size it won't be saved.
            </summary>
            <param name="aFaviconURI">
            URI of the favicon whose data is being set.
            </param>
            <param name="aData">
            Binary contents of the favicon to save
            </param>
            <param name="aDataLength">
            Length of binary data
            </param>
            <param name="aMimeType">
            MIME type of the data to store.  This is important so that we know
            what to report when the favicon is used.  You should always set this
            param unless you are clearing an icon.
            </param>
            <param name="aExpiration">
            Time in microseconds since the epoch when this favicon expires.
            Until this time, we won't try to load it again.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: Thrown if the favicon is overbloated and won't be saved to the db.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncFavicons.ReplaceFaviconDataFromDataURL(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,System.UInt64,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Same as replaceFaviconData but the data is provided by a string
            containing a data URL.
            </summary>
            <param name="aFaviconURI">
            URI of the favicon whose data is being set.
            </param>
            <param name="aDataURL">
            string containing a data URL that represents the contents of
            the favicon to save
            </param>
            <param name="aExpiration">
            Time in microseconds since the epoch when this favicon expires.
            Until this time, we won't try to load it again.
            </param>
            <param name="aLoadingPrincipal">
            Principal of the page whose favicon is being set. If this argument
            is omitted, the loadingPrincipal defaults to the nullPrincipal.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: Thrown if the favicon is overbloated and won't be saved to the db.
            </exception>
            <remarks>
            See replaceFaviconData
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncFavicons.GetFaviconURLForPage(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIFaviconDataCallback)">
            <summary>
            Retrieves the favicon URI associated to the given page, if any.
            </summary>
            <param name="aPageURI">
            URI of the page whose favicon URI we&apos;re looking up.
            </param>
            <param name="aCallback">
            This callback is always invoked to notify the result of the lookup.
            The aURI parameter will be the favicon URI, or null when no favicon
            is associated with the page or an error occurred while fetching it.
            </param>
            <remarks>
            See nsIFaviconDataCallback in nsIFaviconService.idl.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncFavicons.GetFaviconDataForPage(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIFaviconDataCallback)">
            <summary>
            Retrieves the favicon URI and data associated to the given page, if any.
            </summary>
            <param name="aPageURI">
            URI of the page whose favicon URI and data we&apos;re looking up.
            </param>
            <param name="aCallback">
            This callback is always invoked to notify the result of the lookup.  The aURI
            parameter will be the favicon URI, or null when no favicon is
            associated with the page or an error occurred while fetching it.  If
            aURI is not null, the other parameters may contain the favicon data.
            However, if no favicon data is currently associated with the favicon
            URI, aDataLen will be 0, aData will be an empty array, and aMimeType
            will be an empty string.
            </param>
            <remarks>
            See nsIFaviconDataCallback in nsIFaviconService.idl.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitInfo.GetVisitIdAttribute">
            <summary>
            The machine-local (internal) id of the visit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitInfo.GetVisitDateAttribute">
            <summary>
            The time the visit occurred.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitInfo.GetTransitionTypeAttribute">
            <summary>
            The transition type used to get to this visit.  One of the TRANSITION_TYPE
            constants on nsINavHistory.
            </summary>
            <remarks>
            See nsINavHistory.idl
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitInfo.GetReferrerURIAttribute">
            <summary>
            The referring URI of this visit.  This may be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlaceInfo.GetPlaceIdAttribute">
            <summary>
            The machine-local (internal) id of the place.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlaceInfo.GetGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The globally unique id of the place.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlaceInfo.GetUriAttribute">
            <summary>
            The URI of the place.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlaceInfo.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            The title associated with the place.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlaceInfo.GetFrecencyAttribute">
            <summary>
            The frecency of the place.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlaceInfo.GetVisitsAttribute(System.IntPtr)">
            <summary>
            An array of mozIVisitInfo objects for the place.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIVisitInfoCallback">
            <summary>
            Shared Callback interface for mozIAsyncHistory methods. The semantics
            for each method are detailed in mozIAsyncHistory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitInfoCallback.HandleError(System.Int32,Gecko.Interfaces.mozIPlaceInfo)">
            <summary>
            Called when the given place could not be processed.
            </summary>
            <param name="aResultCode">
            nsresult indicating the failure reason.
            </param>
            <param name="aPlaceInfo">
            The information that was given to the caller for the place.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitInfoCallback.HandleResult(Gecko.Interfaces.mozIPlaceInfo)">
            <summary>
            Called for each place processed successfully.
            </summary>
            <param name="aPlaceInfo">
            The current info stored for the place.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitInfoCallback.HandleCompletion">
            <summary>
            Called when all records were processed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIVisitedStatusCallback.IsVisited(Gecko.Interfaces.nsIURI,System.Boolean)">
            <summary>
            Notifies whether a certain URI has been visited.
            </summary>
            <param name="aURI">
            URI being notified about.
            </param>
            <param name="aVisitedStatus">
            The visited status of aURI.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncHistory.GetPlacesInfo(SpiderMonkey.JSVal@,Gecko.Interfaces.mozIVisitInfoCallback,System.IntPtr)">
            <summary>
            Gets the available information for the given array of places, each
            identified by either nsIURI or places GUID (string).
            
            The retrieved places info objects DO NOT include the visits data (the
            |visits| attribute is set to null).
            
            If a given place does not exist in the database, aCallback.handleError is
            called for it with NS_ERROR_NOT_AVAILABLE result code.
            </summary>
            <param name="aPlaceIdentifiers">
            The place[s] for which to retrieve information, identified by either
            a single place GUID, a single URI, or a JS array of URIs and/or GUIDs.
            </param>
            <param name="aCallback">
            A mozIVisitInfoCallback object which consists of callbacks to be
            notified for successful or failed retrievals.
            If there's no information available for a given place, aCallback
            is called with a stub place info object, containing just the provided
            data (GUID or URI).
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: - Passing in NULL for aPlaceIdentifiers or aCallback.
            - Not providing at least one valid GUID or URI.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncHistory.UpdatePlaces(SpiderMonkey.JSVal@,Gecko.Interfaces.mozIVisitInfoCallback,System.IntPtr)">
            <summary>
            Adds a set of visits for one or more mozIPlaceInfo objects, and updates
            each mozIPlaceInfo's title or guid.
            
            aCallback.handleResult is called for each visit added.
            </summary>
            <param name="aPlaceInfo">
            The mozIPlaceInfo object[s] containing the information to store or
            update.  This can be a single object, or an array of objects.
            </param>
            <param name="[optional]">
            aCallback
            A mozIVisitInfoCallback object which consists of callbacks to be
            notified for successful and/or failed changes.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: - Passing in NULL for aPlaceInfo.
            - Not providing at least one valid guid, or uri for all
            mozIPlaceInfo object[s].
            - Not providing an array or nothing for the visits property of
            mozIPlaceInfo.
            - Not providing a visitDate and transitionType for each
            mozIVisitInfo.
            - Providing an invalid transitionType for a mozIVisitInfo.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncHistory.IsURIVisited(Gecko.Interfaces.nsIURI,Gecko.Interfaces.mozIVisitedStatusCallback)">
            <summary>
            Checks if a given URI has been visited.
            </summary>
            <param name="aURI">
            The URI to check for.
            </param>
            <param name="aCallback">
            A mozIVisitStatusCallback object which receives the visited status.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncLivemarks.AddLivemark(SpiderMonkey.JSVal@)">
            <summary>
            Creates a new livemark
            </summary>
            <param name="aLivemarkInfo">
            mozILivemarkInfo object containing at least title, parentId,
            index and feedURI of the livemark to create.
            </param>
            <returns>
            {Promise}
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if the supplied information is insufficient
            for the creation.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncLivemarks.RemoveLivemark(SpiderMonkey.JSVal@)">
            <summary>
            Removes an existing livemark.
            </summary>
            <param name="aLivemarkInfo">
            mozILivemarkInfo object containing either an id or a guid of the
            livemark to remove.
            </param>
            <returns>
            {Promise}
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if the id/guid is invalid.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncLivemarks.GetLivemark(SpiderMonkey.JSVal@)">
            <summary>
            Gets an existing livemark.
            </summary>
            <param name="aLivemarkInfo">
            mozILivemarkInfo object containing either an id or a guid of the
            livemark to retrieve.
            </param>
            <returns>
            {Promise}
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if the id/guid is invalid or an invalid
            callback is provided.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIAsyncLivemarks.ReloadLivemarks(System.Boolean)">
            <summary>
            Reloads all livemarks if they are expired or if forced to do so.
            </summary>
            <param name="[optional]aForceUpdate">
            If set to true forces a reload even if contents are still valid.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetIdAttribute">
            <summary>
            Id of the bookmarks folder representing this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The globally unique identifier of this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            Title of this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetParentIdAttribute">
            <summary>
            Id of the bookmarks parent folder containing this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetParentGuidAttribute">
            <summary>
            Guid of the bookmarks parent folder containing this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetIndexAttribute">
            <summary>
            The position of this livemark in the bookmarks parent folder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetDateAddedAttribute">
            <summary>
            Time this livemark was created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetLastModifiedAttribute">
            <summary>
            Time this livemark&apos;s details were last modified.  Doesn&apos;t track changes to
            the livemark contents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetFeedURIAttribute">
            <summary>
            The URI of the syndication feed associated with this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemarkInfo.GetSiteURIAttribute">
            <summary>
            The URI of the website associated with this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetIdAttribute">
            <summary>
            Id of the bookmarks folder representing this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The globally unique identifier of this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            Title of this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetParentIdAttribute">
            <summary>
            Id of the bookmarks parent folder containing this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetParentGuidAttribute">
            <summary>
            Guid of the bookmarks parent folder containing this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetIndexAttribute">
            <summary>
            The position of this livemark in the bookmarks parent folder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetDateAddedAttribute">
            <summary>
            Time this livemark was created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetLastModifiedAttribute">
            <summary>
            Time this livemark&apos;s details were last modified.  Doesn&apos;t track changes to
            the livemark contents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetFeedURIAttribute">
            <summary>
            The URI of the syndication feed associated with this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetSiteURIAttribute">
            <summary>
            The URI of the website associated with this livemark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetStatusAttribute">
            <summary>
            Status of this livemark.  One of the STATUS_* constants above.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.Reload(System.Boolean)">
            <summary>
            Reload livemark contents if they are expired or if forced to do so.
            </summary>
            <param name="[optional]aForceUpdate">
            If set to true forces a reload even if contents are still valid.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.GetNodesForContainer(SpiderMonkey.JSVal@)">
            <summary>
            Returns an array of nsINavHistoryResultNode objects, representing children
            of this livemark.  The nodes will have aContainerNode as parent.
            </summary>
            <param name="aContainerNode">
            Object implementing nsINavHistoryContainerResultNode, to be used as
            parent of the livemark nodes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.RegisterForUpdates(SpiderMonkey.JSVal@,Gecko.Interfaces.nsINavHistoryResultObserver)">
            <summary>
            Registers a container node for updates on this livemark.
            When the livemark contents change, an invalidateContainer(aContainerNode)
            request is sent to aResultObserver.
            </summary>
            <param name="aContainerNode">
            Object implementing nsINavHistoryContainerResultNode, representing
            this livemark.
            </param>
            <param name="aResultObserver">
            The nsINavHistoryResultObserver that should be notified of changes
            to the livemark contents.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozILivemark.UnregisterForUpdates(SpiderMonkey.JSVal@)">
            <summary>
            Unregisters a previously registered container node.
            </summary>
            <param name="aContainerNode">
            Object implementing nsINavHistoryContainerResultNode, representing
            this livemark.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIRepresentativeColorCallback.OnComplete(System.Boolean,System.UInt32)">
            <summary>
            Will be called when color analysis finishes.
            </summary>
            <param name="success">
            True if analysis was successful, false otherwise.
            Analysis can fail if the image is transparent, imageURI doesn&apos;t
            resolve to a valid image, or the image is too big.
            </param>
            <param name="color">
            The representative color as an integer in RGB form.
            e.g. 0xFF0102 == rgb(255,1,2)
            If success is false, color is not provided.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIColorAnalyzer.FindRepresentativeColor(Gecko.Interfaces.nsIURI,Gecko.Interfaces.mozIRepresentativeColorCallback)">
            <summary>
            Given an image URI, find the most representative color for that image
            based on the frequency of each color.  Preference is given to colors that
            are more interesting.  Avoids the background color if it can be
            discerned.  Ignores sufficiently transparent colors.
            
            This is intended to be used on favicon images.  Larger images take longer
            to process, especially those with a larger number of unique colors.  If
            imageURI points to an image that has more than 128^2 pixels, this method
            will fail before analyzing it for performance reasons.
            </summary>
            <param name="imageURI">
            A URI pointing to the image - ideally a data: URI, but any scheme
            that will load when setting the src attribute of a DOM img element
            should work.
            </param>
            <param name="callback">
            Function to call when the representative color is found or an
            error occurs.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIDownloadPlatform.DownloadDone(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIFile,Gecko.nsACStringBase,System.Boolean)">
            <summary>
            Perform platform specific operations when a download is done.
            
            Windows:
            Add the download to the recent documents list
            Set the file to be indexed for searching
            Mac:
            Bounce the downloads dock icon
            GTK:
            Add the download to the recent documents list
            Save the source uri in the downloaded file&apos;s metadata
            Android:
            Scan media
            </summary>
            <param name="aSource">
            Source URI of the download
            </param>
            <param name="aReferrer">
            Referrer URI of the download
            </param>
            <param name="aTarget">
            Downloaded file
            </param>
            <param name="aContentType">
            The source&apos;s content type
            </param>
            <param name="aIsPrivate">
            True for private downloads
            </param>
            <returns>
            none
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIDownloadPlatform.MapUrlToZone(Gecko.nsAStringBase)">
            <summary>
            Proxy for IInternetSecurityManager::MapUrlToZone().
            
            Windows only.
            </summary>
            <param name="aURL">
            URI of the download
            </param>
            <returns>
            Security Zone corresponding to aURL.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginChromeService.AddPluginDirectory(Gecko.nsAStringBase)">
            <summary>
            Add a directory to scan for gecko media plugins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginChromeService.RemovePluginDirectory(Gecko.nsAStringBase)">
            <summary>
            Remove a directory for gecko media plugins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginChromeService.RemoveAndDeletePluginDirectory(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Remove a directory for gecko media plugins and delete it from disk.
            If |defer| is true, wait until the plugin is unused before removing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginChromeService.ForgetThisSite(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Clears storage data associated with the site and the originAttributes
            pattern in JSON format.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginChromeService.IsPersistentStorageAllowed(Gecko.nsACStringBase)">
            <summary>
            Returns true if the given node id is allowed to store things
            persistently on disk. Private Browsing and local content are not
            allowed to store persistent data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginChromeService.GetStorageDir">
            <summary>
            Returns the directory to use as the base for storing data about GMPs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.GetThreadAttribute">
            <summary>
            The GMP thread. Callable from any thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.RunPluginCrashCallbacks(System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Run through windows registered registered for pluginId, sending
            &apos;PluginCrashed&apos; chrome-only event
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.HasPluginForAPI(Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Get a plugin that supports the specified tags.
            Callable on any thread
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.GetGMPVideoDecoder(System.IntPtr,System.IntPtr,Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Get a video decoder that supports the specified tags.
            The array of tags should at least contain a codec tag, and optionally
            other tags such as for EME keysystem.
            Callable only on GMP thread.
            This is an asynchronous operation, the Done method of the callback object
            will be called on the GMP thread with the result (which might be null in
            the case of failure). This method always takes ownership of the callback
            object, but if this method returns an error then the Done method of the
            callback object will not be called at all.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.GetDecryptingGMPVideoDecoder(System.IntPtr,System.IntPtr,Gecko.nsACStringBase,System.IntPtr,System.UInt32)">
            <summary>
            Gets a video decoder as per getGMPVideoDecoder, except it is linked to
            with a corresponding GMPDecryptor via the decryptor&apos;s ID.
            This is a temporary measure, until we can implement a Chromium CDM
            GMP protocol which does both decryption and decoding.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.GetGMPVideoEncoder(System.IntPtr,System.IntPtr,Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Get a video encoder that supports the specified tags.
            The array of tags should at least contain a codec tag, and optionally
            other tags.
            Callable only on GMP thread.
            This is an asynchronous operation, the Done method of the callback object
            will be called on the GMP thread with the result (which might be null in
            the case of failure). This method always takes ownership of the callback
            object, but if this method returns an error then the Done method of the
            callback object will not be called at all.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.GetGMPAudioDecoder(System.IntPtr,System.IntPtr,Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Returns an audio decoder that supports the specified tags.
            The array of tags should at least contain a codec tag, and optionally
            other tags such as for EME keysystem.
            Callable only on GMP thread.
            This is an asynchronous operation, the Done method of the callback object
            will be called on the GMP thread with the result (which might be null in
            the case of failure). This method always takes ownership of the callback
            object, but if this method returns an error then the Done method of the
            callback object will not be called at all.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.GetGMPDecryptor(System.IntPtr,System.IntPtr,Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Returns a decryption session manager that supports the specified tags.
            The array of tags should at least contain a key system tag, and optionally
            other tags.
            Callable only on GMP thread.
            This is an asynchronous operation, the Done method of the callback object
            will be called on the GMP thread with the result (which might be null in
            the case of failure). This method always takes ownership of the callback
            object, but if this method returns an error then the Done method of the
            callback object will not be called at all.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIGeckoMediaPluginService.GetNodeId(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean,System.IntPtr)">
            <summary>
            Gets the NodeId for a (origin, urlbarOrigin, isInprivateBrowsing) tuple.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIJSSubScriptLoader.LoadSubScript(Gecko.nsAStringBase,SpiderMonkey.JSVal@,Gecko.nsAStringBase,System.IntPtr)">
            <summary>
            This method should only be called from JS!
            In JS, the signature looks like:
            rv loadSubScript (url [, obj] [, charset]);
            </summary>
            <param name="url">
            the url of the sub-script, it MUST be either a file:,
            resource:, or chrome: url, and MUST be local.
            </param>
            <param name="obj">
            an optional object to evaluate the script onto, it
            defaults to the global object of the caller.
            </param>
            <param name="charset">
            optionally specifies the character encoding of
            the file. If absent, the file is interpreted
            as ASCII.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIJSSubScriptLoader.LoadSubScriptWithOptions(Gecko.nsAStringBase,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            This method should only be called from JS!
            In JS, the signature looks like:
            rv = loadSubScript (url, optionsObject)
            </summary>
            <param name="url">
            the url of the sub-script, it MUST be either a file:,
            resource:, or chrome: url, and MUST be local.
            </param>
            <param name="optionsObject">
            an object with parameters. Valid parameters are:
            - charset: specifying the character encoding of the file (default: ASCII)
            - target:  an object to evaluate onto (default: global object of the caller)
            - ignoreCache: if set to true, will bypass the cache for reading the file.
            - async: if set to true, the script will be loaded
            asynchronously, and a Promise is returned which
            resolves to its result when execution is complete.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.mozIPersonalDictionary">
            <summary>
            This interface represents a Personal Dictionary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.Load">
            <summary>
            Load the dictionary
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.Save">
            <summary>
            Save the dictionary
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.GetWordListAttribute">
            <summary>
            Get the (lexicographically sorted) list of words
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.Check(System.String,System.String)">
            <summary>
            Check a unicode string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.AddWord(System.String,System.String)">
            <summary>
            Add a word to the personal dictionary
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.RemoveWord(System.String,System.String)">
            <summary>
            Remove a word from the personal dictionary
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.IgnoreWord(System.String)">
            <summary>
            Add a word to the ignore all list
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.EndSession">
            <summary>
            Clear the ignore list
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.AddCorrection(System.String,System.String,System.String)">
            <summary>
            Add a misspelling to the list of corrections
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.RemoveCorrection(System.String,System.String,System.String)">
            <summary>
            Remove a misspelling from the list of corrections
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPersonalDictionary.GetCorrection(System.String,System.IntPtr@,System.UInt32@)">
            <summary>
            Get a list of previous corrections for the word
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIPlacesAutoComplete">
            <summary>
            This interface provides some constants used by the Places AutoComplete
            search provider as well as methods to track opened pages for AutoComplete
            purposes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlacesAutoComplete.RegisterOpenPage(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Mark a page as being currently open.
            </summary>
            <param name="aURI">
            The URI to register as an open page.
            </param>
            <param name="aUserContextId">
            The Container Id of the tab.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIPlacesAutoComplete.UnregisterOpenPage(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Mark a page as no longer being open (either by closing the window or tab,
            or by navigating away from that page).
            </summary>
            <param name="aURI">
            The URI to unregister as an open page.
            </param>
            <param name="aUserContextId">
            The Container Id of the tab.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.mozISpellCheckingEngine">
            <summary>
            This interface represents a SpellChecker.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetDictionaryAttribute">
            <summary>
            The name of the current dictionary. Is either a value from
            getDictionaryList or the empty string if no dictionary is selected.
            Setting this attribute to a value not in getDictionaryList will throw
            NS_ERROR_FILE_NOT_FOUND.
            
            If the dictionary is changed to no dictionary (the empty string), an
            observer is allowed to set another dictionary before it returns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetLanguageAttribute">
            <summary>
            The language this spellchecker is using when checking
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetProvidesPersonalDictionaryAttribute">
            <summary>
            Does the engine provide its own personal dictionary?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetProvidesWordUtilsAttribute">
            <summary>
            Does the engine provide its own word utils?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetNameAttribute">
            <summary>
            The name of the engine
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetCopyrightAttribute">
            <summary>
            a string indicating the copyright of the engine
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetPersonalDictionaryAttribute">
            <summary>
            the personal dictionary
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.GetDictionaryList(System.IntPtr@,System.UInt32@)">
            <summary>
            Get the list of dictionaries
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.Check(System.String)">
            <summary>
            check a word
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.Suggest(System.String,System.IntPtr@,System.UInt32@)">
            <summary>
            get a list of suggestions for a misspelled word
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.LoadDictionariesFromDir(Gecko.Interfaces.nsIFile)">
            <summary>
            Load dictionaries from the specified dir
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.AddDirectory(Gecko.Interfaces.nsIFile)">
            <summary>
            Add dictionaries from a directory to the spell checker
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellCheckingEngine.RemoveDirectory(Gecko.Interfaces.nsIFile)">
            <summary>
            Remove dictionaries from a directory from the spell checker
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozISpellI18NManager">
            <summary>
            This interface contains various I18N related code used in various places
            by the spell checker.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellI18NManager.GetUtil(System.String)">
            <summary>
            Get a mozISpellI18NUtil interface that best matches the given language.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozISpellI18NUtil">
            <summary>
            This interface contains various I18N related code used in various places by the spell checker.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellI18NUtil.GetLanguageAttribute">
            <summary>
            The language being used to check spelling
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellI18NUtil.GetRootForm(System.String,System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Given a word return a list of possible root forms of that word
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellI18NUtil.FromRootForm(System.String,System.IntPtr[],System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Given a word return a list of possible root forms of that word
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozISpellI18NUtil.FindNextWord(System.String,System.UInt32,System.UInt32,System.Int32@,System.Int32@)">
            <summary>
            Given a unicode string and an offset, find the beginning and end of the
            next word. begin and end are -1 if there are no words remaining in the
            string. This should really be folded into the Line/WordBreaker.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageAggregateFunction">
            <summary>
            mozIStorageAggregateFunction represents aggregate SQL function.
            Common examples of aggregate functions are SUM() and COUNT().
            
            An aggregate function calculates one result for a given set of data, where
            a set of data is a group of tuples. There can be one group
            per request or many of them, if GROUP BY clause is used or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAggregateFunction.OnStep(Gecko.Interfaces.mozIStorageValueArray)">
            <summary>
            onStep is called when next value should be passed to
            a custom function.
            </summary>
            <param name="aFunctionArguments">
            The arguments passed in to the function
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAggregateFunction.OnFinal">
            <summary>
            Called when all tuples in a group have been processed and the engine
            needs the aggregate function&apos;s value.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageAsyncConnection">
            <summary>
            mozIStorageAsyncConnection represents an asynchronous database
            connection attached to a specific file or to an in-memory data
            storage.  It is the primary interface for interacting with a
            database from the main thread, including creating prepared
            statements, executing SQL, and examining database errors.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.AsyncClose(Gecko.Interfaces.mozIStorageCompletionCallback)">
            <summary>
            Close this database connection, allowing all pending statements
            to complete first.
            </summary>
            <param name="aCallback">
            [optional]
            A callback that will be notified when the close is completed,
            with the following arguments:
            - status: the status of the call
            - value: |null|
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_SAME_THREAD: If called on a thread other than the one that opened it.  The
            callback will not be dispatched.
            NS_ERROR_NOT_INITIALIZED: If called on a connection that has already been closed or was
            never properly opened.  The callback will still be dispatched
            to the main thread despite the returned error.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.AsyncClone(System.Boolean,Gecko.Interfaces.mozIStorageCompletionCallback)">
            <summary>
            Clone a database and make the clone read only if needed.
            SQL Functions and attached on-disk databases are applied to the new clone.
            </summary>
            <param name="aReadOnly">
            If true, the returned database should be put into read-only mode.
            </param>
            <param name="aCallback">
            A callback that will be notified when the operation is complete,
            with the following arguments:
            - status: the status of the operation
            - value: in case of success, an intance of
            mozIStorageAsyncConnection cloned from this one.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_SAME_THREAD: If is called on a thread other than the one that opened it.
            NS_ERROR_UNEXPECTED: If this connection is a memory database.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.GetDatabaseFileAttribute">
            <summary>
            The current database nsIFile.  Null if the database
            connection refers to an in-memory database.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.CreateAsyncStatement(Gecko.nsAUTF8StringBase)">
            <summary>
            Create an asynchronous statement for the given SQL. An
            asynchronous statement can only be used to dispatch asynchronous
            requests to the asynchronous execution thread and cannot be used
            to take any synchronous actions on the database.
            
            The expression may use ? to indicate sequential numbered arguments,
            ?1, ?2 etc. to indicate specific numbered arguments or :name and
            $var to indicate named arguments.
            </summary>
            <param name="aSQLStatement">
            The SQL statement to execute.
            </param>
            <returns>
            a new mozIStorageAsyncStatement
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.ExecuteAsync(Gecko.Interfaces.mozIStorageBaseStatement[],System.UInt32,Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Execute an array of statements created with this connection using
            any currently bound parameters. When the array contains multiple
            statements, the execution is wrapped in a single
            transaction. These statements can be reused immediately, and
            reset does not need to be called.
            </summary>
            <param name="aStatements">
            The array of statements to execute asynchronously, in the order they
            are given in the array.
            </param>
            <param name="aNumStatements">
            The number of statements in aStatements.
            </param>
            <param name="aCallback">
            [optional]
            The callback object that will be notified of progress, errors, and
            completion.
            </param>
            <returns>
            an object that can be used to cancel the statements execution.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.ExecuteSimpleSQLAsync(Gecko.nsAUTF8StringBase,Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Execute asynchronously an SQL expression, expecting no arguments.
            </summary>
            <param name="aSQLStatement">
            The SQL statement to execute
            </param>
            <param name="aCallback">
            [optional]
            The callback object that will be notified of progress, errors, and
            completion.
            </param>
            <returns>
            an object that can be used to cancel the statement execution.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.CreateFunction(Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.mozIStorageFunction)">
            <summary>
            Create a new SQL function.  If you use your connection on multiple threads,
            your function needs to be threadsafe, or it should only be called on one
            thread.
            </summary>
            <param name="aFunctionName">
            The name of function to create, as seen in SQL.
            </param>
            <param name="aNumArguments">
            The number of arguments the function takes. Pass -1 for
            variable-argument functions.
            </param>
            <param name="aFunction">
            The instance of mozIStorageFunction, which implements the function
            in question.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.CreateAggregateFunction(Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.mozIStorageAggregateFunction)">
            <summary>
            Create a new SQL aggregate function.  If you use your connection on
            multiple threads, your function needs to be threadsafe, or it should only
            be called on one thread.
            </summary>
            <param name="aFunctionName">
            The name of aggregate function to create, as seen in SQL.
            </param>
            <param name="aNumArguments">
            The number of arguments the function takes. Pass -1 for
            variable-argument functions.
            </param>
            <param name="aFunction">
            The instance of mozIStorageAggreagteFunction, which implements the
            function in question.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.RemoveFunction(Gecko.nsAUTF8StringBase)">
            <summary>
            Delete custom SQL function (simple or aggregate one).
            </summary>
            <param name="aFunctionName">
            The name of function to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.SetProgressHandler(System.Int32,Gecko.Interfaces.mozIStorageProgressHandler)">
            <summary>
            Sets a progress handler. Only one handler can be registered at a time.
            If you need more than one, you need to chain them yourself.  This progress
            handler should be threadsafe if you use this connection object on more than
            one thread.
            </summary>
            <param name="aGranularity">
            The number of SQL virtual machine steps between progress handler
            callbacks.
            </param>
            <param name="aHandler">
            The instance of mozIStorageProgressHandler.
            </param>
            <returns>
            previous registered handler.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncConnection.RemoveProgressHandler">
            <summary>
            Remove a progress handler.
            </summary>
            <returns>
            previous registered handler.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageAsyncStatement">
            <summary>
            An asynchronous SQL statement.  This differs from mozIStorageStatement by
            only being usable for asynchronous execution.  (mozIStorageStatement can
            be used for both synchronous and asynchronous purposes.)  This specialization
            for asynchronous operation allows us to avoid needing to acquire
            synchronization primitives also used by the asynchronous execution thread.
            In contrast, mozIStorageStatement may need to acquire the primitives and
            consequently can cause the main thread to lock for extended intervals while
            the asynchronous thread performs some long-running operation.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageBaseStatement">
            <summary>
            The base interface for both pure asynchronous storage statements
            (mozIStorageAsyncStatement) and &apos;classic&apos; storage statements
            (mozIStorageStatement) that can be used for both synchronous and asynchronous
            purposes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBindingParams.BindByName(Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the name aName.
            </summary>
            <param name="aName">
            The name of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBindingParams.BindByIndex(System.UInt32,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the index aIndex.
            </summary>
            <param name="aIndex">
            The zero-based index of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.BindByName(Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the name aName.
            </summary>
            <param name="aName">
            The name of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.BindByIndex(System.UInt32,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the index aIndex.
            </summary>
            <param name="aIndex">
            The zero-based index of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.FinalizeNative">
            <summary>
            Finalizes a statement so you can successfully close a database connection.
            Once a statement has been finalized it can no longer be used for any
            purpose.
            
            Statements are implicitly finalized when their reference counts hits zero.
            If you are a native (C++) caller this is accomplished by setting all of
            your nsCOMPtr instances to be NULL.  If you are operating from JavaScript
            code then you cannot rely on this behavior because of the involvement of
            garbage collection.
            
            When finalizing an asynchronous statement you do not need to worry about
            whether the statement has actually been executed by the asynchronous
            thread; you just need to call finalize after your last call to executeAsync
            involving the statement.  However, you do need to use asyncClose instead of
            close on the connection if any statements have been used asynchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.BindUTF8StringParameter(System.UInt32,Gecko.nsAUTF8StringBase)">
            <summary>
            Bind the given value at the given numeric index.
            </summary>
            <param name="aParamIndex">
            0-based index, 0 corresponding to the first numbered argument or
            &quot;?1&quot;.
            </param>
            <param name="aValue">
            Argument value.
            </param>
            <param name="aValueSize">
            Length of aValue in bytes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.BindParameters(Gecko.Interfaces.mozIStorageBindingParamsArray)">
            <summary>
            Binds the array of parameters to the statement.  When executeAsync is
            called, all the parameters in aParameters are bound and then executed.
            </summary>
            <param name="aParameters">
            The array of parameters to bind to the statement upon execution.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.NewBindingParamsArray">
            <summary>
            Creates a new mozIStorageBindingParamsArray that can be used to bind
            multiple sets of data to a statement with bindParameters.
            </summary>
            <returns>
            a mozIStorageBindingParamsArray that multiple sets of parameters
            can be bound to.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.ExecuteAsync(Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Execute a query asynchronously using any currently bound parameters.  This
            statement can be reused immediately, and reset does not need to be called.
            </summary>
            <param name="aCallback">
            [optional]
            The callback object that will be notified of progress, errors, and
            completion.
            </param>
            <returns>
            an object that can be used to cancel the statements execution.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.GetStateAttribute">
            <summary>
            Find out whether the statement is usable (has not been finalized).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBaseStatement.EscapeStringForLIKE(Gecko.nsAStringBase,System.Char,Gecko.nsAStringBase)">
            <summary>
            Escape a string for SQL LIKE search.
            </summary>
            <param name="aValue">
            The string to escape for SQL LIKE.
            </param>
            <param name="aEscapeChar">
            The escape character.
            </param>
            <returns>
            an AString of an escaped version of aValue
            (%, _ and the escape char are escaped with the escape char)
            For example, we will convert &quot;foo/bar_baz%20cheese&quot;
            into &quot;foo//bar/_baz/%20cheese&quot; (if the escape char is &apos;/&apos;).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.BindByName(Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the name aName.
            </summary>
            <param name="aName">
            The name of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.BindByIndex(System.UInt32,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the index aIndex.
            </summary>
            <param name="aIndex">
            The zero-based index of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.FinalizeNative">
            <summary>
            Finalizes a statement so you can successfully close a database connection.
            Once a statement has been finalized it can no longer be used for any
            purpose.
            
            Statements are implicitly finalized when their reference counts hits zero.
            If you are a native (C++) caller this is accomplished by setting all of
            your nsCOMPtr instances to be NULL.  If you are operating from JavaScript
            code then you cannot rely on this behavior because of the involvement of
            garbage collection.
            
            When finalizing an asynchronous statement you do not need to worry about
            whether the statement has actually been executed by the asynchronous
            thread; you just need to call finalize after your last call to executeAsync
            involving the statement.  However, you do need to use asyncClose instead of
            close on the connection if any statements have been used asynchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.BindUTF8StringParameter(System.UInt32,Gecko.nsAUTF8StringBase)">
            <summary>
            Bind the given value at the given numeric index.
            </summary>
            <param name="aParamIndex">
            0-based index, 0 corresponding to the first numbered argument or
            &quot;?1&quot;.
            </param>
            <param name="aValue">
            Argument value.
            </param>
            <param name="aValueSize">
            Length of aValue in bytes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.BindParameters(Gecko.Interfaces.mozIStorageBindingParamsArray)">
            <summary>
            Binds the array of parameters to the statement.  When executeAsync is
            called, all the parameters in aParameters are bound and then executed.
            </summary>
            <param name="aParameters">
            The array of parameters to bind to the statement upon execution.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.NewBindingParamsArray">
            <summary>
            Creates a new mozIStorageBindingParamsArray that can be used to bind
            multiple sets of data to a statement with bindParameters.
            </summary>
            <returns>
            a mozIStorageBindingParamsArray that multiple sets of parameters
            can be bound to.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.ExecuteAsync(Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Execute a query asynchronously using any currently bound parameters.  This
            statement can be reused immediately, and reset does not need to be called.
            </summary>
            <param name="aCallback">
            [optional]
            The callback object that will be notified of progress, errors, and
            completion.
            </param>
            <returns>
            an object that can be used to cancel the statements execution.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.GetStateAttribute">
            <summary>
            Find out whether the statement is usable (has not been finalized).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageAsyncStatement.EscapeStringForLIKE(Gecko.nsAStringBase,System.Char,Gecko.nsAStringBase)">
            <summary>
            Escape a string for SQL LIKE search.
            </summary>
            <param name="aValue">
            The string to escape for SQL LIKE.
            </param>
            <param name="aEscapeChar">
            The escape character.
            </param>
            <returns>
            an AString of an escaped version of aValue
            (%, _ and the escape char are escaped with the escape char)
            For example, we will convert &quot;foo/bar_baz%20cheese&quot;
            into &quot;foo//bar/_baz/%20cheese&quot; (if the escape char is &apos;/&apos;).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBindingParamsArray.NewBindingParams">
            <summary>
            Creates a new mozIStorageBindingParams object that can be added to this
            array.
            </summary>
            <returns>
            a mozIStorageBindingParams object that can be used to specify
            parameters that need to be bound.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBindingParamsArray.AddParams(Gecko.Interfaces.mozIStorageBindingParams)">
            <summary>
            Adds the parameters to the end of this array.
            </summary>
            <param name="aParameters">
            The parameters to add to this array.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageBindingParamsArray.GetLengthAttribute">
            <summary>
            The number of mozIStorageBindingParams this object contains.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageCompletionCallback.Complete(System.Int32,Gecko.Interfaces.nsISupports)">
            <summary>
            Indicates that the event this callback was passed in for has completed.
            </summary>
            <param name="status">
            The status of the call. Generally NS_OK if the operation
            completed successfully.
            </param>
            <param name="value">
            If the operation produces a result, the result. Otherwise,
            |null|.
            </param>
            <remarks>
            See The calling method for expected values.
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageConnection">
            <summary>
            mozIStorageConnection represents a database connection attached to
            a specific file or to the in-memory data storage.  It is the
            primary interface for interacting with a database, including
            creating prepared statements, executing SQL, and examining database
            errors.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.AsyncClose(Gecko.Interfaces.mozIStorageCompletionCallback)">
            <summary>
            Close this database connection, allowing all pending statements
            to complete first.
            </summary>
            <param name="aCallback">
            [optional]
            A callback that will be notified when the close is completed,
            with the following arguments:
            - status: the status of the call
            - value: |null|
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_SAME_THREAD: If called on a thread other than the one that opened it.  The
            callback will not be dispatched.
            NS_ERROR_NOT_INITIALIZED: If called on a connection that has already been closed or was
            never properly opened.  The callback will still be dispatched
            to the main thread despite the returned error.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.AsyncClone(System.Boolean,Gecko.Interfaces.mozIStorageCompletionCallback)">
            <summary>
            Clone a database and make the clone read only if needed.
            SQL Functions and attached on-disk databases are applied to the new clone.
            </summary>
            <param name="aReadOnly">
            If true, the returned database should be put into read-only mode.
            </param>
            <param name="aCallback">
            A callback that will be notified when the operation is complete,
            with the following arguments:
            - status: the status of the operation
            - value: in case of success, an intance of
            mozIStorageAsyncConnection cloned from this one.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_SAME_THREAD: If is called on a thread other than the one that opened it.
            NS_ERROR_UNEXPECTED: If this connection is a memory database.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetDatabaseFileAttribute">
            <summary>
            The current database nsIFile.  Null if the database
            connection refers to an in-memory database.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.CreateAsyncStatement(Gecko.nsAUTF8StringBase)">
            <summary>
            Create an asynchronous statement for the given SQL. An
            asynchronous statement can only be used to dispatch asynchronous
            requests to the asynchronous execution thread and cannot be used
            to take any synchronous actions on the database.
            
            The expression may use ? to indicate sequential numbered arguments,
            ?1, ?2 etc. to indicate specific numbered arguments or :name and
            $var to indicate named arguments.
            </summary>
            <param name="aSQLStatement">
            The SQL statement to execute.
            </param>
            <returns>
            a new mozIStorageAsyncStatement
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.ExecuteAsync(Gecko.Interfaces.mozIStorageBaseStatement[],System.UInt32,Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Execute an array of statements created with this connection using
            any currently bound parameters. When the array contains multiple
            statements, the execution is wrapped in a single
            transaction. These statements can be reused immediately, and
            reset does not need to be called.
            </summary>
            <param name="aStatements">
            The array of statements to execute asynchronously, in the order they
            are given in the array.
            </param>
            <param name="aNumStatements">
            The number of statements in aStatements.
            </param>
            <param name="aCallback">
            [optional]
            The callback object that will be notified of progress, errors, and
            completion.
            </param>
            <returns>
            an object that can be used to cancel the statements execution.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.ExecuteSimpleSQLAsync(Gecko.nsAUTF8StringBase,Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Execute asynchronously an SQL expression, expecting no arguments.
            </summary>
            <param name="aSQLStatement">
            The SQL statement to execute
            </param>
            <param name="aCallback">
            [optional]
            The callback object that will be notified of progress, errors, and
            completion.
            </param>
            <returns>
            an object that can be used to cancel the statement execution.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.CreateFunction(Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.mozIStorageFunction)">
            <summary>
            Create a new SQL function.  If you use your connection on multiple threads,
            your function needs to be threadsafe, or it should only be called on one
            thread.
            </summary>
            <param name="aFunctionName">
            The name of function to create, as seen in SQL.
            </param>
            <param name="aNumArguments">
            The number of arguments the function takes. Pass -1 for
            variable-argument functions.
            </param>
            <param name="aFunction">
            The instance of mozIStorageFunction, which implements the function
            in question.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.CreateAggregateFunction(Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.mozIStorageAggregateFunction)">
            <summary>
            Create a new SQL aggregate function.  If you use your connection on
            multiple threads, your function needs to be threadsafe, or it should only
            be called on one thread.
            </summary>
            <param name="aFunctionName">
            The name of aggregate function to create, as seen in SQL.
            </param>
            <param name="aNumArguments">
            The number of arguments the function takes. Pass -1 for
            variable-argument functions.
            </param>
            <param name="aFunction">
            The instance of mozIStorageAggreagteFunction, which implements the
            function in question.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.RemoveFunction(Gecko.nsAUTF8StringBase)">
            <summary>
            Delete custom SQL function (simple or aggregate one).
            </summary>
            <param name="aFunctionName">
            The name of function to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.SetProgressHandler(System.Int32,Gecko.Interfaces.mozIStorageProgressHandler)">
            <summary>
            Sets a progress handler. Only one handler can be registered at a time.
            If you need more than one, you need to chain them yourself.  This progress
            handler should be threadsafe if you use this connection object on more than
            one thread.
            </summary>
            <param name="aGranularity">
            The number of SQL virtual machine steps between progress handler
            callbacks.
            </param>
            <param name="aHandler">
            The instance of mozIStorageProgressHandler.
            </param>
            <returns>
            previous registered handler.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.RemoveProgressHandler">
            <summary>
            Remove a progress handler.
            </summary>
            <returns>
            previous registered handler.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.Close">
            <summary>
            Closes a database connection.  Callers must finalize all statements created
            for this connection prior to calling this method.  It is illegal to use
            call this method if any asynchronous statements have been executed on this
            connection.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: If is called on a thread other than the one that opened it.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.Clone(System.Boolean)">
            <summary>
            Clones a database connection and makes the clone read only if needed.
            SQL Functions and attached on-disk databases are applied to the new clone.
            </summary>
            <param name="aReadOnly">
            If true, the returned database should be put into read-only mode.
            Defaults to false.
            </param>
            <returns>
            the cloned database connection.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: If this connection is a memory database.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetDefaultPageSizeAttribute">
            <summary>
            The default size for SQLite database pages used by mozStorage for new
            databases.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetConnectionReadyAttribute">
            <summary>
            Indicates if the connection is open and ready to use.  This will be false
            if the connection failed to open, or it has been closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetLastInsertRowIDAttribute">
            <summary>
            lastInsertRowID returns the row ID from the last INSERT
            operation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetAffectedRowsAttribute">
            <summary>
            affectedRows returns the number of database rows that were changed or
            inserted or deleted by last operation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetLastErrorAttribute">
            <summary>
            The last error SQLite error code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetLastErrorStringAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The last SQLite error as a string (in english, straight from the
            sqlite library).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetSchemaVersionAttribute">
            <summary>
            The schema version of the database.  This should not be used until the
            database is ready.  The schema will be reported as zero if it is not set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.CreateStatement(Gecko.nsAUTF8StringBase)">
            <summary>
            Create a mozIStorageStatement for the given SQL expression.  The
            expression may use ? to indicate sequential numbered arguments,
            ?1, ?2 etc. to indicate specific numbered arguments or :name and
            $var to indicate named arguments.
            </summary>
            <param name="aSQLStatement">
            The SQL statement to execute.
            </param>
            <returns>
            a new mozIStorageStatement
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.ExecuteSimpleSQL(Gecko.nsAUTF8StringBase)">
            <summary>
            Execute a SQL expression, expecting no arguments.
            </summary>
            <param name="aSQLStatement">
            The SQL statement to execute
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.TableExists(Gecko.nsAUTF8StringBase)">
            <summary>
            Check if the given table exists.
            </summary>
            <param name="aTableName">
            The table to check
            </param>
            <returns>
            TRUE if table exists, FALSE otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.IndexExists(Gecko.nsAUTF8StringBase)">
            <summary>
            Check if the given index exists.
            </summary>
            <param name="aIndexName">
            The index to check
            </param>
            <returns>
            TRUE if the index exists, FALSE otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetTransactionInProgressAttribute">
            <summary>
            Returns true if a transaction is active on this connection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.BeginTransaction">
            <summary>
            Begin a new transaction.  sqlite default transactions are deferred.
            If a transaction is active, throws an error.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.CommitTransaction">
            <summary>
            Commits the current transaction.  If no transaction is active,
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED.: 
            NS_ERROR_NOT_INITIALIZED.:
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.RollbackTransaction">
            <summary>
            Rolls back the current transaction.  If no transaction is active,
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED.: 
            NS_ERROR_NOT_INITIALIZED.:
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.CreateTable(System.String,System.String)">
            <summary>
            Create the table with the given name and schema.
            
            If the table already exists, NS_ERROR_FAILURE is thrown.
            (XXX at some point in the future it will check if the schema is
            the same as what is specified, but that doesn't happen currently.)
            </summary>
            <param name="aTableName">
            The table name to be created, consisting of [A-Za-z0-9_], and
            beginning with a letter.
            </param>
            <param name="aTableSchema">
            The schema of the table; what would normally go between the parens
            in a CREATE TABLE statement: e.g., "foo  INTEGER, bar STRING".
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: If the table already exists or could not be created for any other
            reason.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.SetGrowthIncrement(System.Int32,Gecko.nsAUTF8StringBase)">
            <summary>
            Controls SQLITE_FCNTL_CHUNK_SIZE setting in sqlite. This helps avoid fragmentation
            by growing/shrinking the database file in SQLITE_FCNTL_CHUNK_SIZE increments. To
            conserve memory on systems short on storage space, this function will have no effect
            on mobile devices or if less than 500MiB of space is left available.
            </summary>
            <param name="aIncrement">
            The database file will grow in multiples of chunkSize.
            </param>
            <param name="aDatabaseName">
            Sqlite database name. "" means pass NULL for zDbName to sqlite3_file_control.
            See http://sqlite.org/c3ref/file_control.html for more details.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FILE_TOO_BIG: If the system is short on storage space.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.EnableModule(Gecko.nsACStringBase)">
            <summary>
            Enable a predefined virtual table implementation.
            </summary>
            <param name="aModuleName">
            The module to enable. Only "filesystem" is currently supported.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: For unknown module names.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageConnection.GetQuotaObjects(System.IntPtr@,System.IntPtr@)">
            <summary>
            Get quota objects.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED.:
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageError.GetResultAttribute">
            <summary>
            Indicates what type of error occurred.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageError.GetMessageAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            An error string the gives more details, if available.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageFunction">
            <summary>
            mozIStorageFunction is to be implemented by storage consumers that
            wish to receive callbacks during the request execution.
            
            SQL can apply functions to values from tables. Examples of
            such functions are MIN(a1,a2) or SQRT(num). Many functions are
            implemented in SQL engine.
            
            This interface allows consumers to implement their own,
            problem-specific functions.
            These functions can be called from triggers, too.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageFunction.OnFunctionCall(Gecko.Interfaces.mozIStorageValueArray)">
            <summary>
            onFunctionCall is called when execution of a custom
            function should occur.
            </summary>
            <param name="aNumArguments">
            The number of arguments
            </param>
            <param name="aFunctionArguments">
            The arguments passed in to the function
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStoragePendingStatement.Cancel">
            <summary>
            Cancels a pending statement, if possible.  This will only fail if you try
            cancel more than once.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageProgressHandler">
            <summary>
            mozIProgressHandler is to be implemented by storage consumers that
            wish to receive callbacks during the request execution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageProgressHandler.OnProgress(Gecko.Interfaces.mozIStorageConnection)">
            <summary>
            onProgress is invoked periodically during long running calls.
            </summary>
            <param name="aConnection">
            connection, for which progress handler is
            invoked.
            </param>
            <returns>
            true to abort request, false to continue work.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageResultSet.GetNextRow">
            <summary>
            Obtains the next row from the result set from the statement that was
            executed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageValueArray">
            <summary>
            mozIStorageValueArray wraps an array of SQL values, such as a single database
            row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageValueArray.GetNumEntriesAttribute">
            <summary>
            numEntries
            
            number of entries in the array (each corresponding to a column
            in the database row)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageValueArray.GetTypeOfIndex(System.UInt32)">
            <summary>
            Returns the type of the value at the given column index;
            one of VALUE_TYPE_NULL, VALUE_TYPE_INTEGER, VALUE_TYPE_FLOAT,
            VALUE_TYPE_TEXT, VALUE_TYPE_BLOB.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageValueArray.GetInt32(System.UInt32)">
            <summary>
            Obtain a value for the given entry (column) index.
            Due to SQLite&apos;s type conversion rules, any of these are valid
            for any column regardless of the column&apos;s data type.  However,
            if the specific type matters, getTypeOfIndex should be used
            first to identify the column type, and then the appropriate
            get method should be called.
            
            If you ask for a string value for a NULL column, you will get an empty
            string with IsVoid set to distinguish it from an explicitly set empty
            string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageValueArray.GetSharedUTF8String(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns a shared string pointer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageRow.GetNumEntriesAttribute">
            <summary>
            numEntries
            
            number of entries in the array (each corresponding to a column
            in the database row)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageRow.GetTypeOfIndex(System.UInt32)">
            <summary>
            Returns the type of the value at the given column index;
            one of VALUE_TYPE_NULL, VALUE_TYPE_INTEGER, VALUE_TYPE_FLOAT,
            VALUE_TYPE_TEXT, VALUE_TYPE_BLOB.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageRow.GetInt32(System.UInt32)">
            <summary>
            Obtain a value for the given entry (column) index.
            Due to SQLite&apos;s type conversion rules, any of these are valid
            for any column regardless of the column&apos;s data type.  However,
            if the specific type matters, getTypeOfIndex should be used
            first to identify the column type, and then the appropriate
            get method should be called.
            
            If you ask for a string value for a NULL column, you will get an empty
            string with IsVoid set to distinguish it from an explicitly set empty
            string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageRow.GetSharedUTF8String(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns a shared string pointer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageRow.GetResultByIndex(System.UInt32)">
            <summary>
            Obtains the result of a given column specified by aIndex.
            </summary>
            <param name="aIndex">
            Zero-based index of the result to get from the tuple.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageRow.GetResultByName(Gecko.nsAUTF8StringBase)">
            <summary>
            Obtains the result of a given column specified by aName.
            </summary>
            <param name="aName">
            Name of the result to get from the tuple.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageService">
            <summary>
            The mozIStorageService interface is intended to be implemented by
            a service that can create storage connections (mozIStorageConnection)
            to either a well-known profile database or to a specific database file.
            
            This is the only way to open a database connection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageService.OpenAsyncDatabase(Gecko.Interfaces.nsIVariant,Gecko.Interfaces.nsIPropertyBag2,Gecko.Interfaces.mozIStorageCompletionCallback)">
            <summary>
            Open an asynchronous connection to a database.
            
            This method MUST be called from the main thread. The connection object
            returned by this function is not threadsafe. You MUST use it only from
            the main thread.
            
            If you have more than one connection to a file, you MUST use the EXACT
            SAME NAME for the file each time, including case. The sqlite code uses
            a simple string compare to see if there is already a connection. Opening
            a connection to "Foo.sqlite" and "foo.sqlite" will CORRUPT YOUR DATABASE.
            </summary>
            <param name="aDatabaseStore">
            Either a nsIFile representing the file that contains
            the database or a special string to open a special database. The special
            string may be:
            - "memory" to open an in-memory database.
            </param>
            <param name="aOptions">
            A set of options (may be null). Options may contain:
            - bool shared (defaults to |false|).
            -- If |true|, opens the database with a shared-cache. The
            shared-cache mode is more memory-efficient when many
            connections to the same database are expected, though, the
            connections will contend the cache resource. In any cases
            where performance matter, working without a shared-cache will
            improve concurrency.  @see openUnsharedDatabase
            
            - int growthIncrement (defaults to none).
            -- Set the growth increment for the main database.  This hints SQLite to
            grow the database file by a given chunk size and may reduce
            filesystem fragmentation on large databases.
            </param>
            <param name="aCallback">
            A callback that will receive the result of the operation.
            In case of error, it may receive as status:
            - NS_ERROR_OUT_OF_MEMORY if allocating a new storage object fails.
            - NS_ERROR_FILE_CORRUPTED if the database file is corrupted.
            In case of success, it receives as argument the new database
            connection, as an instance of |mozIStorageAsyncConnection|.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if |aDatabaseStore| is neither a file nor
            one of the special strings understood by this method, or if one of
            the options passed through |aOptions| does not have the right type.
            NS_ERROR_NOT_SAME_THREAD: if called from a thread other than the
            main thread.
            </exception>
            <remarks>
            See mozIStorageConnection::setGrowthIncrement
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageService.OpenSpecialDatabase(System.String)">
            <summary>
            Get a connection to a named special database storage.
            </summary>
            <param name="aStorageKey">
            a string key identifying the type of storage
            requested.  Valid values include: "memory".
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if aStorageKey is invalid.
            </exception>
            <remarks>
            See openDatabase for restrictions on how database connections may be
            used. For the profile database, you should only access it from the main
            thread since other callers may also have connections.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageService.OpenDatabase(Gecko.Interfaces.nsIFile)">
            <summary>
            Open a connection to the specified file.
            
            Consumers should check mozIStorageConnection::connectionReady to ensure
            that they can use the database.  If this value is false, it is strongly
            recommended that the database be backed up with
            mozIStorageConnection::backupDB so user data is not lost.
            
            ==========
            DANGER
            ==========
            
            If you have more than one connection to a file, you MUST use the EXACT
            SAME NAME for the file each time, including case. The sqlite code uses
            a simple string compare to see if there is already a connection. Opening
            a connection to "Foo.sqlite" and "foo.sqlite" will CORRUPT YOUR DATABASE.
            
            The connection object returned by this function is not threadsafe. You must
            use it only from the thread you created it from.
            </summary>
            <param name="aDatabaseFile">
            A nsIFile that represents the database that is to be opened..
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_OUT_OF_MEMORY: If allocating a new storage object fails.
            NS_ERROR_FILE_CORRUPTED: If the database file is corrupted.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageService.OpenUnsharedDatabase(Gecko.Interfaces.nsIFile)">
            <summary>
            Open a connection to the specified file that doesn't share a sqlite cache.
            
            Without a shared-cache, each connection uses its own pages cache, which
            may be memory inefficient with a large number of connections, in such a
            case so you should use openDatabase instead.  On the other side, if cache
            contention may be an issue, for instance when concurrency is important to
            ensure responsiveness, using unshared connections may be a performance win.
            
            ==========
            DANGER
            ==========
            
            If you have more than one connection to a file, you MUST use the EXACT
            SAME NAME for the file each time, including case. The sqlite code uses
            a simple string compare to see if there is already a connection. Opening
            a connection to "Foo.sqlite" and "foo.sqlite" will CORRUPT YOUR DATABASE.
            
            The connection object returned by this function is not threadsafe. You must
            use it only from the thread you created it from.
            </summary>
            <param name="aDatabaseFile">
            A nsIFile that represents the database that is to be opened.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_OUT_OF_MEMORY: If allocating a new storage object fails.
            NS_ERROR_FILE_CORRUPTED: If the database file is corrupted.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageService.OpenDatabaseWithFileURL(Gecko.Interfaces.nsIFileURL)">
            <summary>
            See openDatabase(). Exactly the same only initialized with a file URL.
            Custom parameters can be passed to SQLite and VFS implementations through
            the query part of the URL.
            </summary>
            <param name="aURL">
            A nsIFileURL that represents the database that is to be opened.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageService.BackupDatabaseFile(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase,Gecko.Interfaces.nsIFile)">
            <summary>
            Copies the specified database file to the specified parent directory with
            the specified file name.  If the parent directory is not specified, it
            places the backup in the same directory as the current file.  This function
            ensures that the file being created is unique.
            </summary>
            <param name="aDBFile">
            The database file that will be backed up.
            </param>
            <param name="aBackupFileName">
            The name of the new backup file to create.
            </param>
            <param name="[optional]">
            aBackupParentDirectory
            The directory you&apos;d like the backup file to be placed.
            </param>
            <returns>
            The nsIFile representing the backup file.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageStatement">
            <summary>
            A SQL statement that can be used for both synchronous and asynchronous
            purposes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.BindByName(Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the name aName.
            </summary>
            <param name="aName">
            The name of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.BindByIndex(System.UInt32,Gecko.Interfaces.nsIVariant)">
            <summary>
            Binds aValue to the parameter with the index aIndex.
            </summary>
            <param name="aIndex">
            The zero-based index of the parameter to bind aValue to.
            </param>
            <param name="aValue">
            The value to bind.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.FinalizeNative">
            <summary>
            Finalizes a statement so you can successfully close a database connection.
            Once a statement has been finalized it can no longer be used for any
            purpose.
            
            Statements are implicitly finalized when their reference counts hits zero.
            If you are a native (C++) caller this is accomplished by setting all of
            your nsCOMPtr instances to be NULL.  If you are operating from JavaScript
            code then you cannot rely on this behavior because of the involvement of
            garbage collection.
            
            When finalizing an asynchronous statement you do not need to worry about
            whether the statement has actually been executed by the asynchronous
            thread; you just need to call finalize after your last call to executeAsync
            involving the statement.  However, you do need to use asyncClose instead of
            close on the connection if any statements have been used asynchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.BindUTF8StringParameter(System.UInt32,Gecko.nsAUTF8StringBase)">
            <summary>
            Bind the given value at the given numeric index.
            </summary>
            <param name="aParamIndex">
            0-based index, 0 corresponding to the first numbered argument or
            &quot;?1&quot;.
            </param>
            <param name="aValue">
            Argument value.
            </param>
            <param name="aValueSize">
            Length of aValue in bytes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.BindParameters(Gecko.Interfaces.mozIStorageBindingParamsArray)">
            <summary>
            Binds the array of parameters to the statement.  When executeAsync is
            called, all the parameters in aParameters are bound and then executed.
            </summary>
            <param name="aParameters">
            The array of parameters to bind to the statement upon execution.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.NewBindingParamsArray">
            <summary>
            Creates a new mozIStorageBindingParamsArray that can be used to bind
            multiple sets of data to a statement with bindParameters.
            </summary>
            <returns>
            a mozIStorageBindingParamsArray that multiple sets of parameters
            can be bound to.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.ExecuteAsync(Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Execute a query asynchronously using any currently bound parameters.  This
            statement can be reused immediately, and reset does not need to be called.
            </summary>
            <param name="aCallback">
            [optional]
            The callback object that will be notified of progress, errors, and
            completion.
            </param>
            <returns>
            an object that can be used to cancel the statements execution.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetStateAttribute">
            <summary>
            Find out whether the statement is usable (has not been finalized).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.EscapeStringForLIKE(Gecko.nsAStringBase,System.Char,Gecko.nsAStringBase)">
            <summary>
            Escape a string for SQL LIKE search.
            </summary>
            <param name="aValue">
            The string to escape for SQL LIKE.
            </param>
            <param name="aEscapeChar">
            The escape character.
            </param>
            <returns>
            an AString of an escaped version of aValue
            (%, _ and the escape char are escaped with the escape char)
            For example, we will convert &quot;foo/bar_baz%20cheese&quot;
            into &quot;foo//bar/_baz/%20cheese&quot; (if the escape char is &apos;/&apos;).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.Clone">
            <summary>
            Create a clone of this statement, by initializing a new statement
            with the same connection and same SQL statement as this one.  It
            does not preserve statement state; that is, if a statement is
            being executed when it is cloned, the new statement will not be
            executing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetParameterName(System.UInt32,Gecko.nsAUTF8StringBase)">
            <summary>
            Name of nth parameter, if given
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetParameterIndex(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the index of the named parameter.
            </summary>
            <param name="aName">
            The name of the parameter you want the index for.  This does not
            include the leading &apos;:&apos;.
            </param>
            <returns>
            the index of the named parameter.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetColumnCountAttribute">
            <summary>
            Number of columns returned
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetColumnName(System.UInt32,Gecko.nsAUTF8StringBase)">
            <summary>
            Name of nth column
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetColumnIndex(Gecko.nsAUTF8StringBase)">
            <summary>
            Obtains the index of the column with the specified name.
            </summary>
            <param name="aName">
            The name of the column.
            </param>
            <returns>
            The index of the column with the specified name.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.Reset">
            <summary>
            Reset parameters/statement execution
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.Execute">
            <summary>
            Execute the query, ignoring any results.  This is accomplished by
            calling executeStep() once, and then calling reset().
            
            Error and last insert info, etc. are available from
            the mozStorageConnection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.ExecuteStep">
            <summary>
            Execute a query, using any currently-bound parameters.  Reset
            must be called on the statement after the last call of
            executeStep.
            </summary>
            <returns>
            a boolean indicating whether there are more rows or not;
            row data may be accessed using mozIStorageValueArray methods on
            the statement.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetNumEntriesAttribute">
            <summary>
            The number of entries in the array (each corresponding to a column in the
            database row)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetTypeOfIndex(System.UInt32)">
            <summary>
            Indicate the data type of the current result row for the the given column.
            SQLite will perform type conversion if you ask for a value as a different
            type than it is stored as.
            </summary>
            <param name="aIndex">
            0-based column index.
            </param>
            <returns>
            The type of the value at the given column index; one of
            VALUE_TYPE_NULL, VALUE_TYPE_INTEGER, VALUE_TYPE_FLOAT,
            VALUE_TYPE_TEXT, VALUE_TYPE_BLOB.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetInt32(System.UInt32)">
            <summary>
            Retrieve the contents of a column from the current result row as an
            integer.
            </summary>
            <param name="aIndex">
            0-based colummn index.
            </param>
            <returns>
            Column value interpreted as an integer per type conversion rules.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetDouble(System.UInt32)">
            <summary>
            Retrieve the contents of a column from the current result row as a
            floating point double.
            </summary>
            <param name="aIndex">
            0-based colummn index.
            </param>
            <returns>
            Column value interpreted as a double per type conversion rules.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetUTF8String(System.UInt32,Gecko.nsAUTF8StringBase)">
            <summary>
            Retrieve the contents of a column from the current result row as a
            string.
            </summary>
            <param name="aIndex">
            0-based colummn index.
            </param>
            <returns>
            The value for the result column interpreted as a string.  If the
            stored value was NULL, you will get an empty string with IsVoid set
            to distinguish it from an explicitly set empty string.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetBlob(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Retrieve the contents of a column from the current result row as a
            blob.
            </summary>
            <param name="aIndex">
            0-based colummn index.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetBlobAsString(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Retrieve the contents of a Blob column from the current result row as a
            string.
            </summary>
            <param name="aIndex">
            0-based colummn index.
            </param>
            <returns>
            The value for the result Blob column interpreted as a String.
            No encoding conversion is performed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetBlobAsUTF8String(System.UInt32,Gecko.nsAUTF8StringBase)">
            <summary>
            Retrieve the contents of a Blob column from the current result row as a
            UTF8 string.
            </summary>
            <param name="aIndex">
            0-based colummn index.
            </param>
            <returns>
            The value for the result Blob column interpreted as a UTF8 String.
            No encoding conversion is performed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetIsNull(System.UInt32)">
            <summary>
            Check whether the given column in the current result row is NULL.
            </summary>
            <param name="aIndex">
            0-based colummn index.
            </param>
            <returns>
            true if the value for the result column is null.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatement.GetSharedUTF8String(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns a shared string pointer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatementCallback.HandleResult(Gecko.Interfaces.mozIStorageResultSet)">
            <summary>
            Called when some result is obtained from the database.  This function can
            be called more than once with a different storageIResultSet each time for
            any given asynchronous statement.
            </summary>
            <param name="aResultSet">
            The result set containing the data from the database.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageStatementCallback.HandleError(Gecko.Interfaces.mozIStorageError)">
            <summary>
            Called when some error occurs while executing the statement.  This function
            may be called more than once with a different storageIError each time for
            any given asynchronous statement.
            </summary>
            <param name="aError">
            An object containing information about the error.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.mozIStorageVacuumParticipant">
            <summary>
            This interface contains the information that the Storage service needs to
            vacuum a database.  This interface is created as a service through the
            category manager with the category &quot;vacuum-participant&quot;.
            Please see https://developer.mozilla.org/en/mozIStorageVacuumParticipant for
            more information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageVacuumParticipant.GetExpectedDatabasePageSizeAttribute">
            <summary>
            The expected page size in bytes for the database.  The vacuum manager will
            try to correct the page size during idle based on this value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageVacuumParticipant.GetDatabaseConnectionAttribute">
            <summary>
            Connection to the database file to be vacuumed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageVacuumParticipant.OnBeginVacuum">
            <summary>
            Notifies when a vacuum operation begins.  Listeners should avoid using the
            database till onEndVacuum is received.
            </summary>
            <returns>
            true to proceed with the vacuum, false if the participant wants to
            opt-out for now, it will be retried later.  Useful when participant
            is running some other heavy operation that can&apos;t be interrupted.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIStorageVacuumParticipant.OnEndVacuum(System.Boolean)">
            <summary>
            Notifies when a vacuum operation ends.
            </summary>
            <param name="aSucceeded">
            reports if the vacuum succeeded or failed.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.mozIThirdPartyUtil">
            <summary>
            Utility functions for determining whether a given URI, channel, or window
            hierarchy is third party with respect to a known URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIThirdPartyUtil.IsThirdPartyURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI)">
            <summary>
            isThirdPartyURI
            
            Determine whether two URIs are third party with respect to each other.
            This is determined by computing the base domain for both URIs. If they can
            be determined, and the base domains match, the request is defined as first
            party. If it cannot be determined because one or both URIs do not have a
            base domain (for instance, in the case of IP addresses, host aliases such
            as 'localhost', or a file:// URI), an exact string comparison on host is
            performed.
            
            For example, the URI "http://mail.google.com/" is not third party with
            respect to "http://images.google.com/", but "http://mail.yahoo.com/" and
            "http://192.168.1.1/" are.
            </summary>
            <returns>
            true if aFirstURI is third party with respect to aSecondURI.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: either URI is null, has a malformed host, or has an empty host
            and is not a file:// URI.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.mozIThirdPartyUtil.IsThirdPartyWindow(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIURI)">
            <summary>
            isThirdPartyWindow
            
            Determine whether the given window hierarchy is third party. This is done
            as follows:
            
            1) Obtain the URI of the principal associated with 'aWindow'. Call this the
            'bottom URI'.
            2) If 'aURI' is provided, determine if it is third party with respect to
            the bottom URI. If so, return.
            3) Find the same-type parent window, if there is one, and its URI.
            Determine whether it is third party with respect to the bottom URI. If
            so, return.
            
            Therefore, each level in the window hierarchy is tested. (This means that
            nested iframes with different base domains, even though the bottommost and
            topmost URIs might be equal, will be considered third party.)
            </summary>
            <param name="aWindow">
            The bottommost window in the hierarchy.
            </param>
            <param name="aURI">
            A URI to test against. If null, the URI of the principal
            associated with 'aWindow' will be used.
            
            For example, if 'aURI' is "http://mail.google.com/", 'aWindow' has a URI
            of "http://google.com/", and its parent is the topmost content window with
            a URI of "http://mozilla.com", the result will be true.
            </param>
            <returns>
            true if 'aURI' is third party with respect to any of the URIs
            associated with aWindow and its same-type parents.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: aWindow is null; the same-type parent of any window in the
            hierarchy cannot be determined; or the URI associated with any
            window in the hierarchy is null, has a malformed host, or has an
            empty host and is not a file:// URI.
            </exception>
            <remarks>
            See isThirdPartyURI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIThirdPartyUtil.IsThirdPartyChannel(Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsIURI)">
            <summary>
            isThirdPartyChannel
            
            Determine whether the given channel and its content window hierarchy is
            third party. This is done as follows:
            
            1) If 'aChannel' is an nsIHttpChannel and has the
            'forceAllowThirdPartyCookie' property set, then:
            a) If 'aURI' is null, return false.
            b) Otherwise, find the URI of the channel, determine whether it is
            foreign with respect to 'aURI', and return.
            2) Find the URI of the channel and determine whether it is third party with
            respect to the URI of the channel. If so, return.
            3) Obtain the bottommost nsIDOMWindow, and its same-type parent if it
            exists, from the channel's notification callbacks. Then:
            a) If the parent is the same as the bottommost window, and the channel
            has the LOAD_DOCUMENT_URI flag set, return false. This represents the
            case where a toplevel load is occurring and the window's URI has not
            yet been updated. (We have already checked that 'aURI' is not foreign
            with respect to the channel URI.)
            b) Otherwise, return the result of isThirdPartyWindow with arguments
            of the channel's bottommost window and the channel URI, respectively.
            
            Therefore, both the channel's URI and each level in the window hierarchy
            associated with the channel is tested.
            </summary>
            <param name="aChannel">
            The channel associated with the load.
            </param>
            <param name="aURI">
            A URI to test against. If null, the URI of the channel will be used.
            
            For example, if 'aURI' is "http://mail.google.com/", 'aChannel' has a URI
            of "http://google.com/", and its parent is the topmost content window with
            a URI of "http://mozilla.com", the result will be true.
            </param>
            <returns>
            true if aURI is third party with respect to the channel URI or any
            of the URIs associated with the same-type window hierarchy of the
            channel.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: 'aChannel' is null; the channel has no notification callbacks or
            an associated window; or isThirdPartyWindow throws.
            </exception>
            <remarks>
            See isThirdPartyWindow
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.mozIThirdPartyUtil.GetBaseDomain(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            getBaseDomain
            
            Get the base domain for aHostURI; e.g. for &quot;www.bbc.co.uk&quot;, this would be
            &quot;bbc.co.uk&quot;. Only properly-formed URI&apos;s are tolerated, though a trailing
            dot may be present. If aHostURI is an IP address, an alias such as
            &apos;localhost&apos;, an eTLD such as &apos;co.uk&apos;, or the empty string, aBaseDomain will
            be the exact host. The result of this function should only be used in exact
            string comparisons, since substring comparisons will not be valid for the
            special cases elided above.
            </summary>
            <param name="aHostURI">
            The URI to analyze.
            </param>
            <returns>
            the base domain.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozIThirdPartyUtil.GetURIFromWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            getURIFromWindow
            
            Returns the URI associated with the script object principal for the
            window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIThirdPartyUtil.GetTopWindowForChannel(Gecko.Interfaces.nsIChannel)">
            <summary>
            getTopWindowForChannel
            
            Returns the top-level window associated with the given channel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamConverter">
            <summary>
            nsIStreamConverter provides an interface to implement when you have code
            that converts data from one type to another.
            
            Suppose you had code that converted plain text into HTML. You could implement
            this interface to allow everyone else to use your conversion logic using a
            standard api.
            &lt;p&gt;
            &lt;b&gt;STREAM CONVERTER USERS&lt;/b&gt;
            
            There are currently two ways to use a stream converter:
            &lt;ol&gt;
            &lt;li&gt; &lt;b&gt;SYNCHRONOUS&lt;/b&gt; Stream to Stream
            You can supply the service with a stream of type X
            and it will convert it to your desired output type and return
            a converted (blocking) stream to you.&lt;/li&gt;
            
            &lt;li&gt; &lt;b&gt;ASYNCHRONOUS&lt;/b&gt; nsIStreamListener to nsIStreamListener
            You can supply data directly to the converter by calling it&apos;s
            nsIStreamListener::OnDataAvailable() method. It will then
            convert that data from type X to your desired output type and
            return converted data to you via the nsIStreamListener you passed
            in by calling its OnDataAvailable() method.&lt;/li&gt;
            &lt;/ol&gt;
            &lt;p&gt;
            
            &lt;b&gt;STREAM CONVERTER SUPPLIERS&lt;/b&gt;
            
            Registering a stream converter:
            Stream converter registration is a two step process. First of all the stream
            converter implementation must register itself with the component manager using
            a contractid in the format below. Second, the stream converter must add the contractid
            to the registry.
            
            Stream converter contractid format (the stream converter root key is defined in this
            file):
            
            &lt;pre&gt;@mozilla.org/streamconv;1?from=FROM_MIME_TYPE&amp;to=TO_MIME_TYPE&lt;/pre&gt;
            </summary>
            <remarks>
            See nsIStreamConverterService
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamListener">
            <summary>
            nsIStreamListener
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRequestObserver">
            <summary>
            nsIRequestObserver
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestObserver.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestObserver.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListener.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListener.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListener.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverter.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverter.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverter.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverter.Convert(Gecko.Interfaces.nsIInputStream,System.String,System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;SYNCRONOUS VERSION&lt;/b&gt;
            Converts a stream of one type, to a stream of another type.
            
            Use this method when you have a stream you want to convert.
            </summary>
            <param name="aFromStream">
            The stream representing the original/raw data.
            </param>
            <param name="aFromType">
            The MIME type of aFromStream.
            </param>
            <param name="aToType">
            The MIME type of the returned stream.
            </param>
            <param name="aCtxt">
            Either an opaque context, or a converter specific context
            (implementation specific).
            </param>
            <returns>
            The converted stream. NOTE: The returned stream may not
            already be converted. An efficient stream converter
            implementation will converter data on demand rather than
            buffering the converted data until it is used.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverter.AsyncConvertData(System.String,System.String,Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;ASYNCRONOUS VERSION&lt;/b&gt;
            Converts data arriving via the converter&apos;s nsIStreamListener::OnDataAvailable()
            method from one type to another, pushing the converted data out to the caller
            via aListener::OnDataAvailable().
            
            Use this method when you want to proxy (and convert) nsIStreamListener callbacks
            asynchronously.
            </summary>
            <param name="aFromType">
            The MIME type of the original/raw data.
            </param>
            <param name="aToType">
            The MIME type of the converted data.
            </param>
            <param name="aListener">
            The listener who receives the converted data.
            </param>
            <param name="aCtxt">
            Either an opaque context, or a converter specific context
            (implementation specific).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.Convert(Gecko.Interfaces.nsIInputStream,System.String,System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;SYNCRONOUS VERSION&lt;/b&gt;
            Converts a stream of one type, to a stream of another type.
            
            Use this method when you have a stream you want to convert.
            </summary>
            <param name="aFromStream">
            The stream representing the original/raw data.
            </param>
            <param name="aFromType">
            The MIME type of aFromStream.
            </param>
            <param name="aToType">
            The MIME type of the returned stream.
            </param>
            <param name="aCtxt">
            Either an opaque context, or a converter specific context
            (implementation specific).
            </param>
            <returns>
            The converted stream. NOTE: The returned stream may not
            already be converted. An efficient stream converter
            implementation will converter data on demand rather than
            buffering the converted data until it is used.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.AsyncConvertData(System.String,System.String,Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;ASYNCRONOUS VERSION&lt;/b&gt;
            Converts data arriving via the converter&apos;s nsIStreamListener::OnDataAvailable()
            method from one type to another, pushing the converted data out to the caller
            via aListener::OnDataAvailable().
            
            Use this method when you want to proxy (and convert) nsIStreamListener callbacks
            asynchronously.
            </summary>
            <param name="aFromType">
            The MIME type of the original/raw data.
            </param>
            <param name="aToType">
            The MIME type of the converted data.
            </param>
            <param name="aListener">
            The listener who receives the converted data.
            </param>
            <param name="aCtxt">
            Either an opaque context, or a converter specific context
            (implementation specific).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.ScanTXT(System.String,System.UInt32)">
            <summary>
            
            </summary>
            <param name="text:">
            plain text to scan. May be a line, paragraph (recommended)
            or just a substring.&lt;p&gt;
            Must be non-escaped, pure unicode.&lt;p&gt;
            &lt;em&gt;Note:&lt;/em&gt; ScanTXT(a, o) + ScanTXT(b, o) may be !=
            Scan(a + b, o)
            </param>
            <param name="whattodo:">
            Bitfield describing the modes of operation
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.ScanHTML(System.String,System.UInt32)">
            <summary>
            Adds additional formatting to user edited text, that the user was too lazy
            or &quot;unknowledged&quot; (DELETEME: is that a word?) to make.
            &lt;p&gt;
            &lt;em&gt;Note:&lt;/em&gt; Don&apos;t use kGlyphSubstitution with this function. This option
            generates tags, that are unuseable for UAs other than Mozilla. This would
            be a data loss bug.
            </summary>
            <param name="text:">
            HTML source to scan. May be a line, paragraph (recommended)
            or just a substring.&lt;p&gt;
            Must be correct HTML. &quot;&lt;&quot;, &quot;&gt;&quot; and &quot;&amp;&quot; must be escaped,
            other chars must be pure unicode.&lt;p&gt;
            &lt;em&gt;Note:&lt;/em&gt; ScanTXT(a, o) + ScanTXT(b, o) may be !=
            Scan(a + b, o)
            </param>
            <param name="whattodo:">
            Bitfield describing the modes of operation
            </param>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.CiteLevelTXT(System.String,System.UInt32@)">
            <summary>
            
            </summary>
            <param name="line:">
            line in original msg, possibly starting starting with
            txt quote tags like &quot;&gt;&quot;
            </param>
            <param name="logLineStart:">
            pos in line, where the real content (logical line)
            begins, i.e. pos after all txt quote tags.
            E.g. position of &quot;t&quot; in &quot;&gt; &gt; text&quot;.
            Initial value must be 0, unless line is not real line.
            </param>
            <returns>
            Cite Level, i.e. number of txt quote tags found, i.e. number of
            nested quotes.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.mozITXTToHTMLConv.FindURLInPlaintext(System.String,System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            
            </summary>
            <param name="a">
            wide string to scan for the presence of a URL.
            </param>
            <param name="aLength">
            --&gt; the length of the buffer to be scanned
            </param>
            <param name="aPos">
            --&gt; the position in the buffer to start scanning for a url
            
            aStartPos --&gt; index into the start of a url (-1 if no url found)
            aEndPos --&gt; index of the last character in the url (-1 if no url found)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutModule.NewChannel(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel for the about protocol module.
            </summary>
            <param name="aURI">
            the uri of the new channel
            </param>
            <param name="aLoadInfo">
            the loadinfo of the new channel
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutModule.GetURIFlags(Gecko.Interfaces.nsIURI)">
            <summary>
            A method to get the flags that apply to a given about: URI.  The URI
            passed in is guaranteed to be one of the URIs that this module
            registered to deal with.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAboutNewTabService">
            <summary>
            Allows to override about:newtab to point to a different location
            than the one specified within AboutRedirector.cpp
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.GetNewTabURLAttribute(Gecko.nsACStringBase)">
            <summary>
            Returns the url of the resource for the newtab page if not overridden,
            otherwise a string represenation of the new URL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.GetDefaultURLAttribute(Gecko.nsACStringBase)">
            <summary>
            Returns the default URL (remote or local depending on pref)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.GetOverriddenAttribute">
            <summary>
            Returns true if the default resource got overridden.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.GetRemoteEnabledAttribute">
            <summary>
            Returns true if the default resource is remotely hosted and isn&apos;t
            overridden
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.GetRemoteVersionAttribute(Gecko.nsACStringBase)">
            <summary>
            Returns the version of the remote newtab page expected
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.GetRemoteReleaseNameAttribute(Gecko.nsACStringBase)">
            <summary>
            Returns the expected channel for the remote the newtab page
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.GenerateRemoteURL(Gecko.nsACStringBase)">
            <summary>
            Generates and returns the remote newtab page url
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.ReleaseFromUpdateChannel(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Returns a remote new tab release name given an update channel name
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAboutNewTabService.ResetNewTabURL">
            <summary>
            Resets to the default resource and also resets the
            overridden attribute to false.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessible">
            <summary>
            A cross-platform interface that supports platform-specific
            accessibility APIs like MSAA and ATK. Contains the sum of what&apos;s needed
            to support IAccessible as well as ATK&apos;s generic accessibility objects.
            Can also be used by in-process accessibility clients to get information
            about objects in the accessible tree. The accessible tree is a subset of
            nodes in the DOM tree -- such as documents, focusable elements and text.
            Mozilla creates the implementations of nsIAccessible on demand.
            See http://www.mozilla.org/projects/ui/accessibility for more information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetParentAttribute">
            <summary>
            Parent node in accessible tree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetNextSiblingAttribute">
            <summary>
            Next sibling in accessible tree
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetPreviousSiblingAttribute">
            <summary>
            Previous sibling in accessible tree
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetFirstChildAttribute">
            <summary>
            First child in accessible tree
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetLastChildAttribute">
            <summary>
            Last child in accessible tree
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetChildrenAttribute">
            <summary>
            Array of all this element&apos;s children.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetChildCountAttribute">
            <summary>
            Number of accessible children
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetIndexInParentAttribute">
            <summary>
            The 0-based index of this accessible in its parent&apos;s list of children,
            or -1 if this accessible does not have a parent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetDOMNodeAttribute">
            <summary>
            The DOM node this nsIAccessible is associated with.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetIdAttribute(Gecko.nsAStringBase)">
            <summary>
            For remote accessibles the id of the related DOM node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetDocumentAttribute">
            <summary>
            The document accessible that this access node resides in.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetRootDocumentAttribute">
            <summary>
            The root document accessible that this access node resides in.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetLanguageAttribute(Gecko.nsAStringBase)">
            <summary>
            The language for the current DOM node, e.g. en, de, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Accessible name -- the main text equivalent for this node. The name is
            specified by ARIA or by native markup. Example of ARIA markup is
            aria-labelledby attribute placed on element of this accessible. Example
            of native markup is HTML label linked with HTML element of this accessible.
            
            Value can be string or null. A null value indicates that AT may attempt to
            compute the name. Any string value, including the empty string, should be
            considered author-intentional, and respected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetValueAttribute(Gecko.nsAStringBase)">
            <summary>
            Accessible value -- a number or a secondary text equivalent for this node
            Widgets that use role attribute can force a value using the valuenow attribute
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            Accessible description -- long text associated with this node
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetAccessKeyAttribute(Gecko.nsAStringBase)">
            <summary>
            Provides localized string of accesskey name, such as Alt+D.
            The modifier may be affected by user and platform preferences.
            Usually alt+letter, or just the letter alone for menu items.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetKeyboardShortcutAttribute(Gecko.nsAStringBase)">
            <summary>
            Provides localized string of global keyboard accelerator for default
            action, such as Ctrl+O for Open file
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetRoleAttribute">
            <summary>
            Enumerated accessible role (see the constants defined in nsIAccessibleRole).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetState(System.UInt32@,System.UInt32@)">
            <summary>
            Accessible states -- bit fields which describe boolean properties of node.
            Many states are only valid given a certain role attribute that supports
            them.
            </summary>
            <param name="aState">
            - the first bit field (see nsIAccessibleStates::STATE_
            constants)
            </param>
            <param name="aExtraState">
            - the second bit field
            (see nsIAccessibleStates::EXT_STATE_* constants)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetHelpAttribute(Gecko.nsAStringBase)">
            <summary>
            Help text associated with node
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetFocusedChildAttribute">
            <summary>
            Focused accessible child of node
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetAttributesAttribute">
            <summary>
            Attributes of accessible
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GroupPosition(System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Returns grouping information. Used for tree items, list items, tab panel
            labels, radio buttons, etc. Also used for collectons of non-text objects.
            </summary>
            <param name="groupLevel">
            - 1-based, similar to ARIA &apos;level&apos; property
            </param>
            <param name="similarItemsInGroup">
            - 1-based, similar to ARIA &apos;setsize&apos; property,
            inclusive of the current item
            </param>
            <param name="positionInGroup">
            - 1-based, similar to ARIA &apos;posinset&apos; property
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetChildAtPoint(System.Int32,System.Int32)">
            <summary>
            Accessible child which contains the coordinate at (x, y) in screen pixels.
            If the point is in the current accessible but not in a child, the
            current accessible will be returned.
            If the point is in neither the current accessible or a child, then
            null will be returned.
            </summary>
            <param name="x">
            screen&apos;s x coordinate
            </param>
            <param name="y">
            screen&apos;s y coordinate
            </param>
            <returns>
            the deepest accessible child containing the given point
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetDeepestChildAtPoint(System.Int32,System.Int32)">
            <summary>
            Deepest accessible child which contains the coordinate at (x, y) in screen
            pixels. If the point is in the current accessible but not in a child, the
            current accessible will be returned. If the point is in neither the current
            accessible or a child, then null will be returned.
            </summary>
            <param name="x">
            screen&apos;s x coordinate
            </param>
            <param name="y">
            screen&apos;s y coordinate
            </param>
            <returns>
            the deepest accessible child containing the given point
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetChildAt(System.Int32)">
            <summary>
            Nth accessible child using zero-based index or last child if index less than zero
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetRelationByType(System.UInt32)">
            <summary>
            Return accessible relation by the given relation type (see.
            constants defined in nsIAccessibleRelation).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetRelations">
            <summary>
            Returns multiple accessible relations for this object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetBounds(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Return accessible&apos;s x and y coordinates relative to the screen and
            accessible&apos;s width and height.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.SetSelected(System.Boolean)">
            <summary>
            Add or remove this accessible to the current selection
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.TakeSelection">
            <summary>
            Select this accessible node only
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.TakeFocus">
            <summary>
            Focus this accessible node,
            The state STATE_FOCUSABLE indicates whether this node is normally focusable.
            It is the callers responsibility to determine whether this node is focusable.
            accTakeFocus on a node that is not normally focusable (such as a table),
            will still set focus on that node, although normally that will not be visually
            indicated in most style sheets.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetActionCountAttribute">
            <summary>
            The number of accessible actions associated with this accessible
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetActionName(System.Byte,Gecko.nsAStringBase)">
            <summary>
            The name of the accessible action at the given zero-based index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.GetActionDescription(System.Byte,Gecko.nsAStringBase)">
            <summary>
            The description of the accessible action at the given zero-based index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.DoAction(System.Byte)">
            <summary>
            Perform the accessible action at the given zero-based index
            Action number 0 is the default action
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.ScrollTo(System.UInt32)">
            <summary>
            Makes an object visible on screen.
            </summary>
            <param name="scrollType">
            - defines where the object should be placed on
            the screen (see nsIAccessibleScrollType for
            available constants).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessible.ScrollToPoint(System.UInt32,System.Int32,System.Int32)">
            <summary>
            Moves the top left of an object to a specified location.
            </summary>
            <param name="coordinateType">
            [in] - specifies whether the coordinates are relative to
            the screen or the parent object (for available
            constants refer to nsIAccessibleCoordinateType)
            </param>
            <param name="x">
            [in] - defines the x coordinate
            </param>
            <param name="y">
            [in] - defines the y coordinate
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleApplication">
            <summary>
            This interface is implemented by top level accessible object in hierarchy and
            provides information about application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleApplication.GetAppNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the application name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleApplication.GetAppVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the application version.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleApplication.GetPlatformNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the platform name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleApplication.GetPlatformVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the platform version.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleCaretMoveEvent">
            <summary>
            Fired when the caret changes position in text.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleEvent">
            <summary>
            An interface for accessibility events listened to
            by in-process accessibility clients, which can be used
            to find out how to get accessibility and DOM interfaces for
            the event and its target. To listen to in-process accessibility invents,
            make your object an nsIObserver, and listen for accessible-event by
            using code something like this:
            nsCOMPtr&lt;nsIObserverService&gt; observerService =
            do_GetService(&quot;@mozilla.org/observer-service;1&quot;, &amp;rv);
            if (NS_SUCCEEDED(rv))
            rv = observerService-&gt;AddObserver(this, &quot;accessible-event&quot;, PR_TRUE);
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleCaretMoveEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleCaretMoveEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleCaretMoveEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleCaretMoveEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleCaretMoveEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleCaretMoveEvent.GetCaretOffsetAttribute">
            <summary>
            Return caret offset.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleDocument">
            <summary>
            An interface for in-process accessibility clients
            that wish to retrieve information about a document.
            When accessibility is turned on in Gecko,
            there is an nsIAccessibleDocument for each document
            whether it is XUL, HTML or whatever.
            You can QueryInterface to nsIAccessibleDocument from the nsIAccessible for
            the root node of a document or you can get one from
            nsIAccessible::GetDocument().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetURLAttribute(Gecko.nsAStringBase)">
            <summary>
            The URL of the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            The title of the document, as specified in the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetMimeTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The mime type of the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetDocTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The doc type of the document, as specified in the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetDOMDocumentAttribute">
            <summary>
            The nsIDOMDocument interface associated with this document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetWindowAttribute">
            <summary>
            The nsIDOMWindow that the document resides in.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetParentDocumentAttribute">
            <summary>
            Return the parent document accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetChildDocumentCountAttribute">
            <summary>
            Return the count of child document accessibles.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetVirtualCursorAttribute">
            <summary>
            The virtual cursor pivot this document manages.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleDocument.GetChildDocumentAt(System.UInt32)">
            <summary>
            Return the child document accessible at the given index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEditableText.SetTextContents(Gecko.nsAStringBase)">
            <summary>
            Replaces the text represented by this object by the given text.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEditableText.InsertText(Gecko.nsAStringBase,System.Int32)">
            <summary>
            Inserts text at the specified position.
            </summary>
            <param name="text">
            - text that is inserted.
            </param>
            <param name="position">
            - index at which to insert the text.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEditableText.CopyText(System.Int32,System.Int32)">
            <summary>
            Copies the text range into the clipboard.
            </summary>
            <param name="startPos">
            - start index of the text to moved into the clipboard.
            </param>
            <param name="endPos">
            - end index of the text to moved into the clipboard.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEditableText.CutText(System.Int32,System.Int32)">
            <summary>
            Deletes a range of text and copies it to the clipboard.
            </summary>
            <param name="startPos">
            - start index of the text to be deleted.
            </param>
            <param name="endOffset">
            - end index of the text to be deleted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEditableText.DeleteText(System.Int32,System.Int32)">
            <summary>
            Deletes a range of text.
            </summary>
            <param name="startPos">
            - start index of the text to be deleted.
            </param>
            <param name="endPos">
            - end index of the text to be deleted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleEditableText.PasteText(System.Int32)">
            <summary>
            Pastes text from the clipboard.
            </summary>
            <param name="position">
            - index at which to insert the text from the system
            clipboard into the text represented by this object.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleHideEvent">
            <summary>
            Fired when a accessible and its subtree are removed from the tree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetTargetParentAttribute">
            <summary>
            Return an accessible that was a parent of the target.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetTargetNextSiblingAttribute">
            <summary>
            Return an accessible that was a next sibling of the target
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHideEvent.GetTargetPrevSiblingAttribute">
            <summary>
            Return an accessible that was a parent of the target
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleHyperLink">
            <summary>
            A cross-platform interface that supports hyperlink-specific properties and
            methods.  Anchors, image maps, xul:labels with class=&quot;text-link&quot; implement this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperLink.GetStartIndexAttribute">
            <summary>
            Returns the offset of the link within the parent accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperLink.GetEndIndexAttribute">
            <summary>
            Returns the end index of the link within the parent accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperLink.GetValidAttribute">
            <summary>
            Determines whether the link is valid (e. g. points to a valid URL).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperLink.GetAnchorCountAttribute">
            <summary>
            The numbber of anchors within this Hyperlink. Is normally 1 for anchors.
            This anchor is, for example, the visible output of the html:a tag.
            With an Image Map, reflects the actual areas within the map.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperLink.GetURI(System.Int32)">
            <summary>
            Returns the URI at the given index.
            </summary>
            <param name="index">
            The 0-based index of the URI to be returned.
            </param>
            <returns>
            the nsIURI object containing the specifications for the URI.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperLink.GetAnchor(System.Int32)">
            <summary>
            Returns a reference to the object at the given index.
            </summary>
            <param name="index">
            The 0-based index whose object is to be returned.
            </param>
            <returns>
            the nsIAccessible object at the desired index.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleHyperText">
            <summary>
            A cross-platform interface that deals with text which contains hyperlinks.
            Each link is an embedded object representing exactly 1 character within
            the hypertext.
            
            Current implementation assumes every embedded object is a link.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperText.GetLinkCountAttribute">
            <summary>
            Return the number of links contained within this hypertext object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperText.GetLinkAt(System.Int32)">
            <summary>
            Return link accessible at the given index.
            </summary>
            <param name="index">
            [in] 0-based index of the link that is to be retrieved
            </param>
            <returns>
            link accessible or null if there is no link at that index
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleHyperText.GetLinkIndex(Gecko.Interfaces.nsIAccessibleHyperLink)">
            <summary>
            Return index of the given link.
            </summary>
            <param name="link">
            [in] link accessible the index is requested for
            </param>
            <returns>
            index of the given link or null if there&apos;s no link within
            hypertext accessible
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleImage.GetImagePosition(System.UInt32,System.Int32@,System.Int32@)">
            <summary>
            Returns the coordinates of the image.
            </summary>
            <param name="coordType">
            specifies coordinates origin (for available constants
            refer to nsIAccessibleCoordinateType)
            </param>
            <param name="x">
            the x coordinate
            </param>
            <param name="y">
            the y coordinate
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleImage.GetImageSize(System.Int32@,System.Int32@)">
            <summary>
            Returns the size of the image.
            </summary>
            <param name="width">
            the heigth
            </param>
            <param name="height">
            the width
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleObjectAttributeChangedEvent">
            <summary>
            Fired when an attribute of an accessible changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleObjectAttributeChangedEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleObjectAttributeChangedEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleObjectAttributeChangedEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleObjectAttributeChangedEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleObjectAttributeChangedEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleObjectAttributeChangedEvent.GetChangedAttributeAttribute">
            <summary>
            Return the accessible attribute that changed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessiblePivot">
            <summary>
            The pivot interface encapsulates a reference to a single place in an accessible
            subtree. The pivot is a point or a range in the accessible tree. This interface
            provides traversal methods to move the pivot to next/prev state that complies
            to a given rule.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.GetPositionAttribute">
            <summary>
            The accessible the pivot is currently pointed at.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.GetRootAttribute">
            <summary>
            The root of the subtree in which the pivot traverses.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.GetModalRootAttribute">
            <summary>
            The temporary modal root to which traversal is limited to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.GetStartOffsetAttribute">
            <summary>
            The start offset of the text range the pivot points at, otherwise -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.GetEndOffsetAttribute">
            <summary>
            The end offset of the text range the pivot points at, otherwise -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.SetTextRange(Gecko.Interfaces.nsIAccessibleText,System.Int32,System.Int32,System.Boolean,System.Byte)">
            <summary>
            Set the pivot's text range in a text accessible.
            </summary>
            <param name="aTextAccessible">
            [in] the text accessible that contains the desired
            range.
            </param>
            <param name="aStartOffset">
            [in] the start offset to set.
            </param>
            <param name="aEndOffset">
            [in] the end offset to set.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: when the offset exceeds the accessible's
            character count.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.MoveNext(Gecko.Interfaces.nsIAccessibleTraversalRule,Gecko.Interfaces.nsIAccessible,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            Move pivot to next object, from current position or given anchor,
            complying to given traversal rule.
            </summary>
            <param name="aRule">
            [in] traversal rule to use.
            </param>
            <param name="aAnchor">
            [in] accessible to start search from, if not provided,
            current position will be used.
            </param>
            <param name="aIncludeStart">
            [in] include anchor accessible in search.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
            <returns>
            true on success, false if there are no new nodes to traverse to.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.MovePrevious(Gecko.Interfaces.nsIAccessibleTraversalRule,Gecko.Interfaces.nsIAccessible,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            Move pivot to previous object, from current position or given anchor,
            complying to given traversal rule.
            </summary>
            <param name="aRule">
            [in] traversal rule to use.
            </param>
            <param name="aAnchor">
            [in] accessible to start search from, if not provided,
            current position will be used.
            </param>
            <param name="aIncludeStart">
            [in] include anchor accessible in search.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
            <returns>
            true on success, false if there are no new nodes to traverse to.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.MoveFirst(Gecko.Interfaces.nsIAccessibleTraversalRule,System.Boolean,System.Byte)">
            <summary>
            Move pivot to first object in subtree complying to given traversal rule.
            </summary>
            <param name="aRule">
            [in] traversal rule to use.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
            <returns>
            true on success, false if there are no new nodes to traverse to.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.MoveLast(Gecko.Interfaces.nsIAccessibleTraversalRule,System.Boolean,System.Byte)">
            <summary>
            Move pivot to last object in subtree complying to given traversal rule.
            </summary>
            <param name="aRule">
            [in] traversal rule to use.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.MoveNextByText(System.Int16,System.Boolean,System.Byte)">
            <summary>
            Move pivot to next text range.
            </summary>
            <param name="aBoundary">
            [in] type of boundary for next text range,
            character, word, etc.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
            <returns>
            true on success, false if there are is no more text.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.MovePreviousByText(System.Int16,System.Boolean,System.Byte)">
            <summary>
            Move pivot to previous text range.
            </summary>
            <param name="aBoundary">
            [in] type of boundary for next text range,
            character, word, etc.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
            <returns>
            true on success, false if there are is no more text.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.MoveToPoint(Gecko.Interfaces.nsIAccessibleTraversalRule,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            Move pivot to given coordinate in screen pixels.
            </summary>
            <param name="aRule">
            [in]  raversal rule to use.
            </param>
            <param name="aX">
            [in]  screen&apos;s x coordinate
            </param>
            <param name="aY">
            [in]  screen&apos;s y coordinate
            </param>
            <param name="aIgnoreNoMatch">
            [in]  don&apos;t unset position if no object was found
            at point.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
            <returns>
            true on success, false if the pivot has not been moved.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.AddObserver(Gecko.Interfaces.nsIAccessiblePivotObserver)">
            <summary>
            Add an observer for pivot changes.
            </summary>
            <param name="aObserver">
            [in] the observer object to be notified of pivot changes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivot.RemoveObserver(Gecko.Interfaces.nsIAccessiblePivotObserver)">
            <summary>
            Remove an observer for pivot changes.
            </summary>
            <param name="aObserver">
            [in] the observer object to remove from being notified.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessiblePivotObserver">
            <summary>
            An observer interface for pivot changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessiblePivotObserver.OnPivotChanged(Gecko.Interfaces.nsIAccessiblePivot,Gecko.Interfaces.nsIAccessible,System.Int32,System.Int32,System.Int16,System.Boolean)">
            <summary>
            Called when the pivot changes.
            </summary>
            <param name="aPivot">
            [in] the pivot that has changed.
            </param>
            <param name="aOldAccessible">
            [in] the old pivot position before the change,
            or null.
            </param>
            <param name="aOldStart">
            [in] the old start offset, or -1.
            </param>
            <param name="aOldEnd">
            [in] the old end offset, or -1.
            </param>
            <param name="aReason">
            [in] the reason for the pivot change.
            </param>
            <param name="aIsFromUserInput">
            [in] the pivot changed because of direct user input
            (default is true).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTraversalRule.GetPreFilterAttribute">
            <summary>
            Pre-filter bitfield to filter out obviously ignorable nodes and lighten
            the load on match().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTraversalRule.GetMatchRoles(System.IntPtr@,System.UInt32@)">
            <summary>
            Retrieve a list of roles that the traversal rule should test for. Any node
            with a role not in this list will automatically be ignored. An empty list
            will match all roles. It should be assumed that this method is called once
            at the start of a traversal, so changing the method&apos;s return result after
            that would have no affect.
            </summary>
            <param name="aRoles">
            [out] an array of the roles to match.
            </param>
            <param name="aCount">
            [out] the length of the array.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTraversalRule.Match(Gecko.Interfaces.nsIAccessible)">
            <summary>
            Determines if a given accessible is to be accepted in our traversal rule
            </summary>
            <param name="aAccessible">
            [in] accessible to examine.
            </param>
            <returns>
            a bitfield of FILTER_MATCH and FILTER_IGNORE_SUBTREE.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleRelation">
            <summary>
            This interface gives access to an accessible&apos;s set of relations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRelation.GetRelationTypeAttribute">
            <summary>
            Returns the type of the relation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRelation.GetTargetsCountAttribute">
            <summary>
            Returns the number of targets for this relation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRelation.GetTarget(System.UInt32)">
            <summary>
            Returns one accessible relation target.
            </summary>
            <param name="index">
            - 0 based index of relation target.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleRelation.GetTargets">
            <summary>
            Returns multiple accessible relation targets.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleRole">
            <summary>
            Defines cross platform (Gecko) roles.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleSelectable">
            <summary>
            An accessibility interface for selectable widgets.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.GetSelectedItemsAttribute">
            <summary>
            Return an nsIArray of selected items within the widget.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.GetSelectedItemCountAttribute">
            <summary>
            Return the number of currently selected items.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.GetSelectedItemAt(System.UInt32)">
            <summary>
            Return a nth selected item within the widget.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.IsItemSelected(System.UInt32)">
            <summary>
            Return true if the given item is selected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.AddItemToSelection(System.UInt32)">
            <summary>
            Adds the specified item to the widget&apos;s selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.RemoveItemFromSelection(System.UInt32)">
            <summary>
            Removes the specified item from the widget&apos;s selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.SelectAll">
            <summary>
            Select all items.
            </summary>
            <returns>
            false if the object does not accept multiple selection,
            otherwise true.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleSelectable.UnselectAll">
            <summary>
            Unselect all items.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleStateChangeEvent">
            <summary>
            Fired when a state of an accessible changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetStateAttribute">
            <summary>
            Returns the state of accessible (see constants declared
            in nsIAccessibleStates).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetIsExtraStateAttribute">
            <summary>
            Returns true if the state is extra state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleStateChangeEvent.GetIsEnabledAttribute">
            <summary>
            Returns true if the state is turned on.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetCaptionAttribute">
            <summary>
            Return the caption accessible for the table. For example, html:caption
            element of html:table element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSummaryAttribute(Gecko.nsAStringBase)">
            <summary>
            Return summary description for the table. For example, @summary attribute
            on html:table element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetColumnCountAttribute">
            <summary>
            Return columns count in the table.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetRowCountAttribute">
            <summary>
            Return rows count in the table.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetCellAt(System.Int32,System.Int32)">
            <summary>
            Return the accessible object at the specified row and column in the table.
            If both row and column index are valid then the corresponding accessible
            object is returned that represents the requested cell regardless of whether
            the cell is currently visible (on the screen).
            </summary>
            <param name="rowIndex">
            [in] the row index to retrieve the cell at
            </param>
            <param name="columnIndex">
            [in] the column index to retrieve the cell at
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetCellIndexAt(System.Int32,System.Int32)">
            <summary>
            Translate the given row and column indices into the corresponding cell
            index.
            </summary>
            <param name="rowIndex">
            [in] the row index to return cell index at
            </param>
            <param name="columnIndex">
            [in] the column index to return cell index at
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetColumnIndexAt(System.Int32)">
            <summary>
            Translate the given cell index into the corresponding column index.
            </summary>
            <param name="cellIndex">
            [in] index of the table cell to return column index for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetRowIndexAt(System.Int32)">
            <summary>
            Translate the given cell index into the corresponding row index.
            </summary>
            <param name="cellIndex">
            [in] index of the table cell to return row index for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetRowAndColumnIndicesAt(System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Translate the given cell index into the corresponding row and column
            indices.
            </summary>
            <param name="cellIndex">
            [in] cell index to return row and column indices for
            </param>
            <param name="rowIndex">
            [out] row index at the given cell index
            </param>
            <param name="columnIndex">
            [out] column index at the given cell index
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetColumnExtentAt(System.Int32,System.Int32)">
            <summary>
            Return the number of columns occupied by the accessible cell at
            the specified row and column in the table. The result differs from 1 if
            the specified cell spans multiple columns.
            </summary>
            <param name="row">
            [in] row index of the cell to return the column extent for
            </param>
            <param name="column">
            [in] column index of the cell to return the column extent
            for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetRowExtentAt(System.Int32,System.Int32)">
            <summary>
            Return the number of rows occupied by the accessible cell at the specified
            row and column in the table. The result differs from 1 if the specified
            cell spans multiple rows.
            </summary>
            <param name="row">
            [in] row index of the cell to return the column extent for
            </param>
            <param name="column">
            [in] column index of the cell to return the column extent
            for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetColumnDescription(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Return the description text of the specified column in the table.
            </summary>
            <param name="columnIndex">
            [in] the column index to retrieve description for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetRowDescription(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Return the description text of the specified row in the table.
            </summary>
            <param name="rowIndex">
            [in] the row index to retrieve description for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.IsColumnSelected(System.Int32)">
            <summary>
            Return a boolean value indicating whether the specified column is
            selected, i.e. all cells within the column are selected.
            </summary>
            <param name="columnIndex">
            [in] the column index to determine if it&apos;s selected
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.IsRowSelected(System.Int32)">
            <summary>
            Return a boolean value indicating whether the specified row is selected,
            i.e. all cells within the row are selected.
            </summary>
            <param name="rowIndex">
            [in] the row index to determine whether it&apos;s selected
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.IsCellSelected(System.Int32,System.Int32)">
            <summary>
            Return a boolean value indicating whether the specified cell is selected.
            </summary>
            <param name="rowIndex">
            [in] the row index of the cell
            </param>
            <param name="columnIndex">
            [in] the column index of the cell
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSelectedCellCountAttribute">
            <summary>
            Return the total number of selected cells.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSelectedColumnCountAttribute">
            <summary>
            Return the total number of selected columns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSelectedRowCountAttribute">
            <summary>
            Return the total number of selected rows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSelectedCellsAttribute">
            <summary>
            Return an array of selected cells.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSelectedCellIndices(System.UInt32@,System.IntPtr@)">
            <summary>
            Return an array of cell indices currently selected.
            </summary>
            <param name="cellsArraySize">
            [in] length of array
            </param>
            <param name="cellsArray">
            [in] array of indexes of selected cells
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSelectedColumnIndices(System.UInt32@,System.IntPtr@)">
            <summary>
            Return an array of column indices currently selected.
            </summary>
            <param name="columnsArraySize">
            [in] length of array
            </param>
            <param name="columnsArray">
            [in] array of indices of selected columns
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.GetSelectedRowIndices(System.UInt32@,System.IntPtr@)">
            <summary>
            Return an array of row indices currently selected.
            </summary>
            <param name="rowsArraySize">
            [in] Length of array
            </param>
            <param name="rowsArray">
            [in] array of indices of selected rows
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.SelectRow(System.Int32)">
            <summary>
            Select a row and unselects all previously selected rows.
            </summary>
            <param name="rowIndex">
            [in] the row index to select
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.SelectColumn(System.Int32)">
            <summary>
            Select a column and unselects all previously selected columns.
            </summary>
            <param name="columnIndex">
            [in] the column index to select
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.UnselectRow(System.Int32)">
            <summary>
            Unselect the given row, leaving other selected rows selected (if any).
            </summary>
            <param name="rowIndex">
            [in] the row index to select
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.UnselectColumn(System.Int32)">
            <summary>
            Unselect the given column, leaving other selected columns selected (if any).
            </summary>
            <param name="columnIndex">
            [in] the column index to select
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTable.IsProbablyForLayout">
            <summary>
            Use heuristics to determine if table is most likely used for layout.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.GetTableAttribute">
            <summary>
            Return host table accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.GetColumnIndexAttribute">
            <summary>
            Return column index of this cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.GetRowIndexAttribute">
            <summary>
            Return row index of this cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.GetColumnExtentAttribute">
            <summary>
            Return the number of columns occupied by this cell. The result differs
            from 1 if the specified cell spans multiple columns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.GetRowExtentAttribute">
            <summary>
            Return the number of rows occupied by this accessible cell. The result
            differs from 1 if the specified cell spans multiple rows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.GetColumnHeaderCellsAttribute">
            <summary>
            Return an array of column header cells for this cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.GetRowHeaderCellsAttribute">
            <summary>
            Return an array of row header cells for this cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableCell.IsSelected">
            <summary>
            Return a boolean value indicating whether this cell is selected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableChangeEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableChangeEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableChangeEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableChangeEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableChangeEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableChangeEvent.GetRowOrColIndexAttribute">
            <summary>
            Return the row or column index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTableChangeEvent.GetRowsOrColsCountAttribute">
            <summary>
            Return the number of rows or cols
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetCaretOffsetAttribute">
            <summary>
            The current current caret offset.
            If set &lt; 0 then caret will be placed  at the end of the text
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetText(System.Int32,System.Int32,Gecko.nsAStringBase)">
            <summary>
            String methods may need to return multibyte-encoded strings,
            since some locales can&apos;t be encoded using 16-bit chars.
            So the methods below might return UTF-16 strings, or they could
            return &quot;string&quot; values which are UTF-8.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetCharacterAtOffset(System.Int32)">
            <summary>
            It would be better to return an unsigned long here,
            to allow unicode chars &gt; 16 bits
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetTextAttributes(System.Boolean,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Get the accessible start/end offsets around the given offset,
            return the text attributes for this range of text.
            </summary>
            <param name="includeDefAttrs">
            [in] points whether text attributes applied to
            the entire accessible should be included or not.
            </param>
            <param name="offset">
            [in] text offset
            </param>
            <param name="rangeStartOffset">
            [out] start offset of the range of text
            </param>
            <param name="rangeEndOffset">
            [out] end offset of the range of text
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetDefaultTextAttributesAttribute">
            <summary>
            Return the text attributes that apply to the entire accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetCharacterExtents(System.Int32,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.UInt32)">
            <summary>
            Returns the bounding box of the specified position.
            
            The virtual character after the last character of the represented text,
            i.e. the one at position length is a special case. It represents the
            current input position and will therefore typically be queried by AT more
            often than other positions. Because it does not represent an existing
            character its bounding box is defined in relation to preceding characters.
            It should be roughly equivalent to the bounding box of some character when
            inserted at the end of the text. Its height typically being the maximal
            height of all the characters in the text or the height of the preceding
            character, its width being at least one pixel so that the bounding box is
            not degenerate.
            </summary>
            <param name="offset">
            - Index of the character for which to return its bounding
            box. The valid range is 0..length.
            </param>
            <param name="x">
            - X coordinate of the bounding box of the referenced character.
            </param>
            <param name="y">
            - Y coordinate of the bounding box of the referenced character.
            </param>
            <param name="width">
            - Width of the bounding box of the referenced character.
            </param>
            <param name="height">
            - Height of the bounding box of the referenced character.
            </param>
            <param name="coordType">
            - Specifies if the coordinates are relative to the screen
            or to the parent window (see constants declared in
            nsIAccessibleCoordinateType).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetOffsetAtPoint(System.Int32,System.Int32,System.UInt32)">
            <summary>
            Get the text offset at the given point, or return -1
            if no character exists at that point
            </summary>
            <param name="x">
            - The position&apos;s x value for which to look up the index of the
            character that is rendered on to the display at that point.
            </param>
            <param name="y">
            - The position&apos;s y value for which to look up the index of the
            character that is rendered on to the display at that point.
            </param>
            <param name="coordType">
            - Screen coordinates or window coordinates (see constants
            declared in nsIAccessibleCoordinateType).
            </param>
            <returns>
            offset - Index of the character under the given point or -1 if
            the point is invalid or there is no character under
            the point.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.SetSelectionBounds(System.Int32,System.Int32,System.Int32)">
            <summary>
            Set the bounds for the given selection range
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.ScrollSubstringTo(System.Int32,System.Int32,System.UInt32)">
            <summary>
            Makes a specific part of string visible on screen.
            </summary>
            <param name="startIndex">
            0-based character offset
            </param>
            <param name="endIndex">
            0-based character offset - the offset of the
            character just past the last character of the
            string
            </param>
            <param name="scrollType">
            defines how to scroll (see nsIAccessibleScrollType for
            available constants)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.ScrollSubstringToPoint(System.Int32,System.Int32,System.UInt32,System.Int32,System.Int32)">
            <summary>
            Moves the top left of a substring to a specified location.
            </summary>
            <param name="startIndex">
            0-based character offset
            </param>
            <param name="endIndex">
            0-based character offset - the offset of the
            character just past the last character of
            the string
            </param>
            <param name="coordinateType">
            specifies the coordinates origin (for available
            constants refer to nsIAccessibleCoordinateType)
            </param>
            <param name="x">
            defines the x coordinate
            </param>
            <param name="y">
            defines the y coordinate
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetEnclosingRangeAttribute">
            <summary>
            Return a range that encloses this text control or otherwise the document
            this text accessible belongs to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetSelectionRangesAttribute">
            <summary>
            Return an array of disjoint ranges for selected text within the text control
            or otherwise the document this accessible belongs to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetVisibleRangesAttribute">
            <summary>
            Return an array of disjoint ranges of visible text within the text control
            or otherwise the document this accessible belongs to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetRangeByChild(Gecko.Interfaces.nsIAccessible)">
            <summary>
            Return a range containing the given accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleText.GetRangeAtPoint(System.Int32,System.Int32)">
            <summary>
            Return a range containing an accessible at the given point.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleTextChangeEvent">
            <summary>
            Fired when an accessible&apos;s text changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetStartAttribute">
            <summary>
            Returns offset of changed text in accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetLengthAttribute">
            <summary>
            Returns length of changed text.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetIsInsertedAttribute">
            <summary>
            Returns true if text was inserted, otherwise false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextChangeEvent.GetModifiedTextAttribute(Gecko.nsAStringBase)">
            <summary>
            The inserted or removed text
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleTextRange">
            <summary>
            A range representing a piece of text in the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.GetContainerAttribute">
            <summary>
            Return an accessible containing the whole range
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.GetEmbeddedChildrenAttribute">
            <summary>
            Return embedded children within the range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.Compare(Gecko.Interfaces.nsIAccessibleTextRange)">
            <summary>
            Return true if this range has the same end points of the given range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.CompareEndPoints(System.UInt32,Gecko.Interfaces.nsIAccessibleTextRange,System.UInt32)">
            <summary>
            Compare this and given ranges end points.
            </summary>
            <returns>
            -1/0/1 if this range end point is before/equal/after the given
            range end point.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.GetTextAttribute(Gecko.nsAStringBase)">
            <summary>
            Return text within the range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.GetBoundsAttribute">
            <summary>
            Return list of rects of the range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.Move(System.UInt32,System.Int32)">
            <summary>
            Move the boundary(ies) by the given number of the unit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.Normalize(System.UInt32)">
            <summary>
            Normalize the range to the closest unit of the given type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.Crop(Gecko.Interfaces.nsIAccessible)">
            <summary>
            Crops the range by the given accessible element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.FindText(Gecko.nsAStringBase,System.Boolean,System.Boolean)">
            <summary>
            Return range enclosing the found text.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.FindAttr(System.UInt32,Gecko.Interfaces.nsIVariant,System.Boolean)">
            <summary>
            Return range enslosing the text having requested attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.AddToSelection">
            <summary>
            Add/remove the text range from selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleTextRange.ScrollIntoView(System.UInt32)">
            <summary>
            Scroll the range into view.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleScrollType">
            <summary>
            These constants control the scrolling of an object or substring into a
            window. Note, keep them synchronized with IA2ScrollType.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAccessibleCoordinateType">
            <summary>
            These constants define which coordinate system a point is located in.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetEventTypeAttribute">
            <summary>
            The type of event, based on the enumerated event values
            defined in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetAccessibleAttribute">
            <summary>
            The nsIAccessible associated with the event.
            May return null if no accessible is available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetAccessibleDocumentAttribute">
            <summary>
            The nsIAccessibleDocument that the event target nsIAccessible
            resides in. This can be used to get the DOM window,
            the DOM document and the window handler, among other things.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetDOMNodeAttribute">
            <summary>
            The nsIDOMNode associated with the event
            May return null if accessible for event has been shut down
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetIsFromUserInputAttribute">
            <summary>
            Returns true if the event was caused by explicit user input,
            as opposed to purely originating from a timer or mouse movement
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetOldAccessibleAttribute">
            <summary>
            Previous object pointed at by virtual cursor. null if none.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetOldStartOffsetAttribute">
            <summary>
            Previous start offset of pivot. -1 if none.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetOldEndOffsetAttribute">
            <summary>
            Previous end offset of pivot. -1 if none.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAccessibleVirtualCursorChangeEvent.GetReasonAttribute">
            <summary>
            Reason for virtual cursor move.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAddonInterposition">
            <summary>
            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&apos;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.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonInterposition.InterposeProperty(SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.UUID,SpiderMonkey.JSVal@)">
            <summary>
            Returns a replacement property descriptor for a browser object.
            </summary>
            <param name="addonId">
            The ID of the add-on accessing the property.
            </param>
            <param name="target">
            The browser object being accessed.
            </param>
            <param name="iface">
            The IID of the interface the property is associated with. This
            parameter is only available for XPCWrappedNative targets. As
            such, it&apos;s only useful as an optimization to avoid
            instanceof checks on the target.
            </param>
            <param name="prop">
            The name of the property being accessed.
            </param>
            <returns>
            A property descriptor or null.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonInterposition.InterposeCall(SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@)">
            <summary>
            We&apos;re intercepting calls from add-ons scopes into non-addon scopes.
            </summary>
            <param name="addonId">
            The ID of the add-on accessing the property.
            </param>
            <param name="originalFunc">
            The function object being intercepted.
            </param>
            <param name="originalThis">
            The |this| value for the intercepted call.
            </param>
            <param name="args">
            The arguments of the original call in an array.
            </param>
            <returns>
            The result of the call. NOTE: after the call interception,
            the original function will not be called automatically, so the
            implementer has to do that.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonInterposition.GetWhitelist">
            <summary>
            For the first time when the interposition is registered the engine
            calls getWhitelist and expects an array of strings. The strings are
            the name of properties the interposition wants interposeProperty
            to be called. It can be an empty array.
            Note: for CPOWs interposeProperty is always called regardless if
            the name of the property is on the whitelist or not.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAddonPolicyService">
            <summary>
            This interface allows the security manager to query custom per-addon security
            policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.GetBaseCSPAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the base content security policy, which is applied to all
            extension documents, in addition to any custom policies.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.GetDefaultCSPAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the default content security policy which applies to extension
            documents which do not specify any custom policies.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.GetAddonCSP(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Returns the content security policy which applies to documents belonging
            to the extension with the given ID. This may be either a custom policy,
            if one was supplied, or the default policy if one was not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.GetGeneratedBackgroundPageUrl(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Returns the generated background page as a data-URI, if any. If the addon
            does not have an auto-generated background page, an empty string is
            returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.AddonHasPermission(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Returns true if the addon was granted the |aPerm| API permission.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.AddonMayLoadURI(Gecko.nsAStringBase,Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if unprivileged code associated with the given addon may load
            data from |aURI|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.ExtensionURILoadableByAnyone(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if a given extension:// URI is web-accessible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonPolicyService.ExtensionURIToAddonId(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase)">
            <summary>
            Maps an extension URI to the ID of the addon it belongs to.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAddonContentPolicy">
            <summary>
            This interface exposes functionality related to add-on content policy
            enforcement.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAddonContentPolicy.ValidateAddonCSP(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Checks a custom content security policy string, to ensure that it meets
            minimum security requirements. Returns null for valid policies, or a
            string describing the error for invalid policies.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotificationImageListener.OnImageReady(Gecko.Interfaces.nsISupports,Gecko.Interfaces.imgIRequest)">
            <summary>
            Called when the image finishes loading.
            </summary>
            <param name="aUserData">
            An opaque parameter passed to |loadImage|.
            </param>
            <param name="aRequest">
            The image request.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotificationImageListener.OnImageMissing(Gecko.Interfaces.nsISupports)">
            <summary>
            Called if the alert doesn&apos;t have an image, or if the image request times
            out or fails.
            </summary>
            <param name="aUserData">
            An opaque parameter passed to |loadImage|.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.Init(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal,System.Boolean,System.Boolean)">
            <summary>
            Initializes an alert notification.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the notification. On Android, the name is hashed and used as
            a notification ID. Notifications will replace previous notifications with
            the same name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetImageURLAttribute(Gecko.nsAStringBase)">
            <summary>
            A URL identifying the image to put in the alert. The OS X backend limits
            the amount of time it will wait for the image to load to six seconds. After
            that time, the alert will show without an image.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            The title for the alert.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetTextAttribute(Gecko.nsAStringBase)">
            <summary>
            The contents of the alert.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetTextClickableAttribute">
            <summary>
            Controls the click behavior. If true, the alert listener will be notified
            when the user clicks on the alert.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetCookieAttribute(Gecko.nsAStringBase)">
            <summary>
            An opaque cookie that will be passed to the alert listener for each
            callback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetDirAttribute(Gecko.nsAStringBase)">
            <summary>
            Bidi override for the title and contents. Valid values are &quot;auto&quot;, &quot;ltr&quot;,
            or &quot;rtl&quot;. Ignored if the backend doesn&apos;t support localization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetLangAttribute(Gecko.nsAStringBase)">
            <summary>
            Language of the title and text. Ignored if the backend doesn&apos;t support
            localization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetDataAttribute(Gecko.nsAStringBase)">
            <summary>
            A Base64-encoded structured clone buffer containing data associated with
            this alert. Only used for web notifications. Chrome callers should use a
            cookie instead.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetPrincipalAttribute">
            <summary>
            The principal of the page that created the alert. Used for IPC security
            checks, and to determine whether the alert is actionable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetURIAttribute">
            <summary>
            The URI of the page that created the alert. |null| if the alert is not
            actionable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetInPrivateBrowsingAttribute">
            <summary>
            Controls the image loading behavior. If true, the image request will be
            loaded anonymously (without cookies or authorization tokens).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetRequireInteractionAttribute">
            <summary>
            Indicates that the notification should remain readily available until
            the user activates or dismisses the notification.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetActionableAttribute">
            <summary>
            Indicates whether this alert should show the source string and action
            buttons. False for system alerts (which can omit the principal), or
            expanded, system, and null principals.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.GetSourceAttribute(Gecko.nsAStringBase)">
            <summary>
            The host and port of the originating page, or an empty string if the alert
            is not actionable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertNotification.LoadImage(System.UInt32,Gecko.Interfaces.nsIAlertNotificationImageListener,Gecko.Interfaces.nsISupports)">
            <summary>
            Loads the image associated with this alert.
            </summary>
            <param name="aTimeout">
            The number of milliseconds to wait before cancelling the
            image request. If zero, there is no timeout.
            </param>
            <param name="aListener">
            An |nsIAlertNotificationImageListener| implementation,
            notified when the image loads. The listener is kept alive
            until the request completes.
            </param>
            <param name="aUserData">
            An opaque parameter passed to the listener&apos;s methods.
            Not used by the libnotify backend, but the OS X backend
            passes the pending notification.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertsService.ShowAlertNotification(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean,Gecko.nsAStringBase,Gecko.Interfaces.nsIObserver,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal,System.Boolean,System.Boolean)">
            <summary>
            Initializes and shows an |nsIAlertNotification| with the given parameters.
            </summary>
            <param name="aAlertListener">
            Used for callbacks. May be null if the caller
            doesn't care about callbacks.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: If the notification cannot be displayed.
            
            The following arguments will be passed to the alertListener's observe()
            method:
            subject - null
            topic   - "alertfinished" when the alert goes away
            "alertdisablecallback" when alerts should be disabled for the principal
            "alertsettingscallback" when alert settings should be opened
            "alertclickcallback" when the text is clicked
            "alertshow" when the alert is shown
            data    - the value of the cookie parameter passed to showAlertNotification.
            </exception>
            <remarks>
            See nsIAlertNotification for descriptions of all other parameters.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertsService.CloseAlert(Gecko.nsAStringBase,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Close alerts created by the service.
            </summary>
            <param name="aName">
            The name of the notification to close. If no name
            is provided then only a notification created with
            no name (if any) will be closed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertsDoNotDisturb.GetManualDoNotDisturbAttribute">
            <summary>
            Toggles a manual Do Not Disturb mode for the service to reduce the amount
            of disruption that alerts cause the user.
            This may mean only displaying them in a notification tray/center or not
            displaying them at all. If a system backend already supports a similar
            feature controlled by the user, enabling this may not have any impact on
            code to show an alert. e.g. on OS X, the system will take care not
            disrupting a user if we simply create a notification like usual.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertsIconData.ShowAlertWithIconData(Gecko.Interfaces.nsIAlertNotification,Gecko.Interfaces.nsIObserver,System.UInt32,System.Byte[])">
            <summary>
            Shows an alert with an icon. Web notifications use the favicon of the
            page that created the alert. If the favicon is not in the Places database,
            |aIconSize| will be zero.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAlertsIconURI.ShowAlertWithIconURI(Gecko.Interfaces.nsIAlertNotification,Gecko.Interfaces.nsIObserver,Gecko.Interfaces.nsIURI)">
            <summary>
            Shows an alert with an icon URI. Web notifications use |moz-anno:|
            URIs to reference favicons from Places. If the page doesn&apos;t have a
            favicon, |aIconURI| will be |null|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationObserver.OnPageAnnotationSet(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Called when an annotation value is set. It could be a new annotation,
            or it could be a new value for an existing annotation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationObserver.OnPageAnnotationRemoved(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Called when an annotation is deleted. If aName is empty, then ALL
            annotations for the given URI have been deleted. This is not called when
            annotations are expired (normally happens when the app exits).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.SetPageAnnotation(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIVariant,System.Int32,System.UInt16)">
            <summary>
            Sets an annotation, overwriting any previous annotation with the same
            URL/name. IT IS YOUR JOB TO NAMESPACE YOUR ANNOTATION NAMES.
            Use the form "namespace/value", so your name would be like
            "bills_extension/page_state" or "history/thumbnail".
            
            Do not use characters that are not valid in URLs such as spaces, ":",
            commas, or most other symbols. You should stick to ASCII letters and
            numbers plus "_", "-", and "/".
            
            aExpiration is one of EXPIRE_* above. aFlags should be 0 for now, some
            flags will be defined in the future.
            
            NOTE: ALL PAGE ANNOTATIONS WILL GET DELETED WHEN THE PAGE IS REMOVED FROM
            HISTORY IF THE PAGE IS NOT BOOKMARKED. This means that if you create an
            annotation on an unvisited URI, it will get deleted when the browser
            shuts down. Otherwise, URIs can exist in history as annotations but the
            user has no way of knowing it, potentially violating their privacy
            expectations about actions such as "Clear history".
            If there is an important annotation that the user or extension wants to
            keep, you should add a bookmark for the page and use an EXPIRE_NEVER
            annotation.  This will ensure the annotation exists until the item is
            removed by the user.
            See EXPIRE_* constants above for further information.
            
            For item annotations, aSource should be a change source constant from
            nsINavBookmarksService::SOURCE_*, and defaults to SOURCE_DEFAULT if
            omitted.
            
            The annotation "favicon" is special. Favicons are stored in the favicon
            service, but are special cased in the protocol handler so they look like
            annotations. Do not set favicons using this service, it will not work.
            
            Only C++ consumers may use the type-specific methods.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if the page or the bookmark doesn't exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.SetPageAnnotationString(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,Gecko.nsAStringBase,System.Int32,System.UInt16)">
            <summary>
            
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if the page or the bookmark doesn't exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.SetPageAnnotationInt32(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,System.Int32,System.Int32,System.UInt16)">
            <summary>
            Sets an annotation just like setAnnotationString, but takes an Int32 as
            input.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if the page or the bookmark doesn't exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.SetPageAnnotationInt64(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,System.Int64,System.Int32,System.UInt16)">
            <summary>
            Sets an annotation just like setAnnotationString, but takes an Int64 as
            input.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if the page or the bookmark doesn't exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.SetPageAnnotationDouble(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,System.Double,System.Int32,System.UInt16)">
            <summary>
            Sets an annotation just like setAnnotationString, but takes a double as
            input.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if the page or the bookmark doesn't exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotation(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Retrieves the value of a given annotation. Throws an error if the
            annotation does not exist. C++ consumers may use the type-specific
            methods.
            
            The type-specific methods throw if the given annotation is set in
            a different type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotationString(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See getPageAnnotation
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotationInt32(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            
            </summary>
            <remarks>
            See getPageAnnotation
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotationInt64(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            
            </summary>
            <remarks>
            See getPageAnnotation
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotationDouble(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            
            </summary>
            <remarks>
            See getPageAnnotation
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotationInfo(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,System.Int32@,System.UInt16@,System.UInt16@)">
            <summary>
            Retrieves info about an existing annotation.
            
            aType will be one of TYPE_* constansts above
            
            example JS:
            var flags = {}, exp = {}, type = {};
            annotator.getAnnotationInfo(myURI, &quot;foo&quot;, flags, exp, type);
            now you can use &apos;exp.value&apos; and &apos;flags.value&apos;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotationType(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Retrieves the type of an existing annotation
            Use getAnnotationInfo if you need this along with the mime-type etc.
            </summary>
            <param name="aURI">
            the uri on which the annotation is set
            </param>
            <param name="aName">
            the annotation name
            </param>
            <returns>
            one of the TYPE_* constants above
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: the annotation is not set
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPagesWithAnnotation(Gecko.nsAUTF8StringBase,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns a list of all URIs having a given annotation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetAnnotationsWithName(Gecko.nsAUTF8StringBase,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns a list of mozIAnnotation(s), having a given annotation name.
            </summary>
            <param name="name">
            The annotation to search for.
            </param>
            <returns>
            list of mozIAnnotation objects.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.GetPageAnnotationNames(Gecko.Interfaces.nsIURI,System.UInt32@,System.IntPtr@)">
            <summary>
            Get the names of all annotations for this URI.
            
            example JS:
            var annotations = annotator.getPageAnnotations(myURI, {});
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.PageHasAnnotation(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Test for annotation existence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.RemovePageAnnotation(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Removes a specific annotation. Succeeds even if the annotation is
            not found.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.RemovePageAnnotations(Gecko.Interfaces.nsIURI)">
            <summary>
            Removes all annotations for the given page/item.
            We may want some other similar functions to get annotations with given
            flags (once we have flags defined).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.CopyPageAnnotations(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.Boolean)">
            <summary>
            Copies all annotations from the source to the destination URI/item. If
            the destination already has an annotation with the same name as one on
            the source, it will be overwritten if aOverwriteDest is set. Otherwise,
            the original annotation will be preferred.
            
            All the source annotations will stay as-is. If you don&apos;t want them
            any more, use removePageAnnotations on that URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.AddObserver(Gecko.Interfaces.nsIAnnotationObserver)">
            <summary>
            Adds an annotation observer. The annotation service will keep an owning
            reference to the observer object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAnnotationService.RemoveObserver(Gecko.Interfaces.nsIAnnotationObserver)">
            <summary>
            Removes an annotaton observer previously registered by addObserver.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.mozIAnnotatedResult">
            <summary>
            Represents a place annotated with a given annotation.  If a place has
            multiple annotations, it can be represented by multiple
            mozIAnnotatedResult(s).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIAnnotatedResult.GetGuidAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The globally unique identifier of the place with this annotation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIAnnotatedResult.GetUriAttribute">
            <summary>
            The URI of the place with this annotation, if available, null otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIAnnotatedResult.GetItemIdAttribute">
            <summary>
            The bookmark id of the place with this annotation, if available,
            -1 otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIAnnotatedResult.GetAnnotationNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Name of the annotation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.mozIAnnotatedResult.GetAnnotationValueAttribute">
            <summary>
            Value of the annotation.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIApplicationCacheNamespace">
            <summary>
            Application caches can store a set of namespace entries that affect
            loads from the application cache.  If a load from the cache fails
            to match an exact cache entry, namespaces entries will be searched
            for a substring match, and should be applied appropriately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheNamespace.Init(System.UInt32,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Initialize the namespace.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheNamespace.GetItemTypeAttribute">
            <summary>
            The namespace type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheNamespace.GetNamespaceSpecAttribute(Gecko.nsACStringBase)">
            <summary>
            The prefix of this namespace.  This should be the asciiSpec of the
            URI prefix.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheNamespace.GetDataAttribute(Gecko.nsACStringBase)">
            <summary>
            Data associated with this namespace, such as a fallback.  URI data should
            use the asciiSpec of the URI.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIApplicationCache">
            <summary>
            Application caches store resources for offline use.  Each
            application cache has a unique client ID for use with
            nsICacheService::openSession() to access the cache&apos;s entries.
            
            Each entry in the application cache can be marked with a set of
            types, as discussed in the WHAT-WG offline applications
            specification.
            
            All application caches with the same group ID belong to a cache
            group.  Each group has one &quot;active&quot; cache that will service future
            loads.  Inactive caches will be removed from the cache when they are
            no longer referenced.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.InitAsHandle(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Init this application cache instance to just hold the group ID and
            the client ID to work just as a handle to the real cache. Used on
            content process to simplify the application cache code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetManifestURIAttribute">
            <summary>
            URI of the manfiest specifying this application cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetGroupIDAttribute(Gecko.nsACStringBase)">
            <summary>
            The group ID for this cache group.  It is an internally generated string
            and cannot be used as manifest URL spec.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetClientIDAttribute(Gecko.nsACStringBase)">
            <summary>
            The client ID for this application cache.  Clients can open a
            session with nsICacheService::createSession() using this client
            ID and a storage policy of STORE_OFFLINE to access this cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetActiveAttribute">
            <summary>
            TRUE if the cache is the active cache for this group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetUsageAttribute">
            <summary>
            The disk usage of the application cache, in bytes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.Activate">
            <summary>
            Makes this cache the active application cache for this group.
            Future loads associated with this group will come from this
            cache.  Other caches from this cache group will be deactivated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.Discard">
            <summary>
            Discard this application cache.  Removes all cached resources
            for this cache.  If this is the active application cache for the
            group, the group will be removed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.MarkEntry(Gecko.nsACStringBase,System.UInt32)">
            <summary>
            Adds item types to a given entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.UnmarkEntry(Gecko.nsACStringBase,System.UInt32)">
            <summary>
            Removes types from a given entry.  If the resulting entry has
            no types left, the entry is removed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetTypes(Gecko.nsACStringBase)">
            <summary>
            Gets the types for a given entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GatherEntries(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns any entries in the application cache whose type matches
            one or more of the bits in typeBits.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.AddNamespaces(Gecko.Interfaces.nsIArray)">
            <summary>
            Add a set of namespace entries to the application cache.
            </summary>
            <param name="namespaces">
            An nsIArray of nsIApplicationCacheNamespace entries.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetMatchingNamespace(Gecko.nsACStringBase)">
            <summary>
            Get the most specific namespace matching a given key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCache.GetProfileDirectoryAttribute">
            <summary>
            If set, this offline cache is placed in a different directory
            than the current application profile.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIApplicationCacheChannel">
            <summary>
            Interface implemented by channels that support application caches.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIApplicationCacheContainer">
            <summary>
            Interface used by objects that can be associated with an
            application cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheChannel.GetLoadedFromApplicationCacheAttribute">
            <summary>
            TRUE when the resource came from the application cache. This
            might be false even there is assigned an application cache
            e.g. in case of fallback of load of an entry matching bypass
            namespace.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheChannel.GetInheritApplicationCacheAttribute">
            <summary>
            When true, the channel will ask its notification callbacks for
            an application cache if one is not explicitly provided.  Default
            value is true.
            
            NS_ERROR_ALREADY_OPENED will be thrown if set after AsyncOpen()
            is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheChannel.GetChooseApplicationCacheAttribute">
            <summary>
            When true, the channel will choose an application cache if one
            was not explicitly provided and none is available from the
            notification callbacks.  Default value is false.
            
            This attribute will not be transferred through a redirect.
            
            NS_ERROR_ALREADY_OPENED will be thrown if set after AsyncOpen()
            is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheChannel.MarkOfflineCacheEntryAsForeign">
            <summary>
            A shortcut method to mark the cache item of this channel as &apos;foreign&apos;.
            See the &apos;cache selection algorithm&apos; and CACHE_SELECTION_RELOAD
            action handling in nsContentSink.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheChannel.GetApplicationCacheForWriteAttribute">
            <summary>
            Set offline application cache object to instruct the channel
            to cache for offline use using this application cache.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIApplicationCacheService">
            <summary>
            The application cache service manages the set of application cache
            groups.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.BuildGroupIDForInfo(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadContextInfo,Gecko.nsACStringBase)">
            <summary>
            Create group string identifying cache group according the manifest
            URL and the given principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.CreateApplicationCache(Gecko.nsACStringBase)">
            <summary>
            Create a new, empty application cache for the given cache
            group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.CreateCustomApplicationCache(Gecko.nsACStringBase,Gecko.Interfaces.nsIFile,System.Int32)">
            <summary>
            Create a new, empty application cache for the given cache
            group residing in a custom directory with a custom quota.
            </summary>
            <param name="group">
            URL of the manifest
            </param>
            <param name="directory">
            Actually a reference to a profile directory where to
            create the OfflineCache sub-dir.
            </param>
            <param name="quota">
            Optional override of the default quota.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.GetApplicationCache(Gecko.nsACStringBase)">
            <summary>
            Get an application cache object for the given client ID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.GetActiveCache(Gecko.nsACStringBase)">
            <summary>
            Get the currently active cache object for a cache group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.DeactivateGroup(Gecko.nsACStringBase)">
            <summary>
            Deactivate the currently-active cache object for a cache group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.Evict(Gecko.Interfaces.nsILoadContextInfo)">
            <summary>
            Evict offline cache entries, either all of them or those belonging
            to the given origin.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.EvictMatchingOriginAttributes(Gecko.nsAStringBase)">
            <summary>
            Delete caches whom origin attributes matches the given pattern.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.ChooseApplicationCache(Gecko.nsACStringBase,Gecko.Interfaces.nsILoadContextInfo)">
            <summary>
            Try to find the best application cache to serve a resource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.CacheOpportunistically(Gecko.Interfaces.nsIApplicationCache,Gecko.nsACStringBase)">
            <summary>
            Flags the key as being opportunistically cached.
            
            This method should also propagate the entry to other
            application caches with the same opportunistic namespace, but
            this is not currently implemented.
            </summary>
            <param name="cache">
            The cache in which the entry is cached now.
            </param>
            <param name="key">
            The cache entry key.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.GetGroups(System.UInt32@,System.IntPtr@)">
            <summary>
            Get the list of application cache groups.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationCacheService.GetGroupsTimeOrdered(System.UInt32@,System.IntPtr@)">
            <summary>
            Get the list of application cache groups in the order of
            activating time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationReputationService.QueryReputation(Gecko.Interfaces.nsIApplicationReputationQuery,Gecko.Interfaces.nsIApplicationReputationCallback)">
            <summary>
            Start querying the application reputation service.
            </summary>
            <param name="aQuery">
            The nsIApplicationReputationQuery containing metadata of the
            downloaded file.
            </param>
            <param name="aCallback">
            The callback for receiving the results of the query.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIApplicationReputationQuery">
            <summary>
            A single-use, write-once interface for recording the metadata of the
            downloaded file. nsIApplicationReputationService.Start() may only be called
            once with a single query.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationReputationCallback.OnComplete(System.Boolean,System.Int32,System.UInt32)">
            <summary>
            Callback for the result of the application reputation query.
            </summary>
            <param name="aStatus">
            NS_OK if and only if the query succeeded. If it did, then
            shouldBlock is meaningful (otherwise it defaults to false). This
            may be NS_ERROR_FAILURE if the response cannot be parsed, or
            NS_ERROR_NOT_AVAILABLE if the service has been disabled or is not
            reachable.
            </param>
            <param name="aShouldBlock">
            Whether or not the download should be blocked.
            </param>
            <param name="aVerdict">
            Indicates the result of the lookup that determines whether the
            download should be blocked, according to the &quot;VERDICT_&quot; constants.
            This may be set to a value different than &quot;VERDICT_SAFE&quot; even if
            aShouldBlock is false, so you should always check aShouldBlock.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIAppShell">
            <summary>
            Interface for the native event system layer.  This interface is designed
            to be used on the main application thread only.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShell.Run">
            <summary>
            Enter an event loop.  Don&apos;t leave until exit() is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShell.Exit">
            <summary>
            Exit the handle event loop
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShell.FavorPerformanceHint(System.Boolean,System.UInt32)">
            <summary>
            Give hint to native event queue notification mechanism. If the native
            platform needs to tradeoff performance vs. native event starvation this
            hint tells the native dispatch code which to favor.  The default is to
            prevent native event starvation.
            
            Calls to this function may be nested. When the number of calls that pass
            PR_TRUE is subtracted from the number of calls that pass PR_FALSE is
            greater than 0, performance is given precedence over preventing event
            starvation.
            
            The starvationDelay arg is only used when favorPerfOverStarvation is
            PR_FALSE. It is the amount of time in milliseconds to wait before the
            PR_FALSE actually takes effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShell.SuspendNative">
            <summary>
            Suspends the use of additional platform-specific methods (besides the
            nsIAppShell-&gt;run() event loop) to run Gecko events on the main
            application thread.  Under some circumstances these &quot;additional methods&quot;
            can cause Gecko event handlers to be re-entered, sometimes leading to
            hangs and crashes.  Calls to suspendNative() and resumeNative() may be
            nested.  On some platforms (those that don&apos;t use any &quot;additional
            methods&quot;) this will be a no-op.  Does not (in itself) stop Gecko events
            from being processed on the main application thread.  But if the
            nsIAppShell-&gt;run() event loop is blocked when this call is made, Gecko
            events will stop being processed until resumeNative() is called (even
            if a plugin or library is temporarily processing events on a nested
            event loop).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShell.ResumeNative">
            <summary>
            Resumes the use of additional platform-specific methods to run Gecko
            events on the main application thread.  Calls to suspendNative() and
            resumeNative() may be nested.  On some platforms this will be a no-op.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShell.GetEventloopNestingLevelAttribute">
            <summary>
            The current event loop nesting level.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.CreateWindowlessBrowser(System.Boolean)">
            <summary>
            This is the constructor for creating an invisible DocShell.
            It is used to simulate DOM windows without an actual physical
            representation.
            </summary>
            <param name="aIsChrome">
            Set true if you want to use it for chrome content.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.SetScreenId(System.UInt32)">
            <summary>
            B2G multi-screen support. When open another top-level window on b2g,
            a screen ID is needed for identifying which screen this window is
            opened to.
            </summary>
            <param name="aScreenId">
            Differentiate screens of windows. It is platform-
            specific due to the hardware limitation for now.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.GetHiddenWindowAttribute">
            <summary>
            Return the (singleton) application hidden window, automatically created
            and maintained by this AppShellService.
            </summary>
            <param name="aResult">
            the hidden window.  Do not unhide hidden window.
            Do not taunt hidden window.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.GetHiddenDOMWindowAttribute">
            <summary>
            Return the (singleton) application hidden window, automatically created
            and maintained by this AppShellService.
            </summary>
            <param name="aResult">
            the hidden window.  Do not unhide hidden window.
            Do not taunt hidden window.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.GetHiddenPrivateWindowAttribute">
            <summary>
            Return the (singleton) application hidden private window, automatically
            created and maintained by this AppShellService.  This window is created
            in private browsing mode.
            </summary>
            <param name="aResult">
            the hidden private window.  Do not unhide hidden window.
            Do not taunt hidden window.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.GetHiddenPrivateDOMWindowAttribute">
            <summary>
            Return the (singleton) application hidden private window, automatically
            created and maintained by this AppShellService.  This window is created
            in private browsing mode.
            </summary>
            <param name="aResult">
            the hidden private window.  Do not unhide hidden window.
            Do not taunt hidden window.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.GetApplicationProvidedHiddenWindowAttribute">
            <summary>
            Return true if the application hidden window was provided by the
            application. If it wasn&apos;t, the default hidden window was used. This will
            usually be false on all non-mac platforms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.RegisterTopLevelWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Add a window to the application&apos;s registry of windows.  These windows
            are generally shown in the Windows taskbar, and the application
            knows it can&apos;t quit until it&apos;s out of registered windows.
            </summary>
            <param name="aWindow">
            the window to register
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.UnregisterTopLevelWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Remove a window from the application&apos;s window registry. Note that
            this method won&apos;t automatically attempt to quit the app when
            the last window is unregistered. For that, see Quit().
            </summary>
            <param name="aWindow">
            you see the pattern
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.GetHasHiddenPrivateWindowAttribute">
            <summary>
            Whether the hidden private window has been lazily created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppShellService.StartEventLoopLagTracking">
            <summary>
            Start/stop tracking lags in the event loop.
            If the event loop gets unresponsive, a &quot;event-loop-lag&quot; notification
            is sent. Note that calling `startEventLoopLagTracking` when tracking
            is already enabled has no effect.
            </summary>
            <returns>
            true if tracking succeeded.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetManifestFor(Gecko.nsAStringBase)">
            <summary>
            Returns a Promise for the manifest for a given manifestURL.
            This is only supported in the parent process: the promise will be rejected
            in content processes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetAppLocalIdByManifestURL(Gecko.nsAStringBase)">
            <summary>
            Returns the |localId| of the app associated with the |manifestURL| passed
            in parameter.
            Returns nsIScriptSecurityManager::NO_APP_ID if |manifestURL| isn&apos;t a valid
            installed manifest URL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetAppByLocalId(System.UInt32)">
            <summary>
            Returns the application associated to this localId.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetManifestURLByLocalId(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Returns the manifest URL associated to this localId.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetCoreAppsBasePath(Gecko.nsAStringBase)">
            <summary>
            Returns the basepath for core apps
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetWebAppsBasePath(Gecko.nsAStringBase)">
            <summary>
            Returns the basepath for regular packaged apps
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.AreAnyAppsInstalled">
            <summary>
            Returns true if at least one app is in the registry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetAppLocalIdByStoreId(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Returns the localId if the app was installed from a store
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppsService.GetScopeByLocalId(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Returns the scope for app to use with service workers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.CreateHiddenWindow">
            <summary>
            Create the hidden window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.DestroyHiddenWindow">
            <summary>
            Destroys the hidden window. This will have no effect if the hidden window
            has not yet been created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.Run">
            <summary>
            Runs an application event loop: normally the main event pump which
            defines the lifetime of the application. If there are no windows open
            and no outstanding calls to enterLastWindowClosingSurvivalArea this
            method will exit immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.EnterLastWindowClosingSurvivalArea">
            <summary>
            There are situations where all application windows will be
            closed but we don&apos;t want to take this as a signal to quit the
            app. Bracket the code where the last window could close with
            these.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.GetAutomaticSafeModeNecessaryAttribute">
            <summary>
            Whether automatic safe mode is necessary at this time.  This gets set
            in trackStartupCrashBegin.
            </summary>
            <remarks>
            See trackStartupCrashBegin
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.RestartInSafeMode(System.UInt32)">
            <summary>
            Restart the application in safe mode
            </summary>
            <param name="aQuitMode">
            This parameter modifies how the app is shutdown.
            </param>
            <remarks>
            See nsIAppStartup::quit
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.CreateInstanceWithProfile(Gecko.Interfaces.nsIToolkitProfile)">
            <summary>
            Run a new instance of this app with a specified profile
            </summary>
            <param name="aProfile">
            The profile we want to use.
            </param>
            <remarks>
            See nsIAppStartup::quit
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.TrackStartupCrashBegin">
            <summary>
            If the last startup crashed then increment a counter.
            Set a flag so on next startup we can detect whether TrackStartupCrashEnd
            was called (and therefore the application crashed).
            </summary>
            <returns>
            whether safe mode is necessary
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.TrackStartupCrashEnd">
            <summary>
            We have succesfully started without crashing. Clear flags that were
            tracking past crashes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.Quit(System.UInt32)">
            <summary>
            Exit the event loop, and shut down the app.
            </summary>
            <param name="aMode">
            This parameter modifies how the app is shutdown, and it is
            constructed from the constants defined above.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.GetShuttingDownAttribute">
            <summary>
            True if the application is in the process of shutting down.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.GetStartingUpAttribute">
            <summary>
            True if the application is in the process of starting up.
            
            Startup is complete once all observers of final-ui-startup have returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.DoneStartingUp">
            <summary>
            Mark the startup as completed.
            
            Called at the end of startup by nsAppRunner.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.GetRestartingAttribute">
            <summary>
            True if the application is being restarted
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.GetWasRestartedAttribute">
            <summary>
            True if this is the startup following restart, i.e. if the application
            was restarted using quit(eRestart*).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.GetStartupInfo(System.IntPtr)">
            <summary>
            Returns an object with main, process, firstPaint, sessionRestored properties.
            Properties may not be available depending on platform or application
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAppStartup.GetInterruptedAttribute">
            <summary>
            True if startup was interrupted by an interactive prompt.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIArrayBufferInputStream">
            <summary>
            nsIArrayBufferInputStream
            
            Provides scriptable methods for initializing a nsIInputStream
            implementation with an ArrayBuffer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayBufferInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayBufferInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayBufferInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayBufferInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayBufferInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIArrayBufferInputStream.SetData(SpiderMonkey.JSVal@,System.UInt32,System.UInt32,System.IntPtr)">
            <summary>
            SetData - assign an ArrayBuffer to the input stream.
            </summary>
            <param name="buffer">
            - stream data
            </param>
            <param name="byteOffset">
            - stream data offset
            </param>
            <param name="byteLen">
            - stream data length
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIASN1Object">
            <summary>
            This represents an ASN.1 object,
            where ASN.1 is &quot;Abstract Syntax Notation number One&quot;.
            
            The additional state information carried in this interface
            makes it fit for being used as the data structure
            when working with visual reprenstation of ASN.1 objects
            in a human user interface, like in a tree widget
            where open/close state of nodes must be remembered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Object.GetTypeAttribute">
            <summary>
            &quot;type&quot; will be equal to one of the defined object identifiers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Object.GetTagAttribute">
            <summary>
            This contains a tag as explained in ASN.1 standards documents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Object.GetDisplayNameAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;displayName&quot; contains a human readable explanatory label.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Object.GetDisplayValueAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;displayValue&quot; contains the human readable value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1PrintableItem.GetTypeAttribute">
            <summary>
            &quot;type&quot; will be equal to one of the defined object identifiers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1PrintableItem.GetTagAttribute">
            <summary>
            This contains a tag as explained in ASN.1 standards documents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1PrintableItem.GetDisplayNameAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;displayName&quot; contains a human readable explanatory label.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1PrintableItem.GetDisplayValueAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;displayValue&quot; contains the human readable value.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIASN1Sequence">
            <summary>
            This represents a sequence of ASN.1 objects,
            where ASN.1 is &quot;Abstract Syntax Notation number One&quot;.
            
            Overview of how this ASN1 interface is intended to
            work.
            
            First off, the nsIASN1Sequence is any type in ASN1
            that consists of sub-elements (ie SEQUENCE, SET)
            nsIASN1Printable Items are all the other types that
            can be viewed by themselves without interpreting further.
            Examples would include INTEGER, UTF-8 STRING, OID.
            These are not intended to directly reflect the numberous
            types that exist in ASN1, but merely an interface to ease
            producing a tree display the ASN1 structure of any DER
            object.
            
            The additional state information carried in this interface
            makes it fit for being used as the data structure
            when working with visual reprenstation of ASN.1 objects
            in a human user interface, like in a tree widget
            where open/close state of nodes must be remembered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Sequence.GetTypeAttribute">
            <summary>
            &quot;type&quot; will be equal to one of the defined object identifiers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Sequence.GetTagAttribute">
            <summary>
            This contains a tag as explained in ASN.1 standards documents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Sequence.GetDisplayNameAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;displayName&quot; contains a human readable explanatory label.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Sequence.GetDisplayValueAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;displayValue&quot; contains the human readable value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Sequence.GetASN1ObjectsAttribute">
            <summary>
            The array of objects stored in the sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Sequence.GetIsValidContainerAttribute">
            <summary>
            Whether the node at this position in the ASN.1 data structure
            sequence contains sub elements understood by the
            application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Sequence.GetIsExpandedAttribute">
            <summary>
            Whether the contained objects should be shown or hidden.
            A UI implementation can use this flag to store the current
            expansion state when shown in a tree widget.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetRowCountAttribute">
            <summary>
            The total number of rows in the tree (including the offscreen rows).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetSelectionAttribute">
            <summary>
            The selection for this view.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetRowProperties(System.Int32,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties.  For each property X the view
            gives back will cause the pseudoclasses  ::-moz-tree-cell(x),
            ::-moz-tree-row(x), ::-moz-tree-twisty(x), ::-moz-tree-image(x),
            ::-moz-tree-cell-text(x).  to be matched on the pseudoelement
            ::moz-tree-row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetCellProperties(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties for a given cell.  Each
            property, x, that the view gives back will cause the pseudoclasses
            ::-moz-tree-cell(x), ::-moz-tree-row(x), ::-moz-tree-twisty(x),
            ::-moz-tree-image(x), ::-moz-tree-cell-text(x). to be matched on the
            cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetColumnProperties(Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            Called to get properties to paint a column background.  For shading the sort
            column, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.IsContainer(System.Int32)">
            <summary>
            Methods that can be used to test whether or not a twisty should be drawn,
            and if so, whether an open or closed twisty should be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.IsSeparator(System.Int32)">
            <summary>
            isSeparator is used to determine if the row at index is a separator.
            A value of true will result in the tree drawing a horizontal separator.
            The tree uses the ::moz-tree-separator pseudoclass to draw the separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.IsSorted">
            <summary>
            Specifies if there is currently a sort on any column. Used mostly by dragdrop
            to affect drop feedback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.CanDrop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Methods used by the drag feedback code to determine if a drag is allowable at
            the current location. To get the behavior where drops are only allowed on
            items, such as the mailNews folder pane, always return false when
            the orientation is not DROP_ON.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.Drop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Called when the user drops something on this view. The |orientation| param
            specifies before/on/after the given |row|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetParentIndex(System.Int32)">
            <summary>
            Methods used by the tree to draw thread lines in the tree.
            getParentIndex is used to obtain the index of a parent row.
            If there is no parent row, getParentIndex returns -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.HasNextSibling(System.Int32,System.Int32)">
            <summary>
            hasNextSibling is used to determine if the row at rowIndex has a nextSibling
            that occurs *after* the index specified by afterIndex.  Code that is forced
            to march down the view looking at levels can optimize the march by starting
            at afterIndex+1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetLevel(System.Int32)">
            <summary>
            The level is an integer value that represents
            the level of indentation.  It is multiplied by the width specified in the
            :moz-tree-indentation pseudoelement to compute the exact indendation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetImageSrc(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The image path for a given cell. For defining an icon for a cell.
            If the empty string is returned, the :moz-tree-image pseudoelement
            will be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The value for a given cell. This method is only called for columns
            of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.GetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The text for a given cell.  If a column consists only of an image, then
            the empty string is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.SetTree(Gecko.Interfaces.nsITreeBoxObject)">
            <summary>
            Called during initialization to link the view to the front end box object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.ToggleOpenState(System.Int32)">
            <summary>
            Called on the view when an item is opened or closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.CycleHeader(Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a header is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.SelectionChanged">
            <summary>
            Should be called from a XUL onselect handler whenever the selection changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.CycleCell(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a cell in a non-selectable cycling column (e.g., unread/flag/etc.) is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.IsEditable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isEditable is called to ask the view if the cell contents are editable.
            A value of true will result in the tree popping up a text field when
            the user tries to inline edit the cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.IsSelectable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isSelectable is called to ask the view if the cell is selectable.
            This method is only called if the selection style is |cell| or |text|.
            XXXvarga shouldn&apos;t this be called isCellSelectable?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.SetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellValue is called when the value of the cell has been set by the user.
            This method is only called for columns of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.SetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellText is called when the contents of the cell have been edited by the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.PerformAction(System.String)">
            <summary>
            A command API that can be used to invoke commands on the selection.  The tree
            will automatically invoke this method when certain keys are pressed.  For example,
            when the DEL key is pressed, performAction will be called with the &quot;delete&quot; string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.PerformActionOnRow(System.String,System.Int32)">
            <summary>
            A command API that can be used to invoke commands on a specific row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeView.PerformActionOnCell(System.String,System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            A command API that can be used to invoke commands on a specific cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetRowCountAttribute">
            <summary>
            The total number of rows in the tree (including the offscreen rows).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetSelectionAttribute">
            <summary>
            The selection for this view.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetRowProperties(System.Int32,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties.  For each property X the view
            gives back will cause the pseudoclasses  ::-moz-tree-cell(x),
            ::-moz-tree-row(x), ::-moz-tree-twisty(x), ::-moz-tree-image(x),
            ::-moz-tree-cell-text(x).  to be matched on the pseudoelement
            ::moz-tree-row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetCellProperties(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties for a given cell.  Each
            property, x, that the view gives back will cause the pseudoclasses
            ::-moz-tree-cell(x), ::-moz-tree-row(x), ::-moz-tree-twisty(x),
            ::-moz-tree-image(x), ::-moz-tree-cell-text(x). to be matched on the
            cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetColumnProperties(Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            Called to get properties to paint a column background.  For shading the sort
            column, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.IsContainer(System.Int32)">
            <summary>
            Methods that can be used to test whether or not a twisty should be drawn,
            and if so, whether an open or closed twisty should be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.IsSeparator(System.Int32)">
            <summary>
            isSeparator is used to determine if the row at index is a separator.
            A value of true will result in the tree drawing a horizontal separator.
            The tree uses the ::moz-tree-separator pseudoclass to draw the separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.IsSorted">
            <summary>
            Specifies if there is currently a sort on any column. Used mostly by dragdrop
            to affect drop feedback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.CanDrop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Methods used by the drag feedback code to determine if a drag is allowable at
            the current location. To get the behavior where drops are only allowed on
            items, such as the mailNews folder pane, always return false when
            the orientation is not DROP_ON.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.Drop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Called when the user drops something on this view. The |orientation| param
            specifies before/on/after the given |row|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetParentIndex(System.Int32)">
            <summary>
            Methods used by the tree to draw thread lines in the tree.
            getParentIndex is used to obtain the index of a parent row.
            If there is no parent row, getParentIndex returns -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.HasNextSibling(System.Int32,System.Int32)">
            <summary>
            hasNextSibling is used to determine if the row at rowIndex has a nextSibling
            that occurs *after* the index specified by afterIndex.  Code that is forced
            to march down the view looking at levels can optimize the march by starting
            at afterIndex+1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetLevel(System.Int32)">
            <summary>
            The level is an integer value that represents
            the level of indentation.  It is multiplied by the width specified in the
            :moz-tree-indentation pseudoelement to compute the exact indendation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetImageSrc(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The image path for a given cell. For defining an icon for a cell.
            If the empty string is returned, the :moz-tree-image pseudoelement
            will be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The value for a given cell. This method is only called for columns
            of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.GetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The text for a given cell.  If a column consists only of an image, then
            the empty string is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.SetTree(Gecko.Interfaces.nsITreeBoxObject)">
            <summary>
            Called during initialization to link the view to the front end box object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.ToggleOpenState(System.Int32)">
            <summary>
            Called on the view when an item is opened or closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.CycleHeader(Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a header is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.SelectionChanged">
            <summary>
            Should be called from a XUL onselect handler whenever the selection changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.CycleCell(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a cell in a non-selectable cycling column (e.g., unread/flag/etc.) is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.IsEditable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isEditable is called to ask the view if the cell contents are editable.
            A value of true will result in the tree popping up a text field when
            the user tries to inline edit the cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.IsSelectable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isSelectable is called to ask the view if the cell is selectable.
            This method is only called if the selection style is |cell| or |text|.
            XXXvarga shouldn&apos;t this be called isCellSelectable?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.SetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellValue is called when the value of the cell has been set by the user.
            This method is only called for columns of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.SetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellText is called when the contents of the cell have been edited by the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.PerformAction(System.String)">
            <summary>
            A command API that can be used to invoke commands on the selection.  The tree
            will automatically invoke this method when certain keys are pressed.  For example,
            when the DEL key is pressed, performAction will be called with the &quot;delete&quot; string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.PerformActionOnRow(System.String,System.Int32)">
            <summary>
            A command API that can be used to invoke commands on a specific row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIASN1Tree.PerformActionOnCell(System.String,System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            A command API that can be used to invoke commands on a specific cell.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIInputStreamCallback">
            <summary>
            This is a companion interface for nsIAsyncInputStream::asyncWait.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamCallback.OnInputStreamReady(Gecko.Interfaces.nsIAsyncInputStream)">
            <summary>
            Called to indicate that the stream is either readable or closed.
            </summary>
            <param name="aStream">
            The stream whose asyncWait method was called.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIAsyncOutputStream">
            <summary>
            If an output stream is non-blocking, it may return NS_BASE_STREAM_WOULD_BLOCK
            when written to.  The caller must then wait for the stream to become
            writable.  If the stream implements nsIAsyncOutputStream, then the caller can
            use this interface to request an asynchronous notification when the stream
            becomes writable or closed (via the AsyncWait method).
            
            While this interface is almost exclusively used with non-blocking streams, it
            is not necessary that nsIOutputStream::isNonBlocking return true.  Nor is it
            necessary that a non-blocking nsIOutputStream implementation also implement
            nsIAsyncOutputStream.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIOutputStream">
            <summary>
            nsIOutputStream
            
            An interface describing a writable stream of data.  An output stream may be
            &quot;blocking&quot; or &quot;non-blocking&quot; (see the IsNonBlocking method).  A blocking
            output stream may suspend the calling thread in order to satisfy a call to
            Close, Flush, Write, WriteFrom, or WriteSegments.  A non-blocking output
            stream, on the other hand, must not block the calling thread of execution.
            
            NOTE: blocking output streams are often written to on a background thread to
            avoid locking up the main application thread.  For this reason, it is
            generally the case that a blocking output stream should be implemented using
            thread- safe AddRef and Release.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputStream.Close">
            <summary>
            Close the stream. Forces the output stream to flush any buffered data.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputStream.Flush">
            <summary>
            Flush the stream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputStream.Write(System.IntPtr,System.UInt32)">
            <summary>
            Write data into the stream.
            </summary>
            <param name="aBuf">
            the buffer containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputStream.WriteFrom(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Writes data into the stream from an input stream.
            </summary>
            <param name="aFromStream">
            the stream containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            &lt;other-error&gt;: on failure
            
            NOTE: This method is defined by this interface in order to allow the
            output stream to efficiently copy the data from the input stream into
            its internal buffer (if any). If this method was provided as an external
            facility, a separate char* buffer would need to be used in order to call
            the output stream's other Write method.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputStream.WriteSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level write method that has access to the stream's underlying buffer.
            The reader function may be called multiple times for segmented buffers.
            WriteSegments is expected to keep calling the reader until either there
            is nothing left to write or the reader returns an error.  WriteSegments
            should not call the reader with zero bytes to provide.
            </summary>
            <param name="aReader">
            the "provider" of the data to be written
            </param>
            <param name="aClosure">
            opaque parameter passed to reader
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket output stream).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: writing to a blocking output stream will block the calling thread
            until all given data can be consumed by the stream.
            
            NOTE: a non-blocking output stream may implement nsIAsyncOutputStream to
            provide consumers with a way to wait for the stream to accept more data
            once its write method is unable to accept any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.Close">
            <summary>
            Close the stream. Forces the output stream to flush any buffered data.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.Flush">
            <summary>
            Flush the stream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.Write(System.IntPtr,System.UInt32)">
            <summary>
            Write data into the stream.
            </summary>
            <param name="aBuf">
            the buffer containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.WriteFrom(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Writes data into the stream from an input stream.
            </summary>
            <param name="aFromStream">
            the stream containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            &lt;other-error&gt;: on failure
            
            NOTE: This method is defined by this interface in order to allow the
            output stream to efficiently copy the data from the input stream into
            its internal buffer (if any). If this method was provided as an external
            facility, a separate char* buffer would need to be used in order to call
            the output stream's other Write method.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.WriteSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level write method that has access to the stream's underlying buffer.
            The reader function may be called multiple times for segmented buffers.
            WriteSegments is expected to keep calling the reader until either there
            is nothing left to write or the reader returns an error.  WriteSegments
            should not call the reader with zero bytes to provide.
            </summary>
            <param name="aReader">
            the "provider" of the data to be written
            </param>
            <param name="aClosure">
            opaque parameter passed to reader
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket output stream).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: writing to a blocking output stream will block the calling thread
            until all given data can be consumed by the stream.
            
            NOTE: a non-blocking output stream may implement nsIAsyncOutputStream to
            provide consumers with a way to wait for the stream to accept more data
            once its write method is unable to accept any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.CloseWithStatus(System.Int32)">
            <summary>
            This method closes the stream and sets its internal status.  If the
            stream is already closed, then this method is ignored.  Once the stream
            is closed, the stream&apos;s status cannot be changed.  Any successful status
            code passed to this method is treated as NS_BASE_STREAM_CLOSED, which
            is equivalent to nsIInputStream::close.
            
            NOTE: this method exists in part to support pipes, which have both an
            input end and an output end.  If the output end of a pipe is closed, then
            reads from the input end of the pipe will fail.  The error code returned
            when an attempt is made to read from a &quot;closed&quot; pipe corresponds to the
            status code passed in when the output end of the pipe is closed, which
            greatly simplifies working with pipes in some cases.
            </summary>
            <param name="aStatus">
            The error that will be reported if this stream is accessed after
            it has been closed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncOutputStream.AsyncWait(Gecko.Interfaces.nsIOutputStreamCallback,System.UInt32,System.UInt32,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            Asynchronously wait for the stream to be writable or closed.  The
            notification is one-shot, meaning that each asyncWait call will result
            in exactly one notification callback.  After the OnOutputStreamReady event
            is dispatched, the stream releases its reference to the
            nsIOutputStreamCallback object.  It is safe to call asyncWait again from the
            notification handler.
            
            This method may be called at any time (even if write has not been called).
            In other words, this method may be called when the stream already has
            room for more data.  It may also be called when the stream is closed.  If
            the stream is already writable or closed when AsyncWait is called, then the
            OnOutputStreamReady event will be dispatched immediately.  Otherwise, the
            event will be dispatched when the stream becomes writable or closed.
            </summary>
            <param name="aCallback">
            This object is notified when the stream becomes ready.  This
            parameter may be null to clear an existing callback.
            </param>
            <param name="aFlags">
            This parameter specifies optional flags passed in to configure
            the behavior of this method.  Pass zero to specify no flags.
            </param>
            <param name="aRequestedCount">
            Wait until at least this many bytes can be written.  This is only
            a suggestion to the underlying stream; it may be ignored.  The
            caller may pass zero to indicate no preference.
            </param>
            <param name="aEventTarget">
            Specify NULL to receive notification on ANY thread (possibly even
            recursively on the calling thread -- i.e., synchronously), or
            specify that the notification be delivered to a specific event
            target.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIOutputStreamCallback">
            <summary>
            This is a companion interface for nsIAsyncOutputStream::asyncWait.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputStreamCallback.OnOutputStreamReady(Gecko.Interfaces.nsIAsyncOutputStream)">
            <summary>
            Called to indicate that the stream is either writable or closed.
            </summary>
            <param name="aStream">
            The stream whose asyncWait method was called.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIAsyncShutdownBlocker">
            <summary>
            A blocker installed by a client to be informed during some stage of
            shutdown and block shutdown asynchronously until some condition is
            complete.
            
            If you wish to use AsyncShutdown, you will need to implement this
            interface (and only this interface).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownBlocker.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The *unique* name of the blocker.
            
            By convention, it should respect the following format:
            &quot;MyModuleName: Doing something while it&apos;s time&quot;
            e.g.
            &quot;OS.File: Flushing before profile-before-change&quot;
            
            This attribute is uploaded as part of crash reports.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownBlocker.BlockShutdown(Gecko.Interfaces.nsIAsyncShutdownClient)">
            <summary>
            Inform the blocker that the stage of shutdown has started.
            Shutdown will NOT proceed until `aBarrierClient.removeBlocker(this)`
            has been called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownBlocker.GetStateAttribute">
            <summary>
            The current state of the blocker.
            
            In case of crash, this is converted to JSON and attached to
            the crash report.
            
            This field may be used to provide JSON-style data structures.
            For this purpose, use
            - nsIPropertyBag to represent objects;
            - nsIVariant to represent field values (which may hold nsIPropertyBag
            themselves).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAsyncShutdownClient">
            <summary>
            A client for a nsIAsyncShutdownBarrier.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownClient.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the barrier.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownClient.AddBlocker(Gecko.Interfaces.nsIAsyncShutdownBlocker,Gecko.nsAStringBase,System.Int32,Gecko.nsAStringBase)">
            <summary>
            Add a blocker.
            
            After a `blocker` has been added with `addBlocker`, if it is not
            removed with `removeBlocker`, this will, by design, eventually
            CAUSE A CRASH.
            
            Calling `addBlocker` once nsIAsyncShutdownBarrier::wait() has been
            called on the owning barrier returns an error.
            </summary>
            <param name="aBlocker">
            The blocker to add. Once
            nsIAsyncShutdownBarrier::wait() has been called, it will not
            call its `aOnReady` callback until all blockers have been
            removed, each  by a call to `removeBlocker`.
            </param>
            <param name="aFileName">
            The filename of the callsite, as given by `__FILE__`.
            </param>
            <param name="aLineNumber">
            The linenumber of the callsite, as given by `__LINE__`.
            </param>
            <param name="aStack">
            Information on the stack that lead to this call. Generally
            empty when called from C++.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownClient.RemoveBlocker(Gecko.Interfaces.nsIAsyncShutdownBlocker)">
            <summary>
            Remove a blocker.
            </summary>
            <param name="aBlocker">
            A blocker previously added to this client through
            `addBlocker`. Noop if the blocker has never been added or has been
            removed already.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownClient.GetJsclientAttribute">
            <summary>
            The JS implementation of the client.
            
            It is strongly recommended that JS clients of this API use
            `jsclient` instead of the `nsIAsyncShutdownClient`. See
            AsyncShutdown.jsm for more information on the JS version of
            this API.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAsyncShutdownCompletionCallback">
            <summary>
            Callback invoked once all blockers of a barrier have been removed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownCompletionCallback.Done">
            <summary>
            The operation has been completed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAsyncShutdownBarrier">
            <summary>
            A stage of shutdown that supports blocker registration.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownBarrier.GetClientAttribute">
            <summary>
            The blocker registration capability.  Most services may wish to
            publish this capability to let services that depend on it register
            blockers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownBarrier.GetStateAttribute">
            <summary>
            The state of all the blockers of the barrier.
            
            See the documentation of `nsIAsyncShutdownBlocker` for the
            format.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownBarrier.Wait(Gecko.Interfaces.nsIAsyncShutdownCompletionCallback)">
            <summary>
            Wait for all blockers to complete.
            
            Method `aOnReady` will be called once all blockers have finished.
            The callback always receives NS_OK.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAsyncShutdownService">
            <summary>
            A service that allows registering shutdown-time dependencies.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownService.MakeBarrier(Gecko.nsAStringBase)">
            <summary>
            Create a new barrier.
            
            By convention, the name should respect the following format:
            &quot;MyModuleName: Doing something while it&apos;s time&quot;
            e.g.
            &quot;OS.File: Waiting for clients to flush before shutting down&quot;
            
            This attribute is uploaded as part of crash reports.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownService.GetProfileBeforeChangeAttribute">
            <summary>
            Barrier for notification profile-before-change.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownService.GetProfileChangeTeardownAttribute">
            <summary>
            Barrier for notification profile-change-teardown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownService.GetQuitApplicationGrantedAttribute">
            <summary>
            Barrier for notification quit-application-granted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownService.GetSendTelemetryAttribute">
            <summary>
            Barrier for notification profile-before-change-telemetry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownService.GetWebWorkersShutdownAttribute">
            <summary>
            Barrier for notification web-workers-shutdown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncShutdownService.GetXpcomWillShutdownAttribute">
            <summary>
            Barrier for notification xpcom-will-shutdown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.Init(Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIOutputStream,Gecko.Interfaces.nsIEventTarget,System.Boolean,System.Boolean,System.UInt32,System.Boolean,System.Boolean)">
            <summary>
            Initialize the stream copier.
            </summary>
            <param name="aSource">
            contains the data to be copied.
            </param>
            <param name="aSink">
            specifies the destination for the data.
            </param>
            <param name="aTarget">
            specifies the thread on which the copy will occur.  a null value
            is permitted and will cause the copy to occur on an unspecified
            background thread.
            </param>
            <param name="aSourceBuffered">
            true if aSource implements ReadSegments.
            </param>
            <param name="aSinkBuffered">
            true if aSink implements WriteSegments.
            </param>
            <param name="aChunkSize">
            specifies how many bytes to read/write at a time.  this controls
            the granularity of the copying.  it should match the segment size
            of the &quot;buffered&quot; streams involved.
            </param>
            <param name="aCloseSource">
            true if aSource should be closed after copying.
            </param>
            <param name="aCloseSink">
            true if aSink should be closed after copying.
            
            NOTE: at least one of the streams must be buffered. If you do not know
            whether your streams are buffered, you should use nsIAsyncStreamCopier2
            instead.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier.AsyncCopy(Gecko.Interfaces.nsIRequestObserver,Gecko.Interfaces.nsISupports)">
            <summary>
            asyncCopy triggers the start of the copy.  The observer will be notified
            when the copy completes.
            </summary>
            <param name="aObserver">
            receives notifications.
            </param>
            <param name="aObserverContext">
            passed to observer methods.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.Init(Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIOutputStream,Gecko.Interfaces.nsIEventTarget,System.UInt32,System.Boolean,System.Boolean)">
            <summary>
            Initialize the stream copier.
            
            If neither the source nor the sink are buffered, buffering will
            be automatically added to the sink.
            </summary>
            <param name="aSource">
            contains the data to be copied.
            </param>
            <param name="aSink">
            specifies the destination for the data.
            </param>
            <param name="aTarget">
            specifies the thread on which the copy will occur.  a null value
            is permitted and will cause the copy to occur on an unspecified
            background thread.
            </param>
            <param name="aChunkSize">
            specifies how many bytes to read/write at a time.  this controls
            the granularity of the copying.  it should match the segment size
            of the &quot;buffered&quot; streams involved.
            </param>
            <param name="aCloseSource">
            true if aSource should be closed after copying (this is generally
            the desired behavior).
            </param>
            <param name="aCloseSink">
            true if aSink should be closed after copying (this is generally
            the desired behavior).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncStreamCopier2.AsyncCopy(Gecko.Interfaces.nsIRequestObserver,Gecko.Interfaces.nsISupports)">
            <summary>
            asyncCopy triggers the start of the copy.  The observer will be notified
            when the copy completes.
            </summary>
            <param name="aObserver">
            receives notifications.
            </param>
            <param name="aObserverContext">
            passed to observer methods.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAsyncVerifyRedirectCallback.OnRedirectVerifyCallback(System.Int32)">
            <summary>
            Complement to nsIChannelEventSink asynchronous callback. The result of
            the redirect decision is passed through this callback.
            </summary>
            <param name="result">
            Result of the redirect veto decision. If FAILED the redirect has been
            vetoed. If SUCCEEDED the redirect has been allowed by all consumers.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAtom.ToString(Gecko.nsAStringBase)">
            <summary>
            Get the Unicode or UTF8 value for the string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAtom.Equals(Gecko.nsAStringBase)">
            <summary>
            Compare the atom to a specific string value
            Note that this will NEVER return/throw an error condition.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAtomService.GetAtom(Gecko.nsAStringBase)">
            <summary>
            Version of NS_Atomize that doesn&apos;t require linking against the
            XPCOM library.  See nsIAtom.idl.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgentCallback.WindowVolumeChanged(System.Single,System.Boolean)">
            <summary>
            Notified when the window volume/mute is changed
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgentCallback.WindowSuspendChanged(System.UInt32)">
            <summary>
            Notified when the window needs to be suspended or resumed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgentCallback.WindowAudioCaptureChanged(System.Boolean)">
            <summary>
            Notified when the capture state is changed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAudioChannelAgent">
            <summary>
            This interface provides an agent for gecko components to participate
            in the audio channel service. Gecko components are responsible for
            1. Indicating what channel type they are using (via the init() member
            function).
            2. Notifying the agent when they start/stop using this channel.
            3. Notifying the agent when they are audible.
            
            The agent will invoke a callback to notify Gecko components of
            1. Changes to the playable status of this channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgent.GetAudioChannelTypeAttribute">
            <summary>
            Before init() is called, this returns AUDIO_AGENT_CHANNEL_ERROR.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgent.Init(Gecko.Interfaces.mozIDOMWindow,System.Int32,Gecko.Interfaces.nsIAudioChannelAgentCallback)">
            <summary>
            Initialize the agent with a channel type.
            Note: This function should only be called once.
            </summary>
            <param name="window">
            The window
            </param>
            <param name="channelType">
            Audio Channel Type listed as above
            </param>
            <param name="callback">
            1. Once the playable status changes, agent uses this callback function
            to notify Gecko component.
            2. The callback is allowed to be null. Ex: telephony doesn&apos;t need to
            listen change of the playable status.
            3. The AudioChannelAgent keeps a strong reference to the callback
            object.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgent.InitWithWeakCallback(Gecko.Interfaces.mozIDOMWindow,System.Int32,Gecko.Interfaces.nsIAudioChannelAgentCallback)">
            <summary>
            This method is just like init(), except the audio channel agent keeps a
            weak reference to the callback object.
            
            In order for this to work, |callback| must implement
            nsISupportsWeakReference.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgent.NotifyStartedPlaying(System.IntPtr,System.Byte)">
            <summary>
            Notify the agent that we want to start playing.
            Note: Gecko component SHOULD call this function first then start to
            play audio stream only when return value is true.
            </summary>
            <param name="config">
            It contains the playback related states (volume/mute/suspend)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgent.NotifyStoppedPlaying">
            <summary>
            Notify the agent we no longer want to play.
            
            Note : even if notifyStartedPlaying() returned false, the agent would
            still be registered with the audio channel service and receive callbacks
            for status changes. So notifyStoppedPlaying must still eventually be
            called to unregister the agent with the channel service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAudioChannelAgent.NotifyStartedAudible(System.Byte,System.UInt32)">
            <summary>
            Notify agent that we already start producing audible data.
            
            Note : sometime audio might become silent during playing, this method is used to
            notify the actually audible state to other services which want to know
            about that, ex. tab sound indicator.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAuthInformation">
            <summary>
            A object that hold authentication information. The caller of
            nsIAuthPrompt2::promptUsernameAndPassword or
            nsIAuthPrompt2::promptPasswordAsync provides an object implementing this
            interface; the prompt implementation can then read the values here to prefill
            the dialog. After the user entered the authentication information, it should
            set the attributes of this object to indicate to the caller what was entered
            by the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthInformation.GetFlagsAttribute">
            <summary>
            Flags describing this dialog. A bitwise OR of the flag values
            above.
            
            It is possible that neither #AUTH_HOST nor #AUTH_PROXY are set.
            
            Auth prompts should ignore flags they don&apos;t understand; especially, they
            should not throw an exception because of an unsupported flag.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthInformation.GetRealmAttribute(Gecko.nsAStringBase)">
            <summary>
            The server-supplied realm of the authentication as defined in RFC 2617.
            Can be the empty string if the protocol does not support realms.
            Otherwise, this is a human-readable string like &quot;Secret files&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthInformation.GetAuthenticationSchemeAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The authentication scheme used for this request, if applicable. If the
            protocol for this authentication does not support schemes, this will be
            the empty string. Otherwise, this will be a string such as &quot;basic&quot; or
            &quot;digest&quot;. This string will always be in lowercase.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthInformation.GetUsernameAttribute(Gecko.nsAStringBase)">
            <summary>
            The initial value should be used to prefill the dialog or be shown
            in some other way to the user.
            On return, this parameter should contain the username entered by
            the user.
            This field can only be changed if the #ONLY_PASSWORD flag is not set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthInformation.GetPasswordAttribute(Gecko.nsAStringBase)">
            <summary>
            The initial value should be used to prefill the dialog or be shown
            in some other way to the user.
            The password should not be shown in clear.
            On return, this parameter should contain the password entered by
            the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthInformation.GetDomainAttribute(Gecko.nsAStringBase)">
            <summary>
            The initial value should be used to prefill the dialog or be shown
            in some other way to the user.
            On return, this parameter should contain the domain entered by
            the user.
            This attribute is only used if flags include #NEED_DOMAIN.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthModule.Init(System.String,System.UInt32,System.String,System.String,System.String)">
            <summary>
            Called to initialize an auth module.  The other methods cannot be called
            unless this method succeeds.
            </summary>
            <param name="aServiceName">
            the service name, which may be null if not applicable (e.g., for
            NTLM, this parameter should be null).
            </param>
            <param name="aServiceFlags">
            a bitwise-or of the REQ_ flags defined above (pass REQ_DEFAULT
            for default behavior).
            </param>
            <param name="aDomain">
            the authentication domain, which may be null if not applicable.
            </param>
            <param name="aUsername">
            the user&apos;s login name
            </param>
            <param name="aPassword">
            the user&apos;s password
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthModule.GetNextToken(System.IntPtr,System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Called to get the next token in a sequence of authentication steps.
            </summary>
            <param name="aInToken">
            A buffer containing the input token (e.g., a challenge from a
            server).  This may be null.
            </param>
            <param name="aInTokenLength">
            The length of the input token.
            </param>
            <param name="aOutToken">
            If getNextToken succeeds, then aOutToken will point to a buffer
            to be sent in response to the server challenge.  The length of
            this buffer is given by aOutTokenLength.  The buffer at aOutToken
            must be recycled with a call to free.
            </param>
            <param name="aOutTokenLength">
            If getNextToken succeeds, then aOutTokenLength contains the
            length of the buffer (number of bytes) pointed to by aOutToken.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthModule.Wrap(System.IntPtr,System.UInt32,System.Boolean,System.IntPtr@,System.UInt32@)">
            <summary>
            Once a security context has been established through calls to GetNextToken()
            it may be used to protect data exchanged between client and server. Calls
            to Wrap() are used to protect items of data to be sent to the server.
            </summary>
            <param name="aInToken">
            A buffer containing the data to be sent to the server
            </param>
            <param name="aInTokenLength">
            The length of the input token
            </param>
            <param name="confidential">
            If set to true, Wrap() will encrypt the data, otherwise data will
            just be integrity protected (checksummed)
            </param>
            <param name="aOutToken">
            A buffer containing the resulting data to be sent to the server
            </param>
            <param name="aOutTokenLength">
            The length of the output token buffer
            
            Wrap() may return NS_ERROR_NOT_IMPLEMENTED, if the underlying authentication
            mechanism does not support security layers.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthModule.Unwrap(System.IntPtr,System.UInt32,System.IntPtr@,System.UInt32@)">
            <summary>
            Unwrap() is used to unpack, decrypt, and verify the checksums on data
            returned by a server when security layers are in use.
            </summary>
            <param name="aInToken">
            A buffer containing the data received from the server
            </param>
            <param name="aInTokenLength">
            The length of the input token
            </param>
            <param name="aOutToken">
            A buffer containing the plaintext data from the server
            </param>
            <param name="aOutTokenLength">
            The length of the output token buffer
            
            Unwrap() may return NS_ERROR_NOT_IMPLEMENTED, if the underlying
            authentication mechanism does not support security layers.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPrompt.Prompt(System.String,System.String,System.String,System.UInt32,System.String,System.String@)">
            <summary>
            Puts up a text input dialog with OK and Cancel buttons.
            Note: prompt uses separate args for the &quot;in&quot; and &quot;out&quot; values of the
            input field, whereas the other functions use a single inout arg.
            </summary>
            <param name="dialogText">
            The title for the dialog.
            </param>
            <param name="text">
            The text to display in the dialog.
            </param>
            <param name="passwordRealm">
            The &quot;realm&quot; the password belongs to: e.g.
            ldap://localhost/dc=test
            </param>
            <param name="savePassword">
            One of the SAVE_PASSWORD_* options above.
            </param>
            <param name="defaultText">
            The default text to display in the text input box.
            </param>
            <param name="result">
            The value entered by the user if OK was
            selected.
            </param>
            <returns>
            true for OK, false for Cancel
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPrompt.PromptUsernameAndPassword(System.String,System.String,System.String,System.UInt32,System.String@,System.String@)">
            <summary>
            Puts up a username/password dialog with OK and Cancel buttons.
            Puts up a password dialog with OK and Cancel buttons.
            </summary>
            <param name="dialogText">
            The title for the dialog.
            </param>
            <param name="text">
            The text to display in the dialog.
            </param>
            <param name="passwordRealm">
            The &quot;realm&quot; the password belongs to: e.g.
            ldap://localhost/dc=test
            </param>
            <param name="savePassword">
            One of the SAVE_PASSWORD_* options above.
            </param>
            <param name="user">
            The username entered in the dialog.
            </param>
            <param name="pwd">
            The password entered by the user if OK was
            selected.
            </param>
            <returns>
            true for OK, false for Cancel
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPrompt.PromptPassword(System.String,System.String,System.String,System.UInt32,System.String@)">
            <summary>
            Puts up a password dialog with OK and Cancel buttons.
            </summary>
            <param name="dialogText">
            The title for the dialog.
            </param>
            <param name="text">
            The text to display in the dialog.
            </param>
            <param name="passwordRealm">
            The &quot;realm&quot; the password belongs to: e.g.
            ldap://localhost/dc=test. If a username is
            specified (http://user@site.com) it will be used
            when matching existing logins or saving new ones.
            If no username is specified, only password-only
            logins will be matched or saved.
            Note: if a username is specified, the username
            should be escaped.
            </param>
            <param name="savePassword">
            One of the SAVE_PASSWORD_* options above.
            </param>
            <param name="pwd">
            The password entered by the user if OK was
            selected.
            </param>
            <returns>
            true for OK, false for Cancel
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIAuthPrompt2">
            <summary>
            An interface allowing to prompt for a username and password. This interface
            is usually acquired using getInterface on notification callbacks or similar.
            It can be used to prompt users for authentication information, either
            synchronously or asynchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPrompt2.PromptAuth(Gecko.Interfaces.nsIChannel,System.UInt32,Gecko.Interfaces.nsIAuthInformation)">
            <summary>
            Requests a username and a password. Implementations will commonly show a
            dialog with a username and password field, depending on flags also a
            domain field.
            </summary>
            <param name="aChannel">
            The channel that requires authentication.
            </param>
            <param name="level">
            One of the level constants from above. See there for descriptions
            of the levels.
            </param>
            <param name="authInfo">
            Authentication information object. The implementation should fill in
            this object with the information entered by the user before
            returning.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPrompt2.AsyncPromptAuth(Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsIAuthPromptCallback,Gecko.Interfaces.nsISupports,System.UInt32,Gecko.Interfaces.nsIAuthInformation)">
            <summary>
            Asynchronously prompt the user for a username and password.
            This has largely the same semantics as promptUsernameAndPassword(),
            but must return immediately after calling and return the entered
            data in a callback.
            
            If the user closes the dialog using a cancel button or similar,
            the callback&apos;s nsIAuthPromptCallback::onAuthCancelled method must be
            called.
            Calling nsICancelable::cancel on the returned object SHOULD close the
            dialog and MUST call nsIAuthPromptCallback::onAuthCancelled on the provided
            callback.
            
            This implementation may:
            
            1) Coalesce identical prompts.  This means prompts that are guaranteed to
            want the same auth information from the user.  A single prompt will be
            shown; then the callbacks for all the coalesced prompts will be notified
            with the resulting auth information.
            2) Serialize prompts that are all in the same &quot;context&quot; (this might mean
            application-wide, for a given window, or something else depending on
            the user interface) so that the user is not deluged with prompts.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAuthPromptAdapterFactory">
            <summary>
            An interface for wrapping nsIAuthPrompt interfaces to make
            them usable via an nsIAuthPrompt2 interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPromptAdapterFactory.CreateAdapter(Gecko.Interfaces.nsIAuthPrompt)">
            <summary>
            Wrap an object implementing nsIAuthPrompt so that it&apos;s usable via
            nsIAuthPrompt2.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAuthPromptCallback">
            <summary>
            Interface for callback methods for the asynchronous nsIAuthPrompt2 method.
            Callers MUST call exactly one method if nsIAuthPrompt2::promptPasswordAsync
            returns successfully. They MUST NOT call any method on this interface before
            promptPasswordAsync returns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPromptCallback.OnAuthAvailable(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIAuthInformation)">
            <summary>
            Authentication information is available.
            </summary>
            <param name="aContext">
            The context as passed to promptPasswordAsync
            </param>
            <param name="aAuthInfo">
            Authentication information. Must be the same object that was passed
            to promptPasswordAsync.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPromptCallback.OnAuthCancelled(Gecko.Interfaces.nsISupports,System.Boolean)">
            <summary>
            Notification that the prompt was cancelled.
            </summary>
            <param name="aContext">
            The context that was passed to promptPasswordAsync.
            </param>
            <param name="userCancel">
            If false, this prompt was cancelled by calling the
            the cancel method on the nsICancelable; otherwise,
            it was cancelled by the user.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAuthPromptProvider.GetAuthPrompt(System.UInt32,System.Guid@)">
            <summary>
            Request a prompt interface for the given prompt reason;
            </summary>
            <param name="aPromptReason">
            The reason for the auth prompt;
            one of #PROMPT_NORMAL or #PROMPT_PROXY
            </param>
            <param name="iid">
            The desired interface, e.g.
            NS_GET_IID(nsIAuthPrompt2).
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if no prompt is allowed or
            available for the given reason.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteInput.GetUserContextIdAttribute">
            <summary>
            The userContextId of the current browser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetSearchStringAttribute(Gecko.nsAStringBase)">
            <summary>
            The original search string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetSearchResultAttribute">
            <summary>
            The result of the search
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetDefaultIndexAttribute">
            <summary>
            Index of the default item that should be entered if none is selected
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetErrorDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            A string describing the cause of a search failure
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetMatchCountAttribute">
            <summary>
            The number of matches
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetValueAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the value of the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetLabelAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            This returns the string that is displayed in the dropdown
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetCommentAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the comment of the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetStyleAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the style hint for the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetImageAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the image of the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.GetFinalCompleteValueAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the final value that should be completed when the user confirms
            the match at the given index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteResult.RemoveValueAt(System.Int32,System.Boolean)">
            <summary>
            Remove the value at the given index from the autocomplete results.
            If removeFromDb is set to true, the value should be removed from
            persistent storage as well.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSearchDescriptor.GetSearchTypeAttribute">
            <summary>
            Identifies the search behavior.
            Should be one of the SEARCH_TYPE_* constants above.
            Defaults to SEARCH_TYPE_DELAYED.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIAutoCompleteSimpleResult">
            <summary>
            This class implements nsIAutoCompleteResult and provides simple methods
            for setting the value and result items. It can be used whenever some basic
            auto complete results are needed that can be pre-generated and filled into
            an array.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetSearchStringAttribute(Gecko.nsAStringBase)">
            <summary>
            The original search string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetSearchResultAttribute">
            <summary>
            The result of the search
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetDefaultIndexAttribute">
            <summary>
            Index of the default item that should be entered if none is selected
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetErrorDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            A string describing the cause of a search failure
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetMatchCountAttribute">
            <summary>
            The number of matches
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetValueAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the value of the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetLabelAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            This returns the string that is displayed in the dropdown
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetCommentAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the comment of the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetStyleAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the style hint for the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetImageAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the image of the result at the given index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetFinalCompleteValueAt(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get the final value that should be completed when the user confirms
            the match at the given index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.RemoveValueAt(System.Int32,System.Boolean)">
            <summary>
            Remove the value at the given index from the autocomplete results.
            If removeFromDb is set to true, the value should be removed from
            persistent storage as well.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.SetSearchString(Gecko.nsAStringBase)">
            <summary>
            A writer for the readonly attribute &apos;searchString&apos; which should contain
            the string that the user typed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.SetErrorDescription(Gecko.nsAStringBase)">
            <summary>
            A writer for the readonly attribute &apos;errorDescription&apos;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.SetDefaultIndex(System.Int32)">
            <summary>
            A writer for the readonly attribute &apos;defaultIndex&apos; which should contain
            the index of the list that will be selected by default (normally 0).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.SetSearchResult(System.UInt16)">
            <summary>
            A writer for the readonly attribute &apos;searchResult&apos; which should contain
            one of the constants nsIAutoCompleteResult.RESULT_* indicating the success
            of the search.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.InsertMatchAt(System.Int32,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Inserts a match consisting of the given value, comment, image, style and
            the value to use for defaultIndex completion at a given position.
            </summary>
            <param name="aIndex">
            The index to insert at
            </param>
            <param name="aValue">
            The value to autocomplete to
            </param>
            <param name="aComment">
            Comment shown in the autocomplete widget to describe this match
            </param>
            <param name="aImage">
            Image shown in the autocomplete widget for this match.
            </param>
            <param name="aStyle">
            Describes how to style the match in the autocomplete widget
            </param>
            <param name="aFinalCompleteValue">
            Value used when the user confirms selecting this match. If not
            provided, aValue will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.AppendMatch(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Appends a match consisting of the given value, comment, image, style and
            the value to use for defaultIndex completion.
            </summary>
            <param name="aValue">
            The value to autocomplete to
            </param>
            <param name="aComment">
            Comment shown in the autocomplete widget to describe this match
            </param>
            <param name="aImage">
            Image shown in the autocomplete widget for this match.
            </param>
            <param name="aStyle">
            Describes how to style the match in the autocomplete widget
            </param>
            <param name="aFinalCompleteValue">
            Value used when the user confirms selecting this match. If not
            provided, aValue will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.GetListener">
            <summary>
            Gets the listener for changes in the result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResult.SetListener(Gecko.Interfaces.nsIAutoCompleteSimpleResultListener)">
            <summary>
            Sets a listener for changes in the result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIAutoCompleteSimpleResultListener.OnValueRemoved(Gecko.Interfaces.nsIAutoCompleteSimpleResult,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Dispatched after a value is removed from the result.
            </summary>
            <param name="aResult">
            The result from which aValue has been removed.
            </param>
            <param name="aValue">
            The removed value.
            </param>
            <param name="aRemoveFromDb">
            Whether the value should be removed from persistent storage as well.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIBackgroundFileSaver">
            <summary>
            Allows saving data to a file, while handling all the input/output on a
            background thread, including the initial file name assignment and any
            subsequent renaming of the target file.
            
            This interface is designed for file downloads.  Generally, they start in the
            temporary directory, while the user is selecting the final name.  Then, they
            are moved to the chosen target directory with a &quot;.part&quot; extension appended to
            the file name.  Finally, they are renamed when the download is completed.
            
            Components implementing both nsIBackgroundFileSaver and nsIStreamListener
            allow data to be fed using an implementation of OnDataAvailable that never
            blocks the calling thread.  They suspend the request that drives the stream
            listener in case too much data is being fed, and resume it when the data has
            been written.  Calling OnStopRequest does not necessarily close the target
            file, and the Finish method must be called to complete the operation.
            
            Components implementing both nsIBackgroundFileSaver and nsIAsyncOutputStream
            allow data to be fed directly to the non-blocking output stream, that however
            may return NS_BASE_STREAM_WOULD_BLOCK in case too much data is being fed.
            Closing the output stream does not necessarily close the target file, and the
            Finish method must be called to complete the operation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.GetObserverAttribute">
            <summary>
            This observer receives notifications when the target file name changes and
            when the operation completes, successfully or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.GetSignatureInfoAttribute">
            <summary>
            An nsIArray of nsIX509CertList, representing a chain of X.509 signatures on
            the downloaded file. Each list may belong to a different signer and contain
            certificates all the way up to the root.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: In case this is called before the onSaveComplete method has been
            called to notify success, or enableSignatureInfo has not been
            called.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.GetSha256HashAttribute(Gecko.nsACStringBase)">
            <summary>
            The SHA-256 hash, in raw bytes, associated with the data that was saved.
            
            In case the enableAppend method has been called, the hash computation
            includes the contents of the existing file, if any.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: In case the enableSha256 method has not been called, or before the
            onSaveComplete method has been called to notify success.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.EnableSignatureInfo">
            <summary>
            Instructs the component to compute the signatureInfo of the target file,
            and make it available in the signatureInfo property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.EnableSha256">
            <summary>
            Instructs the component to compute the SHA-256 hash of the target file, and
            make it available in the sha256Hash property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.EnableAppend">
            <summary>
            Instructs the component to append data to the initial target file, that
            will be specified by the first call to the setTarget method, instead of
            overwriting the file.
            
            If the initial target file does not exist, this method has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.SetTarget(Gecko.Interfaces.nsIFile,System.Boolean)">
            <summary>
            Sets the name of the output file to be written.  The target can be changed
            after data has already been fed, in which case the existing file will be
            moved to the new destination.
            
            In case the specified file already exists, and this method is called for
            the first time, the file may be either overwritten or appended to, based on
            whether the enableAppend method was called.  Subsequent calls always
            overwrite the specified target file with the previously saved data.
            
            No file will be written until this function is called at least once.  It&apos;s
            recommended not to feed any data until the output file is set.
            
            If an input/output error occurs with the specified file, the save operation
            fails.  Failure is notified asynchronously through the observer.
            </summary>
            <param name="aTarget">
            New output file to be written.
            </param>
            <param name="aKeepPartial">
            Indicates whether aFile should be kept as partially completed,
            rather than deleted, if the operation fails or is canceled.  This is
            generally set for downloads that use temporary &quot;.part&quot; files.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaver.Finish(System.Int32)">
            <summary>
            Terminates access to the output file, then notifies the observer with the
            specified status code.  A failure code will force the operation to be
            canceled, in which case the output file will be deleted if requested.
            
            This forces the involved streams to be closed, thus no more data should be
            fed to the component after this method has been called.
            
            This is the last method that should be called on this object, and the
            target file name cannot be changed anymore after this method has been
            called.  Conversely, before calling this method, the file can still be
            renamed even if all the data has been fed.
            </summary>
            <param name="aStatus">
            Result code that determines whether the operation should succeed or
            be canceled, and is notified to the observer.  If the operation
            fails meanwhile for other reasons, or the observer has been already
            notified of completion, this status code is ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaverObserver.OnTargetChange(Gecko.Interfaces.nsIBackgroundFileSaver,Gecko.Interfaces.nsIFile)">
            <summary>
            Called when the name of the output file has been determined.  This function
            may be called more than once if the target file is renamed while saving.
            </summary>
            <param name="aSaver">
            Reference to the object that raised the notification.
            </param>
            <param name="aTarget">
            Name of the file that is being written.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBackgroundFileSaverObserver.OnSaveComplete(Gecko.Interfaces.nsIBackgroundFileSaver,System.Int32)">
            <summary>
            Called when the operation completed, and the target file has been closed.
            If the operation succeeded, the target file is ready to be used, otherwise
            it might have been already deleted.
            </summary>
            <param name="aSaver">
            Reference to the object that raised the notification.
            </param>
            <param name="aStatus">
            Result code that determines whether the operation succeeded or
            failed, as well as the failure reason.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIBadCertListener2">
            <summary>
            A mechanism to report a broken SSL status. The recipient should NOT block.
            Can be used to obtain the SSL handshake status of a connection
            that will be canceled because of improper cert status.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBadCertListener2.NotifyCertProblem(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.Interfaces.nsISSLStatus,Gecko.nsAUTF8StringBase)">
            <summary>
            
            </summary>
            <param name="socketInfo">
            A network communication context that can be used to obtain more information
            about the active connection.
            </param>
            <param name="status">
            The SSL status object that describes the problem(s).
            </param>
            <param name="targetSite">
            The Site name that was used to open the current connection.
            </param>
            <returns>
            The consumer shall return true if it wants to suppress the error message
            related to the bad cert (the connection will still get canceled).
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIBaseWindow">
            <summary>
            The nsIBaseWindow describes a generic window and basic operations that
            can be performed on it.  This is not to be a complete windowing interface
            but rather a common set that nearly all windowed objects support.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBaseWindow.Repaint(System.Boolean)">
            <summary>
            Tell the window to repaint itself
            </summary>
            <param name="aForce">
            - if true, repaint immediately
            if false, the window may defer repainting as it sees fit.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBaseWindow.SetFocus">
            <summary>
            Give the window focus.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIBFCacheEntry">
            <summary>
            This interface lets you evict a document from the back/forward cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidiKeyboard.Reset">
            <summary>
            Inspects the installed keyboards and resets the bidi keyboard state
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidiKeyboard.IsLangRTL">
            <summary>
            Determines if the current keyboard language is right-to-left
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if no right-to-left keyboards are installed
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidiKeyboard.GetHaveBidiKeyboardsAttribute">
            <summary>
            Determines whether the system has at least one keyboard of each direction
            installed.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_IMPLEMENTED: if the widget layer does not provide this
            information.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIBinaryInputStream">
            <summary>
            This interface allows consumption of primitive data types from a &quot;binary
            stream&quot; containing untagged, big-endian binary data, i.e. as produced by an
            implementation of nsIBinaryOutputStream.  This might be used, for example,
            to implement network protocols or to read from architecture-neutral disk
            files, i.e. ones that can be read and written by both big-endian and
            little-endian platforms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.ReadBoolean">
            <summary>
            Read 8-bits from the stream.
            </summary>
            <returns>
            that byte to be treated as a boolean.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.ReadCString(Gecko.nsACStringBase)">
            <summary>
            Read an 8-bit pascal style string from the stream.
            32-bit length field, followed by length 8-bit chars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.ReadString(Gecko.nsAStringBase)">
            <summary>
            Read an 16-bit pascal style string from the stream.
            32-bit length field, followed by length PRUnichars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.ReadBytes(System.UInt32,System.String@)">
            <summary>
            Read an opaque byte array from the stream.
            </summary>
            <param name="aLength">
            the number of bytes that must be read.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if it can't read aLength bytes
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.ReadByteArray(System.UInt32,System.IntPtr@)">
            <summary>
            Read an opaque byte array from the stream, storing the results
            as an array of PRUint8s.
            </summary>
            <param name="aLength">
            the number of bytes that must be read.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if it can't read aLength bytes
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryInputStream.ReadArrayBuffer(System.UInt32,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Read opaque bytes from the stream, storing the results in an ArrayBuffer.
            </summary>
            <param name="aLength">
            the number of bytes that must be read
            </param>
            <param name="aArrayBuffer">
            the arraybuffer in which to store the results
            Note: passing view.buffer, where view is an ArrayBufferView of an
            ArrayBuffer, is not valid unless view.byteOffset == 0.
            </param>
            <returns>
            The number of bytes actually read into aArrayBuffer.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIBinaryOutputStream">
            <summary>
            This interface allows writing of primitive data types (integers,
            floating-point values, booleans, etc.) to a stream in a binary, untagged,
            fixed-endianness format.  This might be used, for example, to implement
            network protocols or to produce architecture-neutral binary disk files,
            i.e. ones that can be read and written by both big-endian and little-endian
            platforms.  Output is written in big-endian order (high-order byte first),
            as this is traditional network order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.Close">
            <summary>
            Close the stream. Forces the output stream to flush any buffered data.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.Flush">
            <summary>
            Flush the stream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.Write(System.IntPtr,System.UInt32)">
            <summary>
            Write data into the stream.
            </summary>
            <param name="aBuf">
            the buffer containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteFrom(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Writes data into the stream from an input stream.
            </summary>
            <param name="aFromStream">
            the stream containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            &lt;other-error&gt;: on failure
            
            NOTE: This method is defined by this interface in order to allow the
            output stream to efficiently copy the data from the input stream into
            its internal buffer (if any). If this method was provided as an external
            facility, a separate char* buffer would need to be used in order to call
            the output stream's other Write method.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level write method that has access to the stream's underlying buffer.
            The reader function may be called multiple times for segmented buffers.
            WriteSegments is expected to keep calling the reader until either there
            is nothing left to write or the reader returns an error.  WriteSegments
            should not call the reader with zero bytes to provide.
            </summary>
            <param name="aReader">
            the "provider" of the data to be written
            </param>
            <param name="aClosure">
            opaque parameter passed to reader
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket output stream).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: writing to a blocking output stream will block the calling thread
            until all given data can be consumed by the stream.
            
            NOTE: a non-blocking output stream may implement nsIAsyncOutputStream to
            provide consumers with a way to wait for the stream to accept more data
            once its write method is unable to accept any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteBoolean(System.Boolean)">
            <summary>
            Write a boolean as an 8-bit char to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteStringZ(System.String)">
            <summary>
            Write an 8-bit pascal style string to the stream.
            32-bit length field, followed by length 8-bit chars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteWStringZ(System.String)">
            <summary>
            Write a 16-bit pascal style string to the stream.
            32-bit length field, followed by length PRUnichars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteUtf8Z(System.String)">
            <summary>
            Write an 8-bit pascal style string (UTF8-encoded) to the stream.
            32-bit length field, followed by length 8-bit chars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteBytes(System.String,System.UInt32)">
            <summary>
            Write an opaque byte array to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBinaryOutputStream.WriteByteArray(System.Byte[],System.UInt32)">
            <summary>
            Write an opaque byte array to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBlocklistService.IsAddonBlocklisted(SpiderMonkey.JSVal@,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Determine if an item is blocklisted
            </summary>
            <param name="addon">
            The addon item to be checked.
            </param>
            <param name="appVersion">
            The version of the application we are checking in the blocklist.
            If this parameter is null, the version of the running application
            is used.
            </param>
            <param name="toolkitVersion">
            The version of the toolkit we are checking in the blocklist.
            If this parameter is null, the version of the running toolkit
            is used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBlocklistService.GetAddonBlocklistState(SpiderMonkey.JSVal@,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Determine the blocklist state of an add-on
            </summary>
            <param name="id">
            The addon item to be checked.
            </param>
            <param name="appVersion">
            The version of the application we are checking in the blocklist.
            If this parameter is null, the version of the running application
            is used.
            </param>
            <param name="toolkitVersion">
            The version of the toolkit we are checking in the blocklist.
            If this parameter is null, the version of the running toolkit
            is used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBlocklistService.GetPluginBlocklistState(Gecko.Interfaces.nsIPluginTag,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Determine the blocklist state of a plugin
            </summary>
            <param name="plugin">
            The plugin to get the state for
            </param>
            <param name="appVersion">
            The version of the application we are checking in the blocklist.
            If this parameter is null, the version of the running application
            is used.
            </param>
            <param name="toolkitVersion">
            The version of the toolkit we are checking in the blocklist.
            If this parameter is null, the version of the running toolkit
            is used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBlocklistService.GetAddonBlocklistURL(SpiderMonkey.JSVal@,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Determine the blocklist web page of an add-on.
            </summary>
            <param name="addon">
            The addon item whose url is required.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBlocklistService.GetPluginBlocklistURL(Gecko.Interfaces.nsIPluginTag,Gecko.nsAStringBase)">
            <summary>
            Determine the blocklist web page of a plugin.
            </summary>
            <param name="plugin">
            The blocked plugin that we are determining the web page for.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBlocklistService.GetPluginInfoURL(Gecko.Interfaces.nsIPluginTag,Gecko.nsAStringBase)">
            <summary>
            Determine the blocklist infoURL of a plugin.
            </summary>
            <param name="plugin">
            The blocked plugin that we are determining the infoURL for.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIBlocklistPrompt">
            <summary>
            nsIBlocklistPrompt is used, if available, by the default implementation of
            nsIBlocklistService to display a confirmation UI to the user before blocking
            extensions/plugins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBlocklistPrompt.Prompt(Gecko.Interfaces.nsIVariant[],System.UInt32)">
            <summary>
            Prompt the user about newly blocked addons. The prompt is then resposible
            for soft-blocking any addons that need to be afterwards
            </summary>
            <param name="aAddons">
            An array of addons and plugins that are blocked. These are javascript
            objects with properties:
            name    - the plugin or extension name,
            version - the version of the extension or plugin,
            icon    - the plugin or extension icon,
            disable - can be used by the nsIBlocklistPrompt to allows users to decide
            whether a soft-blocked add-on should be disabled,
            blocked - true if the item is hard-blocked, false otherwise,
            item    - the nsIPluginTag or Addon object
            </param>
            <param name="aCount">
            The number of addons
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIBrowserBoxObject">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIBrowserDOMWindow">
            <summary>
            The C++ source has access to the browser script source through
            nsIBrowserDOMWindow. It is intended to be attached to the chrome DOMWindow
            of a toplevel browser window (a XUL window). A DOMWindow that does not
            happen to be a browser chrome window will simply have no access to any such
            interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserDOMWindow.OpenURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.mozIDOMWindowProxy,System.Int16,System.Int32)">
            <summary>
            Load a URI
            </summary>
            <param name="aURI">
            the URI to open. null is allowed.  If null is passed in, no
            load will be done, though the window the load would have
            happened in will be returned.
            </param>
            <param name="aWhere">
            see possible values described above.
            </param>
            <param name="aOpener">
            window requesting the open (can be null).
            </param>
            <param name="aFlags">
            flags which control the behavior of the load. The
            OPEN_EXTERNAL/OPEN_NEW flag is only used when
            aWhere == OPEN_DEFAULTWINDOW.
            </param>
            <returns>
            the window into which the URI was opened.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserDOMWindow.OpenURIInFrame(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIOpenURIInFrameParams,System.Int16,System.Int32)">
            <summary>
            As above, but return the nsIFrameLoaderOwner for the new window.
            XXXbz is this the right API?
            See bug 537428
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserDOMWindow.IsTabContentWindow(Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            
            </summary>
            <param name="aWindow">
            the window to test.
            </param>
            <returns>
            whether the window is the main content window for any
            currently open tab in this toplevel browser window.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserDOMWindow.CanClose">
            <summary>
            This function is responsible for calling
            nsIContentViewer::PermitUnload on each frame in the window. It
            returns true if closing the window is allowed. See canClose() in
            BrowserUtils.jsm for a simple implementation of this method.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIBrowserElementAPI">
            <summary>
            Interface to the BrowserElementParent implementation. All methods
            but setFrameLoader throw when the remote process is dead.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserElementAPI.DestroyFrameScripts">
            <summary>
            Notify frame scripts that support the API to destroy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserElementAPI.GetWebManifest">
            <summary>
            Returns an object that represents a Web Manifest:
            http://w3c.github.io/manifest
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIBrowserGlue">
            <summary>
            nsIBrowserGlue is a dirty and rather fluid interface to host shared utility
            methods used by browser UI code, but which are not local to a browser window.
            The component implementing this interface is meant to be a singleton
            (service) and should progressively replace some of the shared &quot;glue&quot; code
            scattered in browser/base/content (e.g. bits of utilOverlay.js,
            contentAreaUtils.js, globalOverlay.js, browser.js), avoiding dynamic
            inclusion and initialization of a ton of JS code for *each* window.
            Dued to its nature and origin, this interface won&apos;t probably be the most
            elegant or stable in the mozilla codebase, but its aim is rather pragmatic:
            1) reducing the performance overhead which affects browser window load;
            2) allow global hooks (e.g. startup and shutdown observers) which survive
            browser windows to accomplish browser-related activities, such as shutdown
            sanitization (see bug #284086)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserGlue.Sanitize(Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            Deletes privacy sensitive data according to user preferences
            </summary>
            <param name="aParentWindow">
            an optionally null window which is the parent of the
            sanitization dialog
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserHandler.GetFeatures(Gecko.Interfaces.nsICommandLine,Gecko.nsAUTF8StringBase)">
            <summary>
            Extract the width and height specified on the command line, if present.
            </summary>
            <returns>
            A feature string with a prepended comma, e.g. &quot;,width=500,height=400&quot;
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserHistory.RemovePage(Gecko.Interfaces.nsIURI)">
            <summary>
            Removes a page from global history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserHistory.RemovePages(Gecko.Interfaces.nsIURI[],System.UInt32)">
            <summary>
            Removes a list of pages from global history.
            </summary>
            <param name="aURIs">
            Array of URIs to be removed.
            </param>
            <param name="aLength">
            Length of the array.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserHistory.RemovePagesFromHost(Gecko.nsAUTF8StringBase,System.Boolean)">
            <summary>
            Removes all global history information about pages for a given host.
            </summary>
            <param name="aHost">
            Hostname to be removed.
            An empty host name means local files and anything else with no
            hostname.  You can also pass in the localized &quot;(local files)&quot;
            title given to you from a history query to remove all
            history information from local files.
            </param>
            <param name="aEntireDomain">
            If true, will also delete pages from sub hosts (so if
            passed in &quot;microsoft.com&quot; will delete &quot;www.microsoft.com&quot;,
            &quot;msdn.microsoft.com&quot;, etc.).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserHistory.RemovePagesByTimeframe(System.UInt64,System.UInt64)">
            <summary>
            Removes all pages for a given timeframe.
            Limits are included: aBeginTime &lt;= timeframe &lt;= aEndTime
            </summary>
            <param name="aBeginTime">
            Microseconds from epoch, representing the initial time.
            </param>
            <param name="aEndTime">
            Microseconds from epoch, representing the final time.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserProfileMigrator.Migrate(System.UInt16,Gecko.Interfaces.nsIProfileStartup,SpiderMonkey.JSVal@)">
            <summary>
            Copy user profile information to the current active profile.
            </summary>
            <param name="aItems">
            list of data items to migrate. see above for values.
            </param>
            <param name="aStartup">
            helper interface which is non-null if called during startup.
            </param>
            <param name="aProfile">
            profile to migrate from, if there is more than one.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserProfileMigrator.GetMigrateData(SpiderMonkey.JSVal@,System.Boolean)">
            <summary>
            A bit field containing profile items that this migrator
            offers for import.
            </summary>
            <param name="aProfile">
            the profile that we are looking for available data
            to import
            </param>
            <param name="aDoingStartup">
            &quot;true&quot; if the profile is not currently being used.
            </param>
            <returns>
            bit field containing profile items (see above)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserProfileMigrator.GetLastUsedDate">
            <summary>
            Get the last time data from this browser was modified
            </summary>
            <returns>
            a promise that resolves to a JS Date object
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserProfileMigrator.GetSourceExistsAttribute">
            <summary>
            Whether or not there is any data that can be imported from this
            browser (i.e. whether or not it is installed, and there exists
            a user profile)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserProfileMigrator.GetSourceProfilesAttribute">
            <summary>
            An enumeration of available profiles. If the import source does
            not support profiles, this attribute is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserProfileMigrator.GetSourceHomePageURLAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The import source homepage.  Returns null if not present/available
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserProfileMigrator.GetSourceLockedAttribute">
            <summary>
            Whether the source browser data is locked/in-use meaning migration likely
            won&apos;t succeed and the user should be warned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchSubmission.GetPostDataAttribute">
            <summary>
            The POST data associated with a search submission, wrapped in a MIME
            input stream. May be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchSubmission.GetUriAttribute">
            <summary>
            The URI to submit a search to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetSubmission(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Gets a nsISearchSubmission object that contains information about what to
            send to the search engine, including the URI and postData, if applicable.
            </summary>
            <param name="data">
            Data to add to the submission object.
            i.e. the search terms.
            </param>
            <param name="responseType">
            [optional]
            The MIME type that we&apos;d like to receive in response
            to this submission.  If null, will default to &quot;text/html&quot;.
            </param>
            <param name="purpose">
            [optional]
            A string meant to indicate the context of the search request. This
            allows the search service to provide a different nsISearchSubmission
            depending on e.g. where the search is triggered in the UI.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.AddParam(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Adds a parameter to the search engine's submission data. This should only
            be called on engines created via addEngineWithDetails.
            </summary>
            <param name="name">
            The parameter's name. Must not be null.
            </param>
            <param name="value">
            The value to pass. If value is "{searchTerms}", it will be
            substituted with the user-entered data when retrieving the
            submission. Must not be null.
            </param>
            <param name="responseType">
            Since an engine can have several different request URLs,
            differentiated by response types, this parameter selects
            a request to add parameters to.  If null, will default
            to "text/html"
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the search engine is read-only.
            NS_ERROR_INVALID_ARG: if name or value are null.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.SupportsResponseType(Gecko.nsAStringBase)">
            <summary>
            Determines whether the engine can return responses in the given
            MIME type.  Returns true if the engine spec has a URL with the
            given responseType, false otherwise.
            </summary>
            <param name="responseType">
            The MIME type to check for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetIconURLBySize(System.Int32,System.Int32,Gecko.nsAStringBase)">
            <summary>
            Returns a string with the URL to an engine&apos;s icon matching both width and
            height. Returns null if icon with specified dimensions is not found.
            </summary>
            <param name="width">
            Width of the requested icon.
            </param>
            <param name="height">
            Height of the requested icon.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetIcons">
            <summary>
            Gets an array of all available icons. Each entry is an object with
            width, height and url properties. width and height are numeric and
            represent the icon&apos;s dimensions. url is a string with the URL for
            the icon.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.SpeculativeConnect(SpiderMonkey.JSVal@)">
            <summary>
            Opens a speculative connection to the engine's search URI
            (and suggest URI, if different) to reduce request latency
            </summary>
            <param name="options">
            An object that must contain the following fields:
            {window} the content window for the window performing the search
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if options is omitted or lacks required
            elemeents
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetAliasAttribute(Gecko.nsAStringBase)">
            <summary>
            An optional shortcut alias for the engine.
            When non-null, this is a unique identifier.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            A text description describing the engine.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetHiddenAttribute">
            <summary>
            Whether the engine should be hidden from the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetIconURIAttribute">
            <summary>
            A nsIURI corresponding to the engine&apos;s icon, stored locally. May be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The display name of the search engine. This is a unique identifier.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetSearchFormAttribute(Gecko.nsAStringBase)">
            <summary>
            A URL string pointing to the engine&apos;s search form.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetIdentifierAttribute(Gecko.nsAStringBase)">
            <summary>
            An optional unique identifier for this search engine within the context of
            the distribution, as provided by the distributing entity.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchEngine.GetResultDomain(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Gets a string representing the hostname from which search results for a
            given responseType are returned, minus the leading &quot;www.&quot; (if present).
            This can be specified as an url attribute in the engine description file,
            but will default to host from the &lt;Url&gt;&apos;s template otherwise.
            </summary>
            <param name="responseType">
            [optional]
            The MIME type to get resultDomain for.  Defaults to &quot;text/html&quot;.
            </param>
            <returns>
            the resultDomain for the given responseType.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchParseSubmissionResult.GetEngineAttribute">
            <summary>
            The search engine associated with the URL passed in to
            nsISearchEngine::parseSubmissionURL, or null if the URL does not represent
            a search submission.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchParseSubmissionResult.GetTermsAttribute(Gecko.nsAStringBase)">
            <summary>
            String containing the sought terms.  This can be an empty string in case no
            terms were specified or the URL does not represent a search submission.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchParseSubmissionResult.GetTermsOffsetAttribute">
            <summary>
            The offset of the string |terms| in the URL passed in to
            nsISearchEngine::parseSubmissionURL, or -1 if the URL does not represent
            a search submission.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchParseSubmissionResult.GetTermsLengthAttribute">
            <summary>
            The length of the |terms| in the original encoding of the URL passed in to
            nsISearchEngine::parseSubmissionURL. If the search term in the original
            URL is encoded then this will be bigger than |terms.length|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchInstallCallback.OnSuccess(Gecko.Interfaces.nsISearchEngine)">
            <summary>
            Called to indicate that the engine addition process succeeded.
            </summary>
            <param name="engine">
            The nsISearchEngine object that was added (will not be null).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchInstallCallback.OnError(System.UInt32)">
            <summary>
            Called to indicate that the engine addition process failed.
            </summary>
            <param name="errorCode">
            One of the ERROR_* values described above indicating the cause of
            the failure.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIBrowserSearchInitObserver">
            <summary>
            Callback for asynchronous initialization of nsIBrowserSearchService
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchInitObserver.OnInitComplete(System.Int32)">
            <summary>
            Called once initialization of the browser search service is complete.
            </summary>
            <param name="aStatus">
            The status of that service.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.Init(Gecko.Interfaces.nsIBrowserSearchInitObserver)">
            <summary>
            Start asynchronous initialization.
            
            The callback is triggered once initialization is complete, which may be
            immediately, if initialization has already been completed by some previous
            call to this method. The callback is always invoked asynchronously.
            </summary>
            <param name="aObserver">
            An optional object observing the end of initialization.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetIsInitializedAttribute">
            <summary>
            Determine whether initialization has been completed.
            
            Clients of the service can use this attribute to quickly determine whether
            initialization is complete, and decide to trigger some immediate treatment,
            to launch asynchronous initialization or to bailout.
            
            Note that this attribute does not indicate that initialization has succeeded.
            </summary>
            <returns>
            |true| if the search service is now initialized, |false| if
            initialization has not been triggered yet.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.ResetToOriginalDefaultEngine">
            <summary>
            Resets the default engine to its original value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.HasEngineWithURL(Gecko.nsAStringBase,Gecko.nsAStringBase,SpiderMonkey.JSVal@)">
            <summary>
            Checks if an EngineURL of type URLTYPE_SEARCH_HTML exists for
            any engine, with a matching method, template URL, and query params.
            </summary>
            <param name="method">
            The HTTP request method used when submitting a search query.
            Must be a case insensitive value of either &quot;get&quot; or &quot;post&quot;.
            </param>
            <param name="url">
            The URL to which search queries should be sent.
            Must not be null.
            </param>
            <param name="formData">
            The un-sorted form data used as query params.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.AddEngine(Gecko.nsAStringBase,System.Int32,Gecko.nsAStringBase,System.Boolean,Gecko.Interfaces.nsISearchInstallCallback)">
            <summary>
            Adds a new search engine from the file at the supplied URI, optionally
            asking the user for confirmation first.  If a confirmation dialog is
            shown, it will offer the option to begin using the newly added engine
            right away.
            </summary>
            <param name="engineURL">
            The URL to the search engine's description file.
            </param>
            <param name="dataType">
            Obsolete, the value is ignored.
            </param>
            <param name="iconURL">
            A URL string to an icon file to be used as the search engine's
            icon. This value may be overridden by an icon specified in the
            engine description file.
            </param>
            <param name="confirm">
            A boolean value indicating whether the user should be asked for
            confirmation before this engine is added to the list.  If this
            value is false, the engine will be added to the list upon successful
            load, but it will not be selected as the current engine.
            </param>
            <param name="callback">
            A nsISearchInstallCallback that will be notified when the
            addition is complete, or if the addition fails. It will not be
            called if addEngine throws an exception.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the description file cannot be successfully
            loaded.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.AddEngineWithDetails(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Adds a new search engine, without asking the user for confirmation and
            without starting to use it right away.
            </summary>
            <param name="name">
            The search engine&apos;s name. Must be unique. Must not be null.
            </param>
            <param name="iconURL">
            Optional: A URL string pointing to the icon to be used to represent
            the engine.
            </param>
            <param name="alias">
            Optional: A unique shortcut that can be used to retrieve the
            search engine.
            </param>
            <param name="description">
            Optional: a description of the search engine.
            </param>
            <param name="method">
            The HTTP request method used when submitting a search query.
            Must be a case insensitive value of either &quot;get&quot; or &quot;post&quot;.
            </param>
            <param name="url">
            The URL to which search queries should be sent.
            Must not be null.
            </param>
            <param name="extensionID">
            [optional]
            Optional: The correct extensionID if called by an add-on.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.RestoreDefaultEngines">
            <summary>
            Un-hides all engines installed in the directory corresponding to
            the directory service&apos;s NS_APP_SEARCH_DIR key. (i.e. the set of
            engines returned by getDefaultEngines)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetEngineByAlias(Gecko.nsAStringBase)">
            <summary>
            Returns an engine with the specified alias.
            </summary>
            <param name="alias">
            The search engine&apos;s alias.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetEngineByName(Gecko.nsAStringBase)">
            <summary>
            Returns an engine with the specified name.
            </summary>
            <param name="aEngineName">
            The name of the engine.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetEngines(System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of all installed search engines.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetVisibleEngines(System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of all installed search engines whose hidden attribute is
            false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetDefaultEngines(System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of all default search engines. This includes all loaded
            engines that aren&apos;t in the user&apos;s profile directory
            (NS_APP_USER_SEARCH_DIR).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.MoveEngine(Gecko.Interfaces.nsISearchEngine,System.Int32)">
            <summary>
            Moves a visible search engine.
            </summary>
            <param name="engine">
            The engine to move.
            </param>
            <param name="newIndex">
            The engine's new index in the set of visible engines.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if newIndex is out of bounds, or if engine is
            hidden.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.RemoveEngine(Gecko.Interfaces.nsISearchEngine)">
            <summary>
            Removes the search engine. If the search engine is installed in a global
            location, this will just hide the engine. If the engine is in the user&apos;s
            profile directory, it will be removed from disk.
            </summary>
            <param name="engine">
            The engine to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetOriginalDefaultEngineAttribute">
            <summary>
            The original Engine object that is the default for this region,
            ignoring changes the user may have subsequently made.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetDefaultEngineAttribute">
            <summary>
            Alias for the currentEngine attribute, kept for add-on compatibility.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetCurrentEngineAttribute">
            <summary>
            The currently active search engine.
            Unless the application doesn&apos;t ship any search plugin, this should never
            be null. If the currently active engine is removed, this attribute will
            fallback first to the original default engine if it&apos;s not hidden, then to
            the first visible engine, and as a last resort it will unhide the original
            default engine.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.GetDefaultEngineInfo">
            <summary>
            Gets a representation of the default engine in an anonymized JSON
            string suitable for recording in the Telemetry environment.
            </summary>
            <returns>
            an object containing anonymized info about the default engine:
            name, loadPath, submissionURL (for default engines).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBrowserSearchService.ParseSubmissionURL(Gecko.nsAStringBase)">
            <summary>
            Determines if the provided URL represents results from a search engine, and
            provides details about the match.
            
            The lookup mechanism checks whether the domain name and path of the
            provided HTTP or HTTPS URL matches one of the known values for the visible
            search engines.  The match does not depend on which of the schemes is used.
            The expected URI parameter for the search terms must exist in the query
            string, but other parameters are ignored.
            </summary>
            <param name="url">
            String containing the URL to parse, for example
            &quot;https://www.google.com/search?q=terms&quot;.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIBufferedInputStream">
            <summary>
            An input stream that reads ahead and keeps a buffer coming from another input
            stream so that fewer accesses to the underlying stream are necessary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedInputStream.Init(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            
            </summary>
            <param name="fillFromStream">
            - add buffering to this stream
            </param>
            <param name="bufferSize">
            - specifies the maximum buffer size
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIBufferedOutputStream">
            <summary>
            An output stream that stores up data to write out to another output stream
            and does the entire write only when the buffer is full, so that fewer writes
            to the underlying output stream are necessary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedOutputStream.Close">
            <summary>
            Close the stream. Forces the output stream to flush any buffered data.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedOutputStream.Flush">
            <summary>
            Flush the stream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedOutputStream.Write(System.IntPtr,System.UInt32)">
            <summary>
            Write data into the stream.
            </summary>
            <param name="aBuf">
            the buffer containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedOutputStream.WriteFrom(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Writes data into the stream from an input stream.
            </summary>
            <param name="aFromStream">
            the stream containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            &lt;other-error&gt;: on failure
            
            NOTE: This method is defined by this interface in order to allow the
            output stream to efficiently copy the data from the input stream into
            its internal buffer (if any). If this method was provided as an external
            facility, a separate char* buffer would need to be used in order to call
            the output stream's other Write method.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedOutputStream.WriteSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level write method that has access to the stream's underlying buffer.
            The reader function may be called multiple times for segmented buffers.
            WriteSegments is expected to keep calling the reader until either there
            is nothing left to write or the reader returns an error.  WriteSegments
            should not call the reader with zero bytes to provide.
            </summary>
            <param name="aReader">
            the "provider" of the data to be written
            </param>
            <param name="aClosure">
            opaque parameter passed to reader
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket output stream).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedOutputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: writing to a blocking output stream will block the calling thread
            until all given data can be consumed by the stream.
            
            NOTE: a non-blocking output stream may implement nsIAsyncOutputStream to
            provide consumers with a way to wait for the stream to accept more data
            once its write method is unable to accept any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIBufferedOutputStream.Init(Gecko.Interfaces.nsIOutputStream,System.UInt32)">
            <summary>
            
            </summary>
            <param name="sinkToStream">
            - add buffering to this stream
            </param>
            <param name="bufferSize">
            - specifies the maximum buffer size
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIByteRangeRequest.GetIsByteRangeRequestAttribute">
            <summary>
            Returns true IFF this request is a byte range request, otherwise it
            returns false (This is effectively the same as checking to see if
            |startRequest| is zero and |endRange| is the content length.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIByteRangeRequest.GetStartRangeAttribute">
            <summary>
            Absolute start position in remote file for this request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIByteRangeRequest.GetEndRangeAttribute">
            <summary>
            Absolute end postion in remote file for this request
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICache">
            <summary>
            nsICache is a namespace for various cache constants.  It does not represent
            an actual object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetKeyAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the key identifying the cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetPersistentAttribute">
            <summary>
            Whether the entry is memory/only or persisted to disk.
            Note: private browsing entries are reported as persistent for consistency
            while are not actually persisted to disk.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetFetchCountAttribute">
            <summary>
            Get the number of times the cache entry has been opened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetLastFetchedAttribute">
            <summary>
            Get the last time the cache entry was opened (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetLastModifiedAttribute">
            <summary>
            Get the last time the cache entry was modified (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetExpirationTimeAttribute">
            <summary>
            Get the expiration time of the cache entry (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.SetExpirationTime(System.UInt32)">
            <summary>
            Set the time at which the cache entry should be considered invalid (in
            seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.ForceValidFor(System.UInt32)">
            <summary>
            This method is intended to override the per-spec cache validation
            decisions for a duration specified in seconds. The current state can
            be examined with isForcedValid (see below). This value is not persisted,
            so it will not survive session restart. Cache entries that are forced valid
            will not be evicted from the cache for the duration of forced validity.
            This means that there is a potential problem if the number of forced valid
            entries grows to take up more space than the cache size allows.
            
            NOTE: entries that have been forced valid will STILL be ignored by HTTP
            channels if they have expired AND the resource in question requires
            validation after expiring. This is to avoid using known-stale content.
            </summary>
            <param name="aSecondsToTheFuture">
            the number of seconds the default cache validation behavior will be
            overridden before it returns to normal
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetIsForcedValidAttribute">
            <summary>
            The state variable for whether this entry is currently forced valid.
            Defaults to false for normal cache validation behavior, and will return
            true if the number of seconds set by forceValidFor() has yet to be reached.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.OpenInputStream(System.Int64)">
            <summary>
            Open blocking input stream to cache data.  Use the stream transport
            service to asynchronously read this stream on a background thread.
            The returned stream MAY implement nsISeekableStream.
            </summary>
            <param name="offset">
            read starting from this offset into the cached data.  an offset
            beyond the end of the stream has undefined consequences.
            </param>
            <returns>
            non-blocking, buffered input stream.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.OpenOutputStream(System.Int64)">
            <summary>
            Open non-blocking output stream to cache data.  The returned stream
            MAY implement nsISeekableStream.
            
            If opening an output stream to existing cached data, the data will be
            truncated to the specified offset.
            </summary>
            <param name="offset">
            write starting from this offset into the cached data.  an offset
            beyond the end of the stream has undefined consequences.
            </param>
            <returns>
            blocking, buffered output stream.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetPredictedDataSizeAttribute">
            <summary>
            Stores the Content-Length specified in the HTTP header for this
            entry. Checked before we write to the cache entry, to prevent ever
            taking up space in the cache for an entry that we know up front
            is going to have to be evicted anyway. See bug 588507.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetSecurityInfoAttribute">
            <summary>
            Get/set security info on the cache entry for this descriptor.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetStorageDataSizeAttribute">
            <summary>
            Get the size of the cache entry data, as stored. This may differ
            from the entry&apos;s dataSize, if the entry is compressed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.AsyncDoom(Gecko.Interfaces.nsICacheEntryDoomCallback)">
            <summary>
            Asynchronously doom an entry. Listener will be notified about the status
            of the operation. Null may be passed if caller doesn&apos;t care about the
            result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetMetaDataElement(System.String)">
            <summary>
            Methods for accessing meta data.  Meta data is a table of key/value
            string pairs.  The strings do not have to conform to any particular
            charset, but they must be null terminated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.VisitMetaData(Gecko.Interfaces.nsICacheEntryMetaDataVisitor)">
            <summary>
            Obtain the list of metadata keys this entry keeps.
            
            NOTE: The callback is invoked under the CacheFile&apos;s lock.  It means
            there should not be made any calls to the entry from the visitor and
            if the values need to be processed somehow, it&apos;s better to cache them
            and process outside the callback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.MetaDataReady">
            <summary>
            Claims that all metadata on this entry are up-to-date and this entry
            now can be delivered to other waiting consumers.
            
            We need such method since metadata must be delivered synchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.SetValid">
            <summary>
            Called by consumer upon 304/206 response from the server.  This marks
            the entry content as positively revalidated.
            Consumer uses this method after the consumer has returned ENTRY_NEEDS_REVALIDATION
            result from onCacheEntryCheck and after successfull revalidation with the server.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetDiskStorageSizeInKBAttribute">
            <summary>
            Returns the size in kilobytes used to store the cache entry on disk.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.Recreate(System.Boolean)">
            <summary>
            Doom this entry and open a new, empty, entry for write.  Consumer has
            to exchange the entry this method is called on for the newly created.
            Used on 200 responses to conditional requests.
            </summary>
            <param name="aMemoryOnly">
            - whether the entry is to be created as memory/only regardless how
            the entry being recreated persistence is set
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetDataSizeAttribute">
            <summary>
            Returns the length of data this entry holds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.GetAltDataSizeAttribute">
            <summary>
            Returns the length of data this entry holds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.OpenAlternativeOutputStream(Gecko.nsACStringBase)">
            <summary>
            Opens and returns an output stream that a consumer may use to save an
            alternate representation of the data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.OpenAlternativeInputStream(Gecko.nsACStringBase)">
            <summary>
            Opens and returns an input stream that can be used to read the alternative
            representation previously saved in the cache.
            If this call is made while writing alt-data is still in progress, it is
            still possible to read content from the input stream as it&apos;s being written.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.Close">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.MarkValid">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.MaybeMarkValid">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntry.HasWriteAccess(System.Boolean)">
            <summary>
            
            </summary>
            <param name="aWriteAllowed">
            Consumer indicates whether write to the entry is allowed for it.
            Depends on implementation how the flag is handled.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICacheEntryMetaDataVisitor">
            <summary>
            Argument for nsICacheEntry.visitMetaData, provides access to all metadata
            keys and values stored on the entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryMetaDataVisitor.OnMetaDataElement(System.String,System.String)">
            <summary>
            Called over each key / value pair.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetClientIDAttribute">
            <summary>
            Get the client id associated with this cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetDeviceIDAttribute">
            <summary>
            Get the id for the device that stores this cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetKeyAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the key identifying the cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetFetchCountAttribute">
            <summary>
            Get the number of times the cache entry has been opened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetLastFetchedAttribute">
            <summary>
            Get the last time the cache entry was opened (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetLastModifiedAttribute">
            <summary>
            Get the last time the cache entry was modified (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetExpirationTimeAttribute">
            <summary>
            Get the expiration time of the cache entry (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.GetDataSizeAttribute">
            <summary>
            Get the cache entry data size.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryInfo.IsStreamBased">
            <summary>
            Find out whether or not the cache entry is stream based.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetClientIDAttribute">
            <summary>
            Get the client id associated with this cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetDeviceIDAttribute">
            <summary>
            Get the id for the device that stores this cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetKeyAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the key identifying the cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetFetchCountAttribute">
            <summary>
            Get the number of times the cache entry has been opened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetLastFetchedAttribute">
            <summary>
            Get the last time the cache entry was opened (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetLastModifiedAttribute">
            <summary>
            Get the last time the cache entry was modified (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetExpirationTimeAttribute">
            <summary>
            Get the expiration time of the cache entry (in seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetDataSizeAttribute">
            <summary>
            Get the cache entry data size.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.IsStreamBased">
            <summary>
            Find out whether or not the cache entry is stream based.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.SetExpirationTime(System.UInt32)">
            <summary>
            Set the time at which the cache entry should be considered invalid (in
            seconds since the Epoch).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.SetDataSize(System.UInt32)">
            <summary>
            Set the cache entry data size.  This will fail if the cache entry
            IS stream based.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.OpenInputStream(System.UInt32)">
            <summary>
            Open blocking input stream to cache data.  This will fail if the cache
            entry IS NOT stream based.  Use the stream transport service to
            asynchronously read this stream on a background thread.  The returned
            stream MAY implement nsISeekableStream.
            </summary>
            <param name="offset">
            read starting from this offset into the cached data.  an offset
            beyond the end of the stream has undefined consequences.
            </param>
            <returns>
            blocking, unbuffered input stream.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.OpenOutputStream(System.UInt32)">
            <summary>
            Open blocking output stream to cache data.  This will fail if the cache
            entry IS NOT stream based.  Use the stream transport service to
            asynchronously write to this stream on a background thread.  The returned
            stream MAY implement nsISeekableStream.
            
            If opening an output stream to existing cached data, the data will be
            truncated to the specified offset.
            </summary>
            <param name="offset">
            write starting from this offset into the cached data.  an offset
            beyond the end of the stream has undefined consequences.
            </param>
            <returns>
            blocking, unbuffered output stream.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetCacheElementAttribute">
            <summary>
            Get/set the cache data element.  This will fail if the cache entry
            IS stream based.  The cache entry holds a strong reference to this
            object.  The object will be released when the cache entry is destroyed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetPredictedDataSizeAttribute">
            <summary>
            Stores the Content-Length specified in the HTTP header for this
            entry. Checked before we write to the cache entry, to prevent ever
            taking up space in the cache for an entry that we know up front
            is going to have to be evicted anyway. See bug 588507.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetAccessGrantedAttribute">
            <summary>
            Get the access granted to this descriptor.  See nsICache.idl for the
            definitions of the access modes and a thorough description of their
            corresponding meanings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetStoragePolicyAttribute">
            <summary>
            Get/set the storage policy of the cache entry.  See nsICache.idl for
            the definitions of the storage policies.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetFileAttribute">
            <summary>
            Get the disk file associated with the cache entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetSecurityInfoAttribute">
            <summary>
            Get/set security info on the cache entry for this descriptor.  This fails
            if the storage policy is not STORE_IN_MEMORY.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetStorageDataSizeAttribute">
            <summary>
            Get the size of the cache entry data, as stored. This may differ
            from the entry&apos;s dataSize, if the entry is compressed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.Doom">
            <summary>
            Doom the cache entry this descriptor references in order to slate it for
            removal.  Once doomed a cache entry cannot be undoomed.
            
            A descriptor with WRITE access can doom the cache entry and choose to
            fail pending requests.  This means that pending requests will not get
            a cache descriptor.  This is meant as a tool for clients that wish to
            instruct pending requests to skip the cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.AsyncDoom(Gecko.Interfaces.nsICacheListener)">
            <summary>
            Asynchronously doom an entry. Listener will be notified about the status
            of the operation. Null may be passed if caller doesn&apos;t care about the
            result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.MarkValid">
            <summary>
            A writer must validate this cache object before any readers are given
            a descriptor to the object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.Close">
            <summary>
            Explicitly close the descriptor (optional).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.GetMetaDataElement(System.String)">
            <summary>
            Methods for accessing meta data.  Meta data is a table of key/value
            string pairs.  The strings do not have to conform to any particular
            charset, but they must be null terminated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDescriptor.VisitMetaData(Gecko.Interfaces.nsICacheMetaDataVisitor)">
            <summary>
            Visitor will be called with key/value pair for each meta data element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheMetaDataVisitor.VisitMetaDataElement(System.String,System.String)">
            <summary>
            Called for each key/value pair in the meta data for a cache entry
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryDoomCallback.OnCacheEntryDoomed(System.Int32)">
            <summary>
            Callback invoked after an entry or entries has/have been
            doomed from the cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryOpenCallback.OnCacheEntryCheck(Gecko.Interfaces.nsICacheEntry,Gecko.Interfaces.nsIApplicationCache)">
            <summary>
            Callback to perform any validity checks before the entry should be used.
            Called before onCacheEntryAvailable callback, depending on the result it
            may be called more then one time.
            
            This callback is ensured to be called on the same thread on which asyncOpenURI
            has been called, unless nsICacheStorage.CHECK_MULTITHREADED flag has been specified.
            In that case this callback can be invoked on any thread, usually it is the cache I/O
            or cache management thread.
            
            IMPORTANT NOTE:
            This callback may be invoked sooner then respective asyncOpenURI call exits.
            </summary>
            <param name="aEntry">
            An entry to examine.  Consumer has a chance to decide whether the
            entry is valid or not.
            </param>
            <param name="aApplicationCache">
            Optional, application cache the entry has been found in, if any.
            </param>
            <returns>
            State of the entry, see the constants just above.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheEntryOpenCallback.OnCacheEntryAvailable(Gecko.Interfaces.nsICacheEntry,System.Boolean,Gecko.Interfaces.nsIApplicationCache,System.Int32)">
            <summary>
            Callback giving actual result of asyncOpenURI.  It may give consumer the cache
            entry or a failure result when it&apos;s not possible to open it from some reason.
            This callback is ensured to be called on the same thread on which asyncOpenURI
            has been called.
            
            IMPORTANT NOTE:
            This callback may be invoked sooner then respective asyncOpenURI call exits.
            </summary>
            <param name="aEntry">
            The entry bound to the originally requested URI.  May be null when
            loading from a particular application cache and the URI has not
            been found in that application cache.
            </param>
            <param name="aNew">
            Whether no data so far has been stored for this entry, i.e. reading
            it will just fail.  When aNew is true, a server request should be
            made and data stored to this new entry.
            </param>
            <param name="aApplicationCache">
            When an entry had been found in an application cache, this is the
            given application cache.  It should be associated with the loading
            channel.
            </param>
            <param name="aResult">
            Result of the request.  This may be a failure only when one of these
            issues occur:
            - the cache storage service could not be started due to some unexpected
            faulure
            - there is not enough disk space to create new entries
            - cache entry was not found in a given application cache
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.GetCacheTokenExpirationTimeAttribute">
            <summary>
            Get expiration time from cache token. This attribute is equivalent to
            nsICachingChannel.cacheToken.expirationTime.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.GetCacheTokenCachedCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            Set/get charset of cache entry. Accessing this attribute is equivalent to
            calling nsICachingChannel.cacheToken.getMetaDataElement(&quot;charset&quot;) and
            nsICachingChannel.cacheToken.setMetaDataElement(&quot;charset&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.IsFromCache">
            <summary>
            TRUE if this channel&apos;s data is being loaded from the cache.  This value
            is undefined before the channel fires its OnStartRequest notification
            and after the channel fires its OnStopRequest notification.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.GetCacheKeyAttribute">
            <summary>
            Set/get the cache key... uniquely identifies the data in the cache
            for this channel.  Holding a reference to this key does NOT prevent
            the cached data from being removed.
            
            A cache key retrieved from a particular instance of nsICacheInfoChannel
            could be set on another instance of nsICacheInfoChannel provided the
            underlying implementations are compatible and provided the new
            channel instance was created with the same URI.  The implementation of
            nsICacheInfoChannel would be expected to use the cache entry identified
            by the cache token.  Depending on the value of nsIRequest::loadFlags,
            the cache entry may be validated, overwritten, or simply read.
            
            The cache key may be NULL indicating that the URI of the channel is
            sufficient to locate the same cache entry.  Setting a NULL cache key
            is likewise valid.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.GetAllowStaleCacheContentAttribute">
            <summary>
            Tells the channel to behave as if the LOAD_FROM_CACHE flag has been set,
            but without affecting the loads for the entire loadGroup in case of this
            channel being the default load group&apos;s channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.PreferAlternativeDataType(Gecko.nsACStringBase)">
            <summary>
            Calling this method instructs the channel to serve the alternative data
            if that was previously saved in the cache, otherwise it will serve the
            real data.
            Must be called before AsyncOpen.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.GetAlternativeDataTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            Holds the type of the alternative data representation that the channel
            is returning.
            Is empty string if no alternative data representation was requested, or
            if the requested representation wasn&apos;t found in the cache.
            Can only be called during or after OnStartRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheInfoChannel.OpenAlternativeOutputStream(Gecko.nsACStringBase)">
            <summary>
            Opens and returns an output stream that a consumer may use to save an
            alternate representation of the data.
            Must be called after the OnStopRequest that delivered the real data.
            The consumer may choose to replace the saved alt representation.
            Opening the output stream will fail if there are any open input streams
            reading the already saved alt representation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheListener.OnCacheEntryAvailable(Gecko.Interfaces.nsICacheEntryDescriptor,System.Int32,System.Int32)">
            <summary>
            Called when the requested access (or appropriate subset) is
            acquired.  The status parameter equals NS_OK on success.
            See nsICacheService.idl for accessGranted values.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheListener.OnCacheEntryDoomed(System.Int32)">
            <summary>
            Called when nsCacheSession::DoomEntry() is completed. The status
            parameter is NS_OK when the entry was doomed, or NS_ERROR_NOT_AVAILABLE
            when there is no such entry.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICacheService">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheService.CreateSession(System.String,System.Int32,System.Boolean)">
            <summary>
            
            </summary>
            <param name="clientID">
            - Specifies the name of the client using the cache.
            </param>
            <param name="storagePolicy">
            - Limits the storage policy for all entries
            accessed via the returned session.  As a result, devices excluded
            by the storage policy will not be searched when opening entries
            from the returned session.
            </param>
            <param name="streamBased">
            - Indicates whether or not the data being cached
            can be represented as a stream.  The storagePolicy must be
            consistent with the value of this field.  For example, a non-stream-
            based cache entry can only have a storage policy of STORE_IN_MEMORY.
            </param>
            <returns>
            new cache session.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_IMPLEMENTED: when the cache v2 is prefered to use.
            
            Create a cache session
            
            A cache session represents a client's access into the cache.  The cache
            session is not "owned" by the cache service.  Hence, it is possible to
            create duplicate cache sessions.  Entries created by a cache session
            are invisible to other cache sessions, unless the cache sessions are
            equivalent.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheService.VisitEntries(Gecko.Interfaces.nsICacheVisitor)">
            <summary>
            
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_IMPLEMENTED: when the cache v2 is prefered to use.
            
            Visit entries stored in the cache.  Used to implement about:cache.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheService.EvictEntries(System.Int32)">
            <summary>
            
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_IMPLEMENTED: when the cache v2 is prefered to use.
            
            Evicts all entries in all devices implied by the storage policy.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheService.GetCacheIOTargetAttribute">
            <summary>
            Event target which is used for I/O operations
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheServiceInternal.CreateSession(System.String,System.Int32,System.Boolean)">
            <summary>
            
            </summary>
            <param name="clientID">
            - Specifies the name of the client using the cache.
            </param>
            <param name="storagePolicy">
            - Limits the storage policy for all entries
            accessed via the returned session.  As a result, devices excluded
            by the storage policy will not be searched when opening entries
            from the returned session.
            </param>
            <param name="streamBased">
            - Indicates whether or not the data being cached
            can be represented as a stream.  The storagePolicy must be
            consistent with the value of this field.  For example, a non-stream-
            based cache entry can only have a storage policy of STORE_IN_MEMORY.
            </param>
            <returns>
            new cache session.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_IMPLEMENTED: when the cache v2 is prefered to use.
            
            Create a cache session
            
            A cache session represents a client's access into the cache.  The cache
            session is not "owned" by the cache service.  Hence, it is possible to
            create duplicate cache sessions.  Entries created by a cache session
            are invisible to other cache sessions, unless the cache sessions are
            equivalent.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheServiceInternal.VisitEntries(Gecko.Interfaces.nsICacheVisitor)">
            <summary>
            
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_IMPLEMENTED: when the cache v2 is prefered to use.
            
            Visit entries stored in the cache.  Used to implement about:cache.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheServiceInternal.EvictEntries(System.Int32)">
            <summary>
            
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_IMPLEMENTED: when the cache v2 is prefered to use.
            
            Evicts all entries in all devices implied by the storage policy.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheServiceInternal.GetCacheIOTargetAttribute">
            <summary>
            Event target which is used for I/O operations
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheServiceInternal.GetLockHeldTimeAttribute">
            <summary>
            Milliseconds for which the service lock has been held. 0 if unlocked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.GetDoomEntriesIfExpiredAttribute">
            <summary>
            Expired entries will be doomed or evicted if this attribute is set to
            true.  If false, expired entries will be returned (useful for offline-
            mode and clients, such as HTTP, that can update the valid lifetime of
            cached content).  This attribute defaults to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.GetProfileDirectoryAttribute">
            <summary>
            When set, entries created with this session will be placed to a cache
            based at this directory.  Use when storing entries to a different
            profile than the active profile of the the current running application
            process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.OpenCacheEntry(Gecko.nsACStringBase,System.Int32,System.Boolean)">
            <summary>
            Synchronous cache access. This method fails if it is called on the main
            thread. Use asyncOpenCacheEntry() instead. This returns a unique
            descriptor each time it is called, even if the same key is specified.
            When called by multiple threads for write access, only one writable
            descriptor will be granted.  If &apos;blockingMode&apos; is set to false, it will
            return NS_ERROR_CACHE_WAIT_FOR_VALIDATION rather than block when another
            descriptor has been given WRITE access but hasn&apos;t validated the entry yet.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.AsyncOpenCacheEntry(Gecko.nsACStringBase,System.Int32,Gecko.Interfaces.nsICacheListener,System.Boolean)">
            <summary>
            Asynchronous cache access. Does not block the calling thread. Instead,
            the listener will be notified when the descriptor is available. If
            &apos;noWait&apos; is set to true, the listener will be notified immediately with
            status NS_ERROR_CACHE_WAIT_FOR_VALIDATION rather than queuing the request
            when another descriptor has been given WRITE access but hasn&apos;t validated
            the entry yet.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.EvictEntries">
            <summary>
            Evict all entries for this session&apos;s clientID according to its storagePolicy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.IsStorageEnabled">
            <summary>
            Return whether any of the cache devices implied by the session storage policy
            are currently enabled for instantiation if they don&apos;t already exist.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.DoomEntry(Gecko.nsACStringBase,Gecko.Interfaces.nsICacheListener)">
            <summary>
            Asynchronously doom an entry specified by the key. Listener will be
            notified about the status of the operation. Null may be passed if caller
            doesn&apos;t care about the result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheSession.GetIsPrivateAttribute">
            <summary>
            Private entries will be doomed when the last private browsing session
            finishes.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICacheStorage">
            <summary>
            Representation of a cache storage. There can be just-in-mem,
            in-mem+on-disk, in-mem+on-disk+app-cache or just a specific
            app-cache storage.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorage.AsyncOpenURI(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,System.UInt32,Gecko.Interfaces.nsICacheEntryOpenCallback)">
            <summary>
            Asynchronously opens a cache entry for the specified URI.
            Result is fetched asynchronously via the callback.
            </summary>
            <param name="aURI">
            The URI to search in cache or to open for writting.
            </param>
            <param name="aIdExtension">
            Any string that will extend (distinguish) the entry.  Two entries
            with the same aURI but different aIdExtension will be comletely
            different entries.  If you don&apos;t know what aIdExtension should be
            leave it empty.
            </param>
            <param name="aFlags">
            OPEN_NORMALLY - open cache entry normally for read and write
            OPEN_TRUNCATE - delete any existing entry before opening it
            OPEN_READONLY - don&apos;t create an entry if there is none
            OPEN_PRIORITY - give this request a priority over others
            OPEN_BYPASS_IF_BUSY - backward compatibility only, LOAD_BYPASS_LOCAL_CACHE_IF_BUSY
            CHECK_MULTITHREADED - onCacheEntryCheck may be called on any thread, consumer
            implementation is thread-safe
            </param>
            <param name="aCallback">
            The consumer that receives the result.
            IMPORTANT: The callback may be called sooner the method returns.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorage.OpenTruncate(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase)">
            <summary>
            Immediately opens a new and empty cache entry in the storage, any existing
            entries are immediately doomed.  This is similar to the recreate() method
            on nsICacheEntry.
            
            Storage may not implement this method and throw NS_ERROR_NOT_IMPLEMENTED.
            In that case consumer must use asyncOpen with OPEN_TRUNCATE flag and get
            the new entry via a callback.
            </summary>
            <param name="aURI">
            @see asyncOpenURI
            </param>
            <param name="aIdExtension">
            @see asyncOpenURI
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorage.Exists(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase)">
            <summary>
            Synchronously check on existance of an entry.  In case of disk entries
            this uses information from the cache index.  When the index data are not
            up to date or index is still building, NS_ERROR_NOT_AVAILABLE is thrown.
            The same error may throw any storage implementation that cannot determine
            entry state without blocking the caller.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorage.AsyncDoomURI(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,Gecko.Interfaces.nsICacheEntryDoomCallback)">
            <summary>
            Asynchronously removes an entry belonging to the URI from the cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorage.AsyncEvictStorage(Gecko.Interfaces.nsICacheEntryDoomCallback)">
            <summary>
            Asynchronously removes all cached entries under this storage.
            NOTE: Disk storage also evicts memory storage.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorage.AsyncVisitStorage(Gecko.Interfaces.nsICacheStorageVisitor,System.Boolean)">
            <summary>
            Visits the storage and its entries.
            NOTE: Disk storage also visits memory storage.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICacheStorageService">
            <summary>
            Provides access to particual cache storages of the network URI cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.MemoryCacheStorage(Gecko.Interfaces.nsILoadContextInfo)">
            <summary>
            Get storage where entries will only remain in memory, never written
            to the disk.
            
            NOTE: Any existing disk entry for [URL|id-extension] will be doomed
            prior opening an entry using this memory-only storage.  Result of
            AsyncOpenURI will be a new and empty memory-only entry.  Using
            OPEN_READONLY open flag has no effect on this behavior.
            </summary>
            <param name="aLoadContextInfo">
            Information about the loading context, this focuses the storage JAR and
            respects separate storage for private browsing.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.DiskCacheStorage(Gecko.Interfaces.nsILoadContextInfo,System.Boolean)">
            <summary>
            Get storage where entries will be written to disk when not forbidden by
            response headers.
            </summary>
            <param name="aLookupAppCache">
            When set true (for top level document loading channels) app cache will
            be first to check on to find entries in.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.PinningCacheStorage(Gecko.Interfaces.nsILoadContextInfo)">
            <summary>
            Get storage where entries will be written to disk and marked as pinned.
            These pinned entries are immune to over limit eviction and call of clear()
            on this service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.AppCacheStorage(Gecko.Interfaces.nsILoadContextInfo,Gecko.Interfaces.nsIApplicationCache)">
            <summary>
            Get storage for a specified application cache obtained using some different
            mechanism.
            </summary>
            <param name="aLoadContextInfo">
            Mandatory reference to a load context information.
            </param>
            <param name="aApplicationCache">
            Optional reference to an existing appcache.  When left null, this will
            work with offline cache as a whole.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.SynthesizedCacheStorage(Gecko.Interfaces.nsILoadContextInfo)">
            <summary>
            Get storage for synthesized cache entries that we currently use for ServiceWorker interception in non-e10s mode.
            
            This cache storage has no limits on file size to allow the ServiceWorker to intercept large files.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.Clear">
            <summary>
            Evict the whole cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.PurgeFromMemory(System.UInt32)">
            <summary>
            Purges data we keep warmed in memory.  Use for tests and for
            saving memory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.GetIoTargetAttribute">
            <summary>
            I/O thread target to use for any operations on disk
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageService.AsyncGetDiskConsumption(Gecko.Interfaces.nsICacheStorageConsumptionObserver)">
            <summary>
            Asynchronously determine how many bytes of the disk space the cache takes.
            </summary>
            <param name="aObserver">
            A mandatory (weak referred) observer.  Documented at
            nsICacheStorageConsumptionObserver.
            NOTE: the observer MUST implement nsISupportsWeakReference.
            </param>
            <remarks>
            See nsICacheStorageConsumptionObserver
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageConsumptionObserver.OnNetworkCacheDiskConsumption(System.Int64)">
            <summary>
            Callback invoked to answer asyncGetDiskConsumption call. Always triggered
            on the main thread.
            NOTE: implementers must also implement nsISupportsWeakReference.
            </summary>
            <param name="aDiskSize">
            The disk consumption in bytes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageVisitor.OnCacheStorageInfo(System.UInt32,System.UInt64,System.UInt64,Gecko.Interfaces.nsIFile)">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageVisitor.OnCacheEntryInfo(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,System.Int64,System.Int32,System.UInt32,System.UInt32,System.Boolean)">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheStorageVisitor.OnCacheEntryVisitCompleted">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICacheTesting">
            <summary>
            This is an internal interface used only for testing purposes.
            
            THIS IS NOT AN API TO BE USED BY EXTENSIONS! ONLY USED BY MOZILLA TESTS.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheVisitor.VisitDevice(System.String,Gecko.Interfaces.nsICacheDeviceInfo)">
            <summary>
            Called to provide information about a cache device.
            </summary>
            <param name="deviceID">
            - specifies the device being visited.
            </param>
            <param name="deviceInfo">
            - specifies information about this device.
            </param>
            <returns>
            false to advance to the next device.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheVisitor.VisitEntry(System.String,Gecko.Interfaces.nsICacheEntryInfo)">
            <summary>
            Called to provide information about a cache entry.
            </summary>
            <param name="deviceID">
            - specifies the device being visited.
            </param>
            <param name="entryInfo">
            - specifies information about this entry.
            </param>
            <returns>
            false to advance to the next device.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheDeviceInfo.GetDescriptionAttribute">
            <summary>
            Get a human readable description of the cache device.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheDeviceInfo.GetUsageReportAttribute">
            <summary>
            Get a usage report, statistics, miscellaneous data about
            the cache device.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheDeviceInfo.GetEntryCountAttribute">
            <summary>
            Get the number of stored cache entries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheDeviceInfo.GetTotalSizeAttribute">
            <summary>
            Get the total size of the stored cache entries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICacheDeviceInfo.GetMaximumSizeAttribute">
            <summary>
            Get the upper limit of the size of the data the cache can store.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICachingChannel">
            <summary>
            A channel may optionally implement this interface to allow clients
            to affect its behavior with respect to how it uses the cache service.
            
            This interface provides:
            1) Support for &quot;stream as file&quot; semantics (for JAR and plugins).
            2) Support for &quot;pinning&quot; cached data in the cache (for printing and save-as).
            3) Support for uniquely identifying cached data in cases when the URL
            is insufficient (e.g., HTTP form submission).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetCacheTokenExpirationTimeAttribute">
            <summary>
            Get expiration time from cache token. This attribute is equivalent to
            nsICachingChannel.cacheToken.expirationTime.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetCacheTokenCachedCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            Set/get charset of cache entry. Accessing this attribute is equivalent to
            calling nsICachingChannel.cacheToken.getMetaDataElement(&quot;charset&quot;) and
            nsICachingChannel.cacheToken.setMetaDataElement(&quot;charset&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.IsFromCache">
            <summary>
            TRUE if this channel&apos;s data is being loaded from the cache.  This value
            is undefined before the channel fires its OnStartRequest notification
            and after the channel fires its OnStopRequest notification.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetCacheKeyAttribute">
            <summary>
            Set/get the cache key... uniquely identifies the data in the cache
            for this channel.  Holding a reference to this key does NOT prevent
            the cached data from being removed.
            
            A cache key retrieved from a particular instance of nsICacheInfoChannel
            could be set on another instance of nsICacheInfoChannel provided the
            underlying implementations are compatible and provided the new
            channel instance was created with the same URI.  The implementation of
            nsICacheInfoChannel would be expected to use the cache entry identified
            by the cache token.  Depending on the value of nsIRequest::loadFlags,
            the cache entry may be validated, overwritten, or simply read.
            
            The cache key may be NULL indicating that the URI of the channel is
            sufficient to locate the same cache entry.  Setting a NULL cache key
            is likewise valid.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetAllowStaleCacheContentAttribute">
            <summary>
            Tells the channel to behave as if the LOAD_FROM_CACHE flag has been set,
            but without affecting the loads for the entire loadGroup in case of this
            channel being the default load group&apos;s channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.PreferAlternativeDataType(Gecko.nsACStringBase)">
            <summary>
            Calling this method instructs the channel to serve the alternative data
            if that was previously saved in the cache, otherwise it will serve the
            real data.
            Must be called before AsyncOpen.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetAlternativeDataTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            Holds the type of the alternative data representation that the channel
            is returning.
            Is empty string if no alternative data representation was requested, or
            if the requested representation wasn&apos;t found in the cache.
            Can only be called during or after OnStartRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.OpenAlternativeOutputStream(Gecko.nsACStringBase)">
            <summary>
            Opens and returns an output stream that a consumer may use to save an
            alternate representation of the data.
            Must be called after the OnStopRequest that delivered the real data.
            The consumer may choose to replace the saved alt representation.
            Opening the output stream will fail if there are any open input streams
            reading the already saved alt representation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetCacheTokenAttribute">
            <summary>
            Set/get the cache token... uniquely identifies the data in the cache.
            Holding a reference to this token prevents the cached data from being
            removed.
            
            A cache token retrieved from a particular instance of nsICachingChannel
            could be set on another instance of nsICachingChannel provided the
            underlying implementations are compatible.  The implementation of
            nsICachingChannel would be expected to only read from the cache entry
            identified by the cache token and not try to validate it.
            
            The cache token can be QI&apos;d to a nsICacheEntryInfo if more detail
            about the cache entry is needed (e.g., expiration time).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetOfflineCacheTokenAttribute">
            <summary>
            The same as above but accessing the offline app cache token if there
            is any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetCacheOnlyMetadataAttribute">
            <summary>
            Instructs the channel to only store the metadata of the entry, and not
            the content. When reading an existing entry, this automatically sets
            LOAD_ONLY_IF_MODIFIED flag.
            Must be called before asyncOpen().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.GetPinAttribute">
            <summary>
            Tells the channel to use the pinning storage.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICachingChannel.ForceCacheEntryValidFor(System.UInt32)">
            <summary>
            Overrides cache validation for a time specified in seconds.
            </summary>
            <param name="aSecondsToTheFuture">
            
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICancelable">
            <summary>
            This interface provides a means to cancel an operation that is in progress.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICancelable.Cancel(System.Int32)">
            <summary>
            Call this method to request that this object abort whatever operation it
            may be performing.
            </summary>
            <param name="aReason">
            Pass a failure code to indicate the reason why this operation is
            being canceled.  It is an error to pass a success code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalCallback.Prepare">
            <summary>
            Preparation for network interface before captive portal detection started.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalCallback.Complete(System.Boolean)">
            <summary>
            Invoke callbacks after captive portal detection finished.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalDetector.CheckCaptivePortal(System.String,Gecko.Interfaces.nsICaptivePortalCallback)">
            <summary>
            Perform captive portal detection on specific network interface.
            </summary>
            <param name="ifname">
            The name of network interface, exception will be thrwon
            if the same interface has unfinished request.
            </param>
            <param name="callback">
            Callbacks when detection procedure starts and finishes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalDetector.Abort(System.String)">
            <summary>
            Abort captive portal detection for specific network interface
            due to system failure, callback will not be invoked.
            </summary>
            <param name="ifname">
            The name of network interface.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalDetector.CancelLogin(System.String)">
            <summary>
            Cancel captive portal login procedure by user, callback will be invoked.
            </summary>
            <param name="eventId">
            Login event id provided in |captive-portal-login| event.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalDetector.FinishPreparation(System.String)">
            <summary>
            Notify prepare phase is finished, routing and dns must be ready for sending
            out XMLHttpRequest. this is callback for CaptivePortalDetector API user.
            </summary>
            <param name="ifname">
            The name of network interface, must be unique.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalServiceCallback.Complete(System.Boolean,System.Int32)">
            <summary>
            Invoke callbacks after captive portal detection finished.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICaptivePortalService">
            <summary>
            Service used for captive portal detection.
            The service is only active in the main process. It is also available in the
            content process, but only to mirror the captive portal state from the main
            process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalService.RecheckCaptivePortal">
            <summary>
            Called from XPCOM to trigger a captive portal recheck.
            A network request will only be performed if no other checks are currently
            ongoing.
            Will not do anything if called in the content process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalService.GetStateAttribute">
            <summary>
            Returns the state of the captive portal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICaptivePortalService.GetLastCheckedAttribute">
            <summary>
            Returns the time difference between NOW and the last time a request was
            completed in milliseconds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICategoryManager.GetCategoryEntry(System.String,System.String)">
            <summary>
            Get the value for the given category&apos;s entry.
            </summary>
            <param name="aCategory">
            The name of the category (&quot;protocol&quot;)
            </param>
            <param name="aEntry">
            The entry you&apos;re looking for (&quot;http&quot;)
            </param>
            <returns>
            The value.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICategoryManager.AddCategoryEntry(System.String,System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            Add an entry to a category.
            </summary>
            <param name="aCategory">
            The name of the category (&quot;protocol&quot;)
            </param>
            <param name="aEntry">
            The entry to be added (&quot;http&quot;)
            </param>
            <param name="aValue">
            The value for the entry (&quot;moz.httprulez.1&quot;)
            </param>
            <param name="aPersist">
            Should this data persist between invocations?
            </param>
            <param name="aReplace">
            Should we replace an existing entry?
            </param>
            <returns>
            Previous entry, if any
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICategoryManager.DeleteCategoryEntry(System.String,System.String,System.Boolean)">
            <summary>
            Delete an entry from the category.
            </summary>
            <param name="aCategory">
            The name of the category (&quot;protocol&quot;)
            </param>
            <param name="aEntry">
            The entry to be added (&quot;http&quot;)
            </param>
            <param name="aPersist">
            Delete persistent data from registry, if present?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICategoryManager.DeleteCategory(System.String)">
            <summary>
            Delete a category and all entries.
            </summary>
            <param name="aCategory">
            The category to be deleted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICategoryManager.EnumerateCategory(System.String)">
            <summary>
            Enumerate the entries in a category.
            </summary>
            <param name="aCategory">
            The category to be enumerated.
            </param>
            <returns>
            a simple enumerator, each result QIs to
            nsISupportsCString.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICategoryManager.EnumerateCategories">
            <summary>
            Enumerate all existing categories
            </summary>
            <param name="aCategory">
            The category to be enumerated.
            </param>
            <returns>
            a simple enumerator, each result QIs to
            nsISupportsCString.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsICertBlocklist">
            <summary>
            Represents a service to add certificates as explicitly blocked/distrusted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertBlocklist.RevokeCertByIssuerAndSerial(System.String,System.String)">
            <summary>
            Add details of a revoked certificate :
            issuer name (base-64 encoded DER) and serial number (base-64 encoded DER).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertBlocklist.RevokeCertBySubjectAndPubKey(System.String,System.String)">
            <summary>
            Add details of a revoked certificate :
            subject name (base-64 encoded DER) and hash of public key (base-64 encoded
            sha-256 hash of the public key).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertBlocklist.SaveEntries">
            <summary>
            Persist (fresh) blocklist entries to the profile (if a profile directory is
            available). Note: calling this will result in synchronous I/O.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertBlocklist.IsCertRevoked(System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.Byte[],System.UInt32,System.Byte[],System.UInt32)">
            <summary>
            Check if a certificate is blocked.
            isser - issuer name, DER encoded
            serial - serial number, DER encoded
            subject - subject name, DER encoded
            pubkey - public key, DER encoded
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertBlocklist.IsBlocklistFresh">
            <summary>
            Check that the blocklist data is current. Specifically, that the current
            time is no more than security.onecrl.maximum_staleness_in_seconds seconds
            after the last blocklist update (as stored in the
            app.update.lastUpdateTime.blocklist-background-update-timer pref)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICertificateDialogs">
            <summary>
            Functions that implement user interface dialogs to manage certificates.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertificateDialogs.ConfirmDownloadCACert(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.Interfaces.nsIX509Cert,System.UInt32@)">
            <summary>
            UI shown when a user is asked to download a new CA cert.
            Provides user with ability to choose trust settings for the cert.
            Asks the user to grant permission to import the certificate.
            </summary>
            <param name="ctx">
            A user interface context.
            </param>
            <param name="cert">
            The certificate that is about to get installed.
            </param>
            <param name="trust">
            a bit mask of trust flags,
            see nsIX509CertDB for possible values.
            </param>
            <returns>
            true if the user allows to import the certificate.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICertificateDialogs.SetPKCS12FilePassword(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.nsAStringBase)">
            <summary>
            UI shown when a user&apos;s personal certificate is going to be
            exported to a backup file.
            The implementation of this dialog should make sure
            to prompt the user to type the password twice in order to
            confirm correct input.
            The wording in the dialog should also motivate the user
            to enter a strong password.
            </summary>
            <param name="ctx">
            A user interface context.
            </param>
            <param name="password">
            The password provided by the user.
            </param>
            <returns>
            false if the user requests to cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICertificateDialogs.GetPKCS12FilePassword(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.nsAStringBase)">
            <summary>
            UI shown when a user is about to restore a personal
            certificate from a backup file.
            The user is requested to enter the password
            that was used in the past to protect that backup file.
            </summary>
            <param name="ctx">
            A user interface context.
            </param>
            <param name="password">
            The password provided by the user.
            </param>
            <returns>
            false if the user requests to cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICertificateDialogs.ViewCert(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.Interfaces.nsIX509Cert)">
            <summary>
            UI shown when a certificate needs to be shown to the user.
            The implementation should try to display as many attributes
            as possible.
            </summary>
            <param name="ctx">
            A user interface context.
            </param>
            <param name="cert">
            The certificate to be shown to the user.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICertOverrideService">
            <summary>
            This represents the global list of triples
            {host:port, cert-fingerprint, allowed-overrides}
            that the user wants to accept without further warnings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertOverrideService.RememberValidityOverride(Gecko.nsACStringBase,System.Int32,Gecko.Interfaces.nsIX509Cert,System.UInt32,System.Boolean)">
            <summary>
            The given cert should always be accepted for the given hostname:port,
            regardless of errors verifying the cert.
            Host:Port is a primary key, only one entry per host:port can exist.
            The implementation will store a fingerprint of the cert.
            The implementation will decide which fingerprint alg is used.
            
            Each override is specific to exactly the errors overridden, so
            overriding everything won&apos;t match certs at the given host:port
            which only exhibit some subset of errors.
            </summary>
            <param name="aHostName">
            The host (punycode) this mapping belongs to
            </param>
            <param name="aPort">
            The port this mapping belongs to, if it is -1 then it
            is internaly treated as 443
            </param>
            <param name="aCert">
            The cert that should always be accepted
            </param>
            <param name="aOverrideBits">
            The precise set of errors we want to be overriden
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICertOverrideService.RememberTemporaryValidityOverrideUsingFingerprint(Gecko.nsACStringBase,System.Int32,Gecko.nsACStringBase,System.UInt32)">
            <summary>
            Certs with the given fingerprint should always be accepted for the
            given hostname:port, regardless of errors verifying the cert.
            Host:Port is a primary key, only one entry per host:port can exist.
            The fingerprint should be an SHA-256 hash of the certificate.
            </summary>
            <param name="aHostName">
            The host (punycode) this mapping belongs to
            </param>
            <param name="aPort">
            The port this mapping belongs to, if it is -1 then it
            is internaly treated as 443
            </param>
            <param name="aCertFingerprint">
            The cert fingerprint that should be accepted, in
            the format &apos;AA:BB:...&apos; (colon-separated upper-case hex bytes).
            </param>
            <param name="aOverrideBits">
            The errors we want to be overriden
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICertOverrideService.HasMatchingOverride(Gecko.nsACStringBase,System.Int32,Gecko.Interfaces.nsIX509Cert,System.UInt32@,System.Boolean@)">
            <summary>
            Return whether this host, port, cert triple has a stored override.
            If so, the outparams will contain the specific errors that were
            overridden, and whether the override is permanent, or only for the current
            session.
            </summary>
            <param name="aHostName">
            The host (punycode) this mapping belongs to
            </param>
            <param name="aPort">
            The port this mapping belongs to, if it is -1 then it
            is internally treated as 443
            </param>
            <param name="aCert">
            The certificate this mapping belongs to
            </param>
            <param name="aOverrideBits">
            The errors that are currently overridden
            </param>
            <param name="aIsTemporary">
            Whether the stored override is session-only,
            or permanent
            </param>
            <returns>
            Whether an override has been stored for this host+port+cert
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICertOverrideService.GetValidityOverride(Gecko.nsACStringBase,System.Int32,Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt32@,System.Boolean@)">
            <summary>
            Retrieve the stored override for the given hostname:port.
            </summary>
            <param name="aHostName">
            The host (punycode) whose entry should be tested
            </param>
            <param name="aPort">
            The port whose entry should be tested, if it is -1 then it
            is internaly treated as 443
            </param>
            <param name="aHashAlg">
            On return value True, the fingerprint hash algorithm
            as an OID value in dotted notation.
            </param>
            <param name="aFingerprint">
            On return value True, the stored fingerprint
            </param>
            <param name="aOverrideBits">
            The errors that are currently overriden
            </param>
            <returns>
            whether a matching override entry for aHostNameWithPort
            and aFingerprint is currently on file
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICertOverrideService.ClearValidityOverride(Gecko.nsACStringBase,System.Int32)">
            <summary>
            Remove a override for the given hostname:port.
            </summary>
            <param name="aHostName">
            The host (punycode) whose entry should be cleared.
            </param>
            <param name="aPort">
            The port whose entry should be cleared.
            If it is -1, then it is internaly treated as 443.
            If it is 0 and aHostName is &quot;all:temporary-certificates&quot;,
            then all temporary certificates should be cleared.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICertOverrideService.IsCertUsedForOverrides(Gecko.Interfaces.nsIX509Cert,System.Boolean,System.Boolean)">
            <summary>
            Is the given cert used in rules?
            </summary>
            <param name="aCert">
            The cert we&apos;re looking for
            </param>
            <returns>
            how many override entries are currently on file
            for the given certificate
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetRowCountAttribute">
            <summary>
            The total number of rows in the tree (including the offscreen rows).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetSelectionAttribute">
            <summary>
            The selection for this view.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetRowProperties(System.Int32,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties.  For each property X the view
            gives back will cause the pseudoclasses  ::-moz-tree-cell(x),
            ::-moz-tree-row(x), ::-moz-tree-twisty(x), ::-moz-tree-image(x),
            ::-moz-tree-cell-text(x).  to be matched on the pseudoelement
            ::moz-tree-row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetCellProperties(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties for a given cell.  Each
            property, x, that the view gives back will cause the pseudoclasses
            ::-moz-tree-cell(x), ::-moz-tree-row(x), ::-moz-tree-twisty(x),
            ::-moz-tree-image(x), ::-moz-tree-cell-text(x). to be matched on the
            cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetColumnProperties(Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            Called to get properties to paint a column background.  For shading the sort
            column, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.IsContainer(System.Int32)">
            <summary>
            Methods that can be used to test whether or not a twisty should be drawn,
            and if so, whether an open or closed twisty should be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.IsSeparator(System.Int32)">
            <summary>
            isSeparator is used to determine if the row at index is a separator.
            A value of true will result in the tree drawing a horizontal separator.
            The tree uses the ::moz-tree-separator pseudoclass to draw the separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.IsSorted">
            <summary>
            Specifies if there is currently a sort on any column. Used mostly by dragdrop
            to affect drop feedback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.CanDrop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Methods used by the drag feedback code to determine if a drag is allowable at
            the current location. To get the behavior where drops are only allowed on
            items, such as the mailNews folder pane, always return false when
            the orientation is not DROP_ON.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.Drop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Called when the user drops something on this view. The |orientation| param
            specifies before/on/after the given |row|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetParentIndex(System.Int32)">
            <summary>
            Methods used by the tree to draw thread lines in the tree.
            getParentIndex is used to obtain the index of a parent row.
            If there is no parent row, getParentIndex returns -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.HasNextSibling(System.Int32,System.Int32)">
            <summary>
            hasNextSibling is used to determine if the row at rowIndex has a nextSibling
            that occurs *after* the index specified by afterIndex.  Code that is forced
            to march down the view looking at levels can optimize the march by starting
            at afterIndex+1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetLevel(System.Int32)">
            <summary>
            The level is an integer value that represents
            the level of indentation.  It is multiplied by the width specified in the
            :moz-tree-indentation pseudoelement to compute the exact indendation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetImageSrc(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The image path for a given cell. For defining an icon for a cell.
            If the empty string is returned, the :moz-tree-image pseudoelement
            will be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The value for a given cell. This method is only called for columns
            of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.GetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The text for a given cell.  If a column consists only of an image, then
            the empty string is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.SetTree(Gecko.Interfaces.nsITreeBoxObject)">
            <summary>
            Called during initialization to link the view to the front end box object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.ToggleOpenState(System.Int32)">
            <summary>
            Called on the view when an item is opened or closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.CycleHeader(Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a header is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.SelectionChanged">
            <summary>
            Should be called from a XUL onselect handler whenever the selection changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.CycleCell(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a cell in a non-selectable cycling column (e.g., unread/flag/etc.) is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.IsEditable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isEditable is called to ask the view if the cell contents are editable.
            A value of true will result in the tree popping up a text field when
            the user tries to inline edit the cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.IsSelectable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isSelectable is called to ask the view if the cell is selectable.
            This method is only called if the selection style is |cell| or |text|.
            XXXvarga shouldn&apos;t this be called isCellSelectable?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.SetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellValue is called when the value of the cell has been set by the user.
            This method is only called for columns of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.SetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellText is called when the contents of the cell have been edited by the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.PerformAction(System.String)">
            <summary>
            A command API that can be used to invoke commands on the selection.  The tree
            will automatically invoke this method when certain keys are pressed.  For example,
            when the DEL key is pressed, performAction will be called with the &quot;delete&quot; string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.PerformActionOnRow(System.String,System.Int32)">
            <summary>
            A command API that can be used to invoke commands on a specific row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICertTree.PerformActionOnCell(System.String,System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            A command API that can be used to invoke commands on a specific cell.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIChannel">
            <summary>
            The nsIChannel interface allows clients to construct &quot;GET&quot; requests for
            specific protocols, and manage them in a uniform way.  Once a channel is
            created (via nsIIOService::newChannel), parameters for that request may
            be set by using the channel attributes, or by QI&apos;ing to a subclass of
            nsIChannel for protocol-specific parameters.  Then, the URI can be fetched
            by calling nsIChannel::open or nsIChannel::asyncOpen.
            
            After a request has been completed, the channel is still valid for accessing
            protocol-specific results.  For example, QI&apos;ing to nsIHttpChannel allows
            response headers to be retrieved for the corresponding http transaction.
            
            This interface must be used only from the XPCOM main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetOriginalURIAttribute">
            <summary>
            The original URI used to construct the channel. This is used in
            the case of a redirect or URI &quot;resolution&quot; (e.g. resolving a
            resource: URI to a file: URI) so that the original pre-redirect
            URI can still be obtained.  This is never null.  Attempts to
            set it to null must throw.
            
            NOTE: this is distinctly different from the http Referer (referring URI),
            which is typically the page that contained the original URI (accessible
            from nsIHttpChannel).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetURIAttribute">
            <summary>
            The URI corresponding to the channel.  Its value is immutable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetOwnerAttribute">
            <summary>
            The owner, corresponding to the entity that is responsible for this
            channel.  Used by the security manager to grant or deny privileges to
            mobile code loaded from this channel.
            
            NOTE: this is a strong reference to the owner, so if the owner is also
            holding a strong reference to the channel, care must be taken to
            explicitly drop its reference to the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetNotificationCallbacksAttribute">
            <summary>
            The notification callbacks for the channel.  This is set by clients, who
            wish to provide a means to receive progress, status and protocol-specific
            notifications.  If this value is NULL, the channel implementation may use
            the notification callbacks from its load group.  The channel may also
            query the notification callbacks from its load group if its notification
            callbacks do not supply the requested interface.
            
            Interfaces commonly requested include: nsIProgressEventSink, nsIPrompt,
            and nsIAuthPrompt/nsIAuthPrompt2.
            
            When the channel is done, it must not continue holding references to
            this object.
            
            NOTE: A channel implementation should take care when &quot;caching&quot; an
            interface pointer queried from its notification callbacks.  If the
            notification callbacks are changed, then a cached interface pointer may
            become invalid and may therefore need to be re-queried.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetSecurityInfoAttribute">
            <summary>
            Transport-level security information (if any) corresponding to the
            channel.
            
            NOTE: In some circumstances TLS information is propagated onto
            non-nsIHttpChannel objects to indicate that their contents were likely
            delivered over TLS all the same.  For example, document.open() may
            create an nsWyciwygChannel to store the data that will be written to the
            document.  In that case, if the caller has TLS information, we propagate
            that info onto the nsWyciwygChannel given that it is likely that the
            caller will be writing data that was delivered over TLS to the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetContentTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The MIME type of the channel&apos;s content if available.
            
            NOTE: the content type can often be wrongly specified (e.g., wrong file
            extension, wrong MIME type, wrong document type stored on a server, etc.),
            and the caller most likely wants to verify with the actual data.
            
            Setting contentType before the channel has been opened provides a hint
            to the channel as to what the MIME type is.  The channel may ignore this
            hint in deciding on the actual MIME type that it will report.
            
            Setting contentType after onStartRequest has been fired or after open()
            is called will override the type determined by the channel.
            
            Setting contentType between the time that asyncOpen() is called and the
            time when onStartRequest is fired has undefined behavior at this time.
            
            The value of the contentType attribute is a lowercase string.  A value
            assigned to this attribute will be parsed and normalized as follows:
            1- any parameters (delimited with a &apos;;&apos;) will be stripped.
            2- if a charset parameter is given, then its value will replace the
            the contentCharset attribute of the channel.
            3- the stripped contentType will be lowercased.
            Any implementation of nsIChannel must follow these rules.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetContentCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The character set of the channel&apos;s content if available and if applicable.
            This attribute only applies to textual data.
            
            The value of the contentCharset attribute is a mixedcase string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetContentLengthAttribute">
            <summary>
            The length of the data associated with the channel if available.  A value
            of -1 indicates that the content length is unknown. Note that this is a
            64-bit value and obsoletes the &quot;content-length&quot; property used on some
            channels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.Open">
            <summary>
            Synchronously open the channel.
            </summary>
            <returns>
            blocking input stream to the channel&apos;s data.
            
            NOTE: nsIChannel implementations are not required to implement this
            method.  Moreover, since this method may block the calling thread, it
            should not be called on a thread that processes UI events.  Like any
            other nsIChannel method it must not be called on any thread other
            than the XPCOM main thread.
            
            NOTE: Implementations should throw NS_ERROR_IN_PROGRESS if the channel
            is reopened.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.Open2">
            <summary>
            Performs content security check and calls open()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.AsyncOpen(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            Asynchronously open this channel.  Data is fed to the specified stream
            listener as it becomes available.  The stream listener&apos;s methods are
            called on the thread that calls asyncOpen and are not called until
            after asyncOpen returns.  If asyncOpen returns successfully, the
            channel promises to call at least onStartRequest and onStopRequest.
            
            If the nsIRequest object passed to the stream listener&apos;s methods is not
            this channel, an appropriate onChannelRedirect notification needs to be
            sent to the notification callbacks before onStartRequest is called.
            Once onStartRequest is called, all following method calls on aListener
            will get the request that was passed to onStartRequest.
            
            If the channel&apos;s and loadgroup&apos;s notification callbacks do not provide
            an nsIChannelEventSink when onChannelRedirect would be called, that&apos;s
            equivalent to having called onChannelRedirect.
            
            If asyncOpen returns successfully, the channel is responsible for
            keeping itself alive until it has called onStopRequest on aListener or
            called onChannelRedirect.
            
            Implementations are allowed to synchronously add themselves to the
            associated load group (if any).
            
            NOTE: Implementations should throw NS_ERROR_ALREADY_OPENED if the
            channel is reopened.
            </summary>
            <param name="aListener">
            the nsIStreamListener implementation
            </param>
            <param name="aContext">
            an opaque parameter forwarded to aListener&apos;s methods
            </param>
            <remarks>
            See nsIChannelEventSink for onChannelRedirect
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.AsyncOpen2(Gecko.Interfaces.nsIStreamListener)">
            <summary>
            Performs content security check and calls asyncOpen().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetContentDispositionAttribute">
            <summary>
            Access to the type implied or stated by the Content-Disposition header
            if available and if applicable. This allows determining inline versus
            attachment.
            
            Setting contentDisposition provides a hint to the channel about the
            disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will
            be used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty, and return
            DISPOSITION_ATTACHMENT if an invalid/noncompliant value is present.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetContentDispositionFilenameAttribute(Gecko.nsAStringBase)">
            <summary>
            Access to the filename portion of the Content-Disposition header if
            available and if applicable. This allows getting the preferred filename
            without having to parse it out yourself.
            
            Setting contentDispositionFilename provides a hint to the channel about
            the disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will be
            used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header doesn&apos;t
            exist for this type of channel, if the header is empty, if the header
            doesn&apos;t contain a filename portion, or the value of the filename
            attribute is empty/missing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetContentDispositionHeaderAttribute(Gecko.nsACStringBase)">
            <summary>
            Access to the raw Content-Disposition header if available and applicable.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannel.GetLoadInfoAttribute">
            <summary>
            The LoadInfo object contains information about a network load, why it
            was started, and how we plan on using the resulting response.
            If a network request is redirected, the new channel will receive a new
            LoadInfo object. The new object will contain mostly the same
            information as the pre-redirect one, but updated as appropriate.
            For detailed information about what parts of LoadInfo are updated on
            redirect, see documentation on individual properties.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIChannelEventSink">
            <summary>
            Implement this interface to receive control over various channel events.
            Channels will try to get this interface from a channel&apos;s
            notificationCallbacks or, if not available there, from the loadGroup&apos;s
            notificationCallbacks.
            
            These methods are called before onStartRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChannelEventSink.AsyncOnChannelRedirect(Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsIChannel,System.UInt32,Gecko.Interfaces.nsIAsyncVerifyRedirectCallback)">
            <summary>
            Called when a redirect occurs. This may happen due to an HTTP 3xx status
            code. The purpose of this method is to notify the sink that a redirect
            is about to happen, but also to give the sink the right to veto the
            redirect by throwing or passing a failure-code in the callback.
            
            Note that vetoing the redirect simply means that |newChannel| will not
            be opened. It is important to understand that |oldChannel| will continue
            loading as if it received a HTTP 200, which includes notifying observers
            and possibly display or process content attached to the HTTP response.
            If the sink wants to prevent this loading it must explicitly deal with
            it, e.g. by calling |oldChannel-&gt;Cancel()|
            
            There is a certain freedom in implementing this method:
            
            If the return-value indicates success, a callback on |callback| is
            required. This callback can be done from within asyncOnChannelRedirect
            (effectively making the call synchronous) or at some point later
            (making the call asynchronous). Repeat: A callback must be done
            if this method returns successfully.
            
            If the return value indicates error (method throws an exception)
            the redirect is vetoed and no callback must be done. Repeat: No
            callback must be done if this method throws!
            </summary>
            <param name="oldChannel">
            The channel that&apos;s being redirected.
            </param>
            <param name="newChannel">
            The new channel. This channel is not opened yet.
            </param>
            <param name="flags">
            Flags indicating the type of redirect. A bitmask consisting
            of flags from above.
            One of REDIRECT_TEMPORARY and REDIRECT_PERMANENT will always be
            set.
            </param>
            <param name="callback">
            Object to inform about the async result of this method
            </param>
            <remarks>
            See nsIAsyncVerifyRedirectCallback::onRedirectVerifyCallback()
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIChildChannel">
            <summary>
            Implemented by content side of IPC protocols.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChildChannel.ConnectParent(System.UInt32)">
            <summary>
            Create the chrome side of the IPC protocol and join an existing &apos;real&apos;
            channel on the parent process.  The id is provided by
            nsIRedirectChannelRegistrar on the chrome process and pushed to the child
            protocol as an argument to event starting a redirect.
            
            Primarilly used in HttpChannelChild::Redirect1Begin on a newly created
            child channel, where the new channel is intended to be created on the
            child process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChildChannel.CompleteRedirectSetup(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            As AsyncOpen is called on the chrome process for redirect target channels,
            we have to inform the child side of the protocol of that fact by a special
            method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChromeRegistry.ConvertChromeURL(Gecko.Interfaces.nsIURI)">
            <summary>
            Resolve a chrome URL to an loadable URI using the information in the
            registry. Does not modify aChromeURL.
            
            Chrome URLs are allowed to be specified in &quot;shorthand&quot;, leaving the
            &quot;file&quot; portion off. In that case, the URL is expanded to:
            
            chrome://package/provider/package.ext
            
            where &quot;ext&quot; is:
            
            &quot;xul&quot; for a &quot;content&quot; package,
            &quot;css&quot; for a &quot;skin&quot; package, and
            &quot;dtd&quot; for a &quot;locale&quot; package.
            </summary>
            <param name="aChromeURL">
            the URL that is to be converted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIChromeRegistry.CheckForNewChrome">
            <summary>
            refresh the chrome list at runtime, looking for new packages/etc
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIChromeRegistry.WrappersEnabled(Gecko.Interfaces.nsIURI)">
            <summary>
            returns whether XPCNativeWrappers are enabled for aURI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULChromeRegistry.ConvertChromeURL(Gecko.Interfaces.nsIURI)">
            <summary>
            Resolve a chrome URL to an loadable URI using the information in the
            registry. Does not modify aChromeURL.
            
            Chrome URLs are allowed to be specified in &quot;shorthand&quot;, leaving the
            &quot;file&quot; portion off. In that case, the URL is expanded to:
            
            chrome://package/provider/package.ext
            
            where &quot;ext&quot; is:
            
            &quot;xul&quot; for a &quot;content&quot; package,
            &quot;css&quot; for a &quot;skin&quot; package, and
            &quot;dtd&quot; for a &quot;locale&quot; package.
            </summary>
            <param name="aChromeURL">
            the URL that is to be converted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULChromeRegistry.CheckForNewChrome">
            <summary>
            refresh the chrome list at runtime, looking for new packages/etc
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULChromeRegistry.WrappersEnabled(Gecko.Interfaces.nsIURI)">
            <summary>
            returns whether XPCNativeWrappers are enabled for aURI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULChromeRegistry.AllowScriptsForPackage(Gecko.Interfaces.nsIURI)">
            <summary>
            Installable skin XBL is not always granted the same privileges as other
            chrome. This asks the chrome registry whether scripts are allowed to be
            run for a particular chrome URI. Do not pass non-chrome URIs to this
            method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULChromeRegistry.AllowContentToAccess(Gecko.Interfaces.nsIURI)">
            <summary>
            Content should only be allowed to load chrome JS from certain packages.
            This method reflects the contentaccessible flag on packages.
            Do not pass non-chrome URIs to this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULChromeRegistry.CanLoadURLRemotely(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if the passed chrome URL is allowed to be loaded in a remote
            process. This reflects the remoteenabled flag on packages.
            Do not pass non-chrome URIs to this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULChromeRegistry.MustLoadURLRemotely(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if the passed chrome URL must be loaded in a remote process.
            This reflects the remoterequired flag on packages.
            Do not pass non-chrome URIs to this method.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIClassInfo">
            <summary>
            Provides information about a specific implementation class.  If you want
            your class to implement nsIClassInfo, see nsIClassInfoImpl.h for
            instructions--you most likely do not want to inherit from nsIClassInfo.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClassInfo.GetInterfaces(System.UInt32@,System.IntPtr@)">
            <summary>
            Get an ordered list of the interface ids that instances of the class
            promise to implement. Note that nsISupports is an implicit member
            of any such list and need not be included.
            
            Should set *count = 0 and *array = null and return NS_OK if getting the
            list is not supported.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClassInfo.GetScriptableHelper">
            <summary>
            Return an object to assist XPConnect in supplying JavaScript-specific
            behavior to callers of the instance object, or null if not needed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClassInfo.GetContractIDAttribute">
            <summary>
            A contract ID through which an instance of this class can be created
            (or accessed as a service, if |flags &amp; SINGLETON|), or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClassInfo.GetClassDescriptionAttribute">
            <summary>
            A human readable string naming the class, or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClassInfo.GetClassIDAttribute">
            <summary>
            A class ID through which an instance of this class can be created
            (or accessed as a service, if |flags &amp; SINGLETON|), or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClassInfo.GetClassIDNoAllocAttribute">
            <summary>
            Also a class ID through which an instance of this class can be created
            (or accessed as a service, if |flags &amp; SINGLETON|).  If the class does
            not have a CID, it should return NS_ERROR_NOT_AVAILABLE.  This attribute
            exists so C++ callers can avoid allocating and freeing a CID, as would
            happen if they used classID.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIClassOfService">
            <summary>
            nsIClassOfService.idl
            
            Used to express class dependencies and characteristics - complimentary to
            nsISupportsPriority which is used to express weight
            
            Channels that implement this interface may make use of this
            information in different ways.
            
            The default gecko HTTP/1 stack makes Followers wait for Leaders to
            complete before dispatching followers. Other classes run in
            parallel - neither being blocked nor blocking. All grouping is done
            based on the Load Group - separate load groups proceed
            independently.
            
            HTTP/2 does not use the load group, but prioritization is done per
            HTTP/2 session. HTTP/2 dispatches all the requests as soon as
            possible.
            The various classes are assigned logical priority
            dependency groups and then transactions of that class depend on the
            group. In this model Followers block on Leaders and Speculative
            depends on Background. See Http2Stream.cpp for weighting details.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIClientAuthDialogs">
            <summary>
            Provides UI for SSL client-auth dialogs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClientAuthDialogs.ChooseCertificate(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.nsAUTF8StringBase,System.Int32,Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIArray,System.UInt32@)">
            <summary>
            Called when a user is asked to choose a certificate for client auth.
            </summary>
            <param name="ctx">
            Context that allows at least nsIClientAuthUserDecision to be
            queried.
            </param>
            <param name="hostname">
            Hostname of the server.
            </param>
            <param name="port">
            Port of the server.
            </param>
            <param name="organization">
            Organization field of the server cert.
            </param>
            <param name="issuerOrg">
            Organization field of the issuer cert of the server cert.
            </param>
            <param name="certList">
            List of certificates the user can choose from.
            </param>
            <param name="selectedIndex">
            Index of the cert in |certList| that the user chose.
            Ignored if the return value is false.
            </param>
            <returns>
            true if a certificate was chosen. false if the user canceled.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboard.SetData(Gecko.Interfaces.nsITransferable,Gecko.Interfaces.nsIClipboardOwner,System.Int32)">
            <summary>
            Given a transferable, set the data on the native clipboard
            </summary>
            <param name="aTransferable">
            The transferable
            </param>
            <param name="anOwner">
            The owner of the transferable
            </param>
            <param name="aWhichClipboard">
            Specifies the clipboard to which this operation applies.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboard.GetData(Gecko.Interfaces.nsITransferable,System.Int32)">
            <summary>
            Given a transferable, get the clipboard data.
            </summary>
            <param name="aTransferable">
            The transferable
            </param>
            <param name="aWhichClipboard">
            Specifies the clipboard to which this operation applies.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboard.EmptyClipboard(System.Int32)">
            <summary>
            This empties the clipboard and notifies the clipboard owner.
            This empties the &quot;logical&quot; clipboard. It does not clear the native clipboard.
            </summary>
            <param name="aWhichClipboard">
            Specifies the clipboard to which this operation applies.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboard.HasDataMatchingFlavors(System.IntPtr[],System.UInt32,System.Int32)">
            <summary>
            This provides a way to give correct UI feedback about, for instance, a paste
            should be allowed. It does _NOT_ actually retreive the data and should be a very
            inexpensive call. All it does is check if there is data on the clipboard matching
            any of the flavors in the given list.
            </summary>
            <param name="aFlavorList">
            An array of ASCII strings.
            </param>
            <param name="aLength">
            The length of the aFlavorList.
            </param>
            <param name="aWhichClipboard">
            Specifies the clipboard to which this operation applies.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboard.SupportsSelectionClipboard">
            <summary>
            Allows clients to determine if the implementation supports the concept of a
            separate clipboard for selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboard.SupportsFindClipboard">
            <summary>
            Allows clients to determine if the implementation supports the concept of a
            separate clipboard for find search strings.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIClipboardCommands">
            <summary>
            An interface for embedding clients who wish to interact with
            the system-wide OS clipboard. Mozilla does not use a private
            clipboard, instead it places its data directly onto the system
            clipboard. The webshell implements this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CanCutSelection">
            <summary>
            Returns whether there is a selection and it is not read-only.
            </summary>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if the current selection can be cut,
            &lt;code&gt;false&lt;/code&gt; otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CanCopySelection">
            <summary>
            Returns whether there is a selection and it is copyable.
            </summary>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if there is a selection,
            &lt;code&gt;false&lt;/code&gt; otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CanCopyLinkLocation">
            <summary>
            Returns whether we can copy a link location.
            </summary>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if a link is selected,
            &lt;code&gt;false&lt;/code&gt; otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CanCopyImageLocation">
            <summary>
            Returns whether we can copy an image location.
            </summary>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if an image is selected,
            &lt;code&gt;false&lt;/code&gt; otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CanCopyImageContents">
            <summary>
            Returns whether we can copy an image&apos;s contents.
            </summary>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if an image is selected,
            &lt;code&gt;false&lt;/code&gt; otherwise
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CanPaste">
            <summary>
            Returns whether the current contents of the clipboard can be
            pasted and if the current selection is not read-only.
            </summary>
            <returns>
            &lt;code&gt;true&lt;/code&gt; there is data to paste on the clipboard
            and the current selection is not read-only,
            &lt;code&gt;false&lt;/code&gt; otherwise
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CutSelection">
            <summary>
            Cut the current selection onto the clipboard.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CopySelection">
            <summary>
            Copy the current selection onto the clipboard.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CopyLinkLocation">
            <summary>
            Copy the link location of the current selection (e.g.,
            the |href| attribute of a selected |a| tag).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CopyImageLocation">
            <summary>
            Copy the location of the selected image.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.CopyImageContents">
            <summary>
            Copy the contents of the selected image.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.Paste">
            <summary>
            Paste the contents of the clipboard into the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.SelectAll">
            <summary>
            Select the entire contents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardCommands.SelectNone">
            <summary>
            Clear the current selection (if any). Insertion point ends up
            at beginning of current selection.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIClipboardDragDropHookList">
            <summary>
            Please note that the following api is not intended for embedders;
            it is intended as an internal (to gecko).  Embedders can indirectly
            call these by sending commands (see description in
            nsIClipboardDragDropHooks.idl).
            
            Internal gecko usage is accomplished by calling get_Interface on a
            docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardDragDropHookList.AddClipboardDragDropHooks(Gecko.Interfaces.nsIClipboardDragDropHooks)">
            <summary>
            Add a hook to list.
            </summary>
            <param name="aHooks">
            implementation of hooks
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardDragDropHookList.RemoveClipboardDragDropHooks(Gecko.Interfaces.nsIClipboardDragDropHooks)">
            <summary>
            Remove a hook from list (note if this implementation is not present
            in the list then removal will be ignored).
            </summary>
            <param name="aHooks">
            implementation of hooks
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardDragDropHookList.GetHookEnumerator">
            <summary>
            Gets an enumerator for all hooks which have been added.
            </summary>
            <returns>
            nsISimpleEnumerator for nsIClipboardDragDropHooks
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIClipboardDragDropHooks">
            <summary>
            Interfaces for overriding the built-in drag, drop, copy, and paste
            implementations in the content area and editors. Use this to do things
            such as prevent a drag from starting, adding or removing
            data and flavors, or preventing the drop.
            
            Embedders who want to have these hooks made available should implement
            nsIClipboardDragDropHooks and use the command manager to send the
            appropriate commands with these parameters/settings:
            command:  cmd_clipboardDragDropHook
            
            params        value type   possible values
            &quot;addhook&quot;     isupports    nsIClipboardDragDropHooks as nsISupports
            &quot;removehook&quot;  isupports    nsIClipboardDragDropHooks as nsISupports
            
            Notes:
            Overrides/hooks need to be added to each window (as appropriate).
            Adding them to the first window does not enable them for every window.
            If more than one implementation is set for a window, the hooks will be
            called in the order they are added.
            Adding the same hook to the same window will not add a second call.
            Each hook can only be called once per user action/api.
            Not all hooks are guaranteed to be called.  If there are multiple hooks
            set for a window, any of them has an opportunity to cancel the action
            so no further processing will occur.
            If any errors occur (without setting the boolean result) the default
            action will occur.
            AllowDrop will be called MANY times during drag so ensure that it is
            efficient.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardDragDropHooks.AllowStartDrag(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            Prevents the drag from starting
            </summary>
            <param name="event">
            DOM event (drag gesture)
            </param>
            <returns>
            FALSE drag is cancelled, does not go to OS
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardDragDropHooks.AllowDrop(Gecko.Interfaces.nsIDOMEvent,Gecko.Interfaces.nsIDragSession)">
            <summary>
            Tells gecko whether a drop is allowed on this content area
            </summary>
            <param name="event">
            DOM event (drag over)
            </param>
            <param name="session">
            the drag session from which client can get
            the flavors present or the actual data
            </param>
            <returns>
            FALSE indicates to OS drop is not allowed. On win32, this
            will change the cursor to &quot;reject&quot;.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardDragDropHooks.OnCopyOrDrag(Gecko.Interfaces.nsIDOMEvent,Gecko.Interfaces.nsITransferable)">
            <summary>
            Alter the flavors or data presented to the OS
            Used for drag and copy actions
            Because this can be called many times, it is highly recommended
            that the implementation be very efficient so user feedback is
            not negatively impacted.
            </summary>
            <param name="event">
            DOM event (drag drop); null if triggered by copy.
            </param>
            <param name="trans">
            the transferable holding the list of flavors
            and the data for each flavor
            </param>
            <returns>
            FALSE copy/drag is cancelled, does not go to OS
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardDragDropHooks.OnPasteOrDrop(Gecko.Interfaces.nsIDOMEvent,Gecko.Interfaces.nsITransferable)">
            <summary>
            Provide an alternative action to the built-in behavior when
            something is dropped on the browser or in an editor
            </summary>
            <param name="event">
            DOM event (drag drop); null if triggered by paste.
            </param>
            <param name="trans">
            the transferable holding the list of flavors
            and the data for each flavor
            </param>
            <returns>
            FALSE action was not overridden, do built-in behavior
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIClipboardHelper">
            <summary>
            helper service for common uses of nsIClipboard.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardHelper.CopyStringToClipboard(Gecko.nsAStringBase,System.Int32)">
            <summary>
            copy string to given clipboard
            </summary>
            <param name="aString,">
            the string to copy to the clipboard
            </param>
            <param name="aClipboardID,">
            the ID of the clipboard to copy to
            (eg. kSelectionClipboard -- see nsIClipboard.idl)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardHelper.CopyString(Gecko.nsAStringBase)">
            <summary>
            copy string to (default) clipboard
            </summary>
            <param name="aString,">
            the string to copy to the clipboard
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIClipboardOwner.LosingOwnership(Gecko.Interfaces.nsITransferable)">
            <summary>
            Notifies the owner of the clipboard transferable that the
            transferable is being removed from the clipboard
            </summary>
            <param name="aTransferable">
            The transferable
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICollationFactory.CreateCollation(Gecko.Interfaces.nsILocale)">
            <summary>
            Create the collation for a given locale.
            
            Use NULL as the locale parameter to use the user&apos;s locale preference
            from the operating system.
            </summary>
            <param name="locale">
            The locale for which to create the collation or null to use
            user preference.
            </param>
            <returns>
            A collation for the given locale.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISerializable.Read(Gecko.Interfaces.nsIObjectInputStream)">
            <summary>
            Initialize the object implementing nsISerializable, which must have
            been freshly constructed via CreateInstance.  All data members that
            can&apos;t be set to default values must have been serialized by write,
            and should be read from aInputStream in the same order by this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISerializable.Write(Gecko.Interfaces.nsIObjectOutputStream)">
            <summary>
            Serialize the object implementing nsISerializable to aOutputStream, by
            writing each data member that must be recovered later to reconstitute
            a working replica of this object, in a canonical member and byte order,
            to aOutputStream.
            
            NB: a class that implements nsISerializable *must* also implement
            nsIClassInfo, in particular nsIClassInfo::GetClassID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICollection.Read(Gecko.Interfaces.nsIObjectInputStream)">
            <summary>
            Initialize the object implementing nsISerializable, which must have
            been freshly constructed via CreateInstance.  All data members that
            can&apos;t be set to default values must have been serialized by write,
            and should be read from aInputStream in the same order by this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICollection.Write(Gecko.Interfaces.nsIObjectOutputStream)">
            <summary>
            Serialize the object implementing nsISerializable to aOutputStream, by
            writing each data member that must be recovered later to reconstitute
            a working replica of this object, in a canonical member and byte order,
            to aOutputStream.
            
            NB: a class that implements nsISerializable *must* also implement
            nsIClassInfo, in particular nsIClassInfo::GetClassID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICollection.Enumerate">
            <summary>
            This clashes with |nsISimpleEnumerator nsIArray.enumerate()| (only on the
            binary side), so it is renamed with a &apos;Deprecated&apos; prefix in favor of the
            non-deprecated |nsIArray.enumerate|.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIColorPickerShownCallback">
            <summary>
            nsIColorPicker is representing colors as strings because the internal
            representation will depend on the underlying backend.
            The format of the colors taken in input and returned will always follow the
            format of the &lt;input type=&apos;color&apos;&gt; value as described in the HTML
            specifications.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIColorPickerShownCallback.Update(Gecko.nsAStringBase)">
            <summary>
            Callback called when the color picker requests a color update.
            This callback can not be called after done() was called.
            When this callback is used, the consumer can assume that the color value has
            changed.
            </summary>
            <param name="color">
            The new selected color value following the format specifed on
            top of this file.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIColorPickerShownCallback.Done(Gecko.nsAStringBase)">
            <summary>
            Callback called when the color picker is dismissed.
            When this callback is used, the color might have changed or could stay the
            same.
            If the color has not changed, the color parameter will be the empty string.
            </summary>
            <param name="color">
            The new selected color value following the format specifed on
            top of this file or the empty string.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIColorPicker.Init(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Initialize the color picker widget. The color picker will not be shown until
            open() is called.
            If the backend doesn&apos;t support setting a title to the native color picker
            widget, the title parameter might be ignored.
            If the initialColor parameter does not follow the format specified on top of
            this file, the behavior will be unspecified. The initialColor could be the
            one used by the underlying backend or an arbitrary one. The backend could
            also assert.
            </summary>
            <param name="parent">
            nsIDOMWindow parent. This dialog will be dependent
            on this parent. parent must be non-null.
            </param>
            <param name="title">
            The title for the color picker widget.
            </param>
            <param name="initialColor">
            The color to show when the widget is opened. The
            parameter has to follow the format specified on top
            of this file.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIColorPicker.Open(Gecko.Interfaces.nsIColorPickerShownCallback)">
            <summary>
            Opens the color dialog asynchrounously.
            The results are provided via the callback object.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICommandLine">
            <summary>
            Represents the command line used to invoke a XUL application. This may be the
            original command-line of this instance, or a command line remoted from another
            instance of the application.
            
            DEFINITIONS:
            &quot;arguments&quot; are any values found on the command line.
            &quot;flags&quot; are switches. In normalized form they are preceded by a single dash.
            Some flags may take &quot;parameters&quot;, e.g. &quot;--url &lt;param&gt;&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.GetLengthAttribute">
            <summary>
            Number of arguments in the command line. The application name is not
            part of the command line.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.GetArgument(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get an argument from the array of command-line arguments.
            
            On windows, flags of the form /flag are normalized to -flag. /flag:param
            are normalized to -flag param.
            
            On *nix and mac flags of the form --flag are normalized to -flag. --flag=param
            are normalized to the form -flag param.
            </summary>
            <param name="aIndex">
            The argument to retrieve. This index is 0-based, and does
            not include the application name.
            </param>
            <returns>
            The indexth argument.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if aIndex is out of bounds.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.FindFlag(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Find a command-line flag.
            </summary>
            <param name="aFlag">
            The flag name to locate. Do not include the initial
            hyphen.
            </param>
            <param name="aCaseSensitive">
            Whether to do case-sensitive comparisons.
            </param>
            <returns>
            The position of the flag in the command line.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.RemoveArguments(System.Int32,System.Int32)">
            <summary>
            Remove arguments from the command line. This normally occurs after
            a handler has processed the arguments.
            </summary>
            <param name="aStart">
            Index to begin removing.
            </param>
            <param name="aEnd">
            Index to end removing, inclusive.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.HandleFlag(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            A helper method which will find a flag and remove it in one step.
            </summary>
            <param name="aFlag">
            The flag name to find and remove.
            </param>
            <param name="aCaseSensitive">
            Whether to do case-sensitive comparisons.
            </param>
            <returns>
            Whether the flag was found.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.HandleFlagWithParam(Gecko.nsAStringBase,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            Find a flag with a parameter and remove both. This is a helper
            method that combines "findFlag" and "removeArguments" in one step.
            </summary>
            <param name="aFlag">
            The flag name to find and remove.
            </param>
            <param name="aCaseSensitive">
            Whether to do case-sensitive flag search.
            </param>
            <returns>
            null (a void astring) if the flag is not found. The parameter value
            if found. Note that null and the empty string are not the same.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if the flag exists without a parameter
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.GetStateAttribute">
            <summary>
            The type of command line being processed.
            
            STATE_INITIAL_LAUNCH  is the first launch of the application instance.
            STATE_REMOTE_AUTO     is a remote command line automatically redirected to
            this instance.
            STATE_REMOTE_EXPLICIT is a remote command line explicitly redirected to
            this instance using xremote/windde/appleevents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.GetPreventDefaultAttribute">
            <summary>
            There may be a command-line handler which performs a default action if
            there was no explicit action on the command line (open a default browser
            window, for example). This flag allows the default action to be prevented.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.GetWorkingDirectoryAttribute">
            <summary>
            The working directory for this command line. Use this property instead
            of the working directory for the current process, since a redirected
            command line may have had a different working directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.GetWindowContextAttribute">
            <summary>
            A window to be targeted by this command line. In most cases, this will
            be null (xremote will sometimes set this attribute).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.ResolveFile(Gecko.nsAStringBase)">
            <summary>
            Resolve a file-path argument into an nsIFile. This method gracefully
            handles relative or absolute file paths, according to the working
            directory of this command line.
            </summary>
            <param name="aArgument">
            The command-line argument to resolve.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLine.ResolveURI(Gecko.nsAStringBase)">
            <summary>
            Resolves a URI argument into a URI. This method has platform-specific
            logic for converting an absolute URI or a relative file-path into the
            appropriate URI object; it gracefully handles win32 C:\ paths which would
            confuse the ioservice if passed directly.
            </summary>
            <param name="aArgument">
            The command-line argument to resolve.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICommandLineHandler">
            <summary>
            Handles arguments on the command line of an XUL application.
            
            Each handler is registered in the category &quot;command-line-handler&quot;.
            The entries in this category are read in alphabetical order, and each
            category value is treated as a service contractid implementing this
            interface.
            
            By convention, handler with ordinary priority should begin with &quot;m&quot;.
            
            Example:
            Category             Entry          Value
            command-line-handler c-extensions   @mozilla.org/extension-manager/clh;1
            command-line-handler m-edit         @mozilla.org/composer/clh;1
            command-line-handler m-irc          @mozilla.org/chatzilla/clh;1
            command-line-handler y-final        @mozilla.org/browser/clh-final;1
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineHandler.Handle(Gecko.Interfaces.nsICommandLine)">
            <summary>
            Process a command line. If this handler finds arguments that it
            understands, it should perform the appropriate actions (such as opening
            a window), and remove the arguments from the command-line array.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineHandler.GetHelpInfoAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            When the app is launched with the --help argument, this attribute
            is retrieved and displayed to the user (on stdout). The text should
            have embedded newlines which wrap at 76 columns, and should include
            a newline at the end. By convention, the right column which contains flag
            descriptions begins at the 24th character.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICommandLineRunner">
            <summary>
            Extension of nsICommandLine that allows for initialization of new command lines
            and running the command line actions by processing the command line handlers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.GetLengthAttribute">
            <summary>
            Number of arguments in the command line. The application name is not
            part of the command line.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.GetArgument(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Get an argument from the array of command-line arguments.
            
            On windows, flags of the form /flag are normalized to -flag. /flag:param
            are normalized to -flag param.
            
            On *nix and mac flags of the form --flag are normalized to -flag. --flag=param
            are normalized to the form -flag param.
            </summary>
            <param name="aIndex">
            The argument to retrieve. This index is 0-based, and does
            not include the application name.
            </param>
            <returns>
            The indexth argument.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if aIndex is out of bounds.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.FindFlag(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Find a command-line flag.
            </summary>
            <param name="aFlag">
            The flag name to locate. Do not include the initial
            hyphen.
            </param>
            <param name="aCaseSensitive">
            Whether to do case-sensitive comparisons.
            </param>
            <returns>
            The position of the flag in the command line.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.RemoveArguments(System.Int32,System.Int32)">
            <summary>
            Remove arguments from the command line. This normally occurs after
            a handler has processed the arguments.
            </summary>
            <param name="aStart">
            Index to begin removing.
            </param>
            <param name="aEnd">
            Index to end removing, inclusive.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.HandleFlag(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            A helper method which will find a flag and remove it in one step.
            </summary>
            <param name="aFlag">
            The flag name to find and remove.
            </param>
            <param name="aCaseSensitive">
            Whether to do case-sensitive comparisons.
            </param>
            <returns>
            Whether the flag was found.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.HandleFlagWithParam(Gecko.nsAStringBase,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            Find a flag with a parameter and remove both. This is a helper
            method that combines "findFlag" and "removeArguments" in one step.
            </summary>
            <param name="aFlag">
            The flag name to find and remove.
            </param>
            <param name="aCaseSensitive">
            Whether to do case-sensitive flag search.
            </param>
            <returns>
            null (a void astring) if the flag is not found. The parameter value
            if found. Note that null and the empty string are not the same.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if the flag exists without a parameter
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.GetStateAttribute">
            <summary>
            The type of command line being processed.
            
            STATE_INITIAL_LAUNCH  is the first launch of the application instance.
            STATE_REMOTE_AUTO     is a remote command line automatically redirected to
            this instance.
            STATE_REMOTE_EXPLICIT is a remote command line explicitly redirected to
            this instance using xremote/windde/appleevents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.GetPreventDefaultAttribute">
            <summary>
            There may be a command-line handler which performs a default action if
            there was no explicit action on the command line (open a default browser
            window, for example). This flag allows the default action to be prevented.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.GetWorkingDirectoryAttribute">
            <summary>
            The working directory for this command line. Use this property instead
            of the working directory for the current process, since a redirected
            command line may have had a different working directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.GetWindowContextAttribute">
            <summary>
            A window to be targeted by this command line. In most cases, this will
            be null (xremote will sometimes set this attribute).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.ResolveFile(Gecko.nsAStringBase)">
            <summary>
            Resolve a file-path argument into an nsIFile. This method gracefully
            handles relative or absolute file paths, according to the working
            directory of this command line.
            </summary>
            <param name="aArgument">
            The command-line argument to resolve.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.ResolveURI(Gecko.nsAStringBase)">
            <summary>
            Resolves a URI argument into a URI. This method has platform-specific
            logic for converting an absolute URI or a relative file-path into the
            appropriate URI object; it gracefully handles win32 C:\ paths which would
            confuse the ioservice if passed directly.
            </summary>
            <param name="aArgument">
            The command-line argument to resolve.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.Init(System.Int32,System.IntPtr,Gecko.Interfaces.nsIFile,System.UInt32)">
            <summary>
            This method assumes a native character set, and is meant to be called
            with the argc/argv passed to main(). Talk to bsmedberg if you need to
            create a command line using other data. argv will not be altered in any
            way.
            
            On Windows, the &quot;native&quot; character set is UTF-8, not the native codepage.
            </summary>
            <param name="workingDir">
            The working directory for resolving file and URI paths.
            </param>
            <param name="state">
            The nsICommandLine.state flag.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.SetWindowContext(Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            Set the windowContext parameter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.Run">
            <summary>
            Process the command-line handlers in the proper order, calling "handle()" on
            each.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ABORT: if any handler throws NS_ERROR_ABORT. All other errors
            thrown by handlers will be silently ignored.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineRunner.GetHelpTextAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Process and combine the help text provided by each command-line handler.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICommandLineValidator">
            <summary>
            Validates arguments on the command line of an XUL application.
            
            Each validator is registered in the category &quot;command-line-validator&quot;.
            The entries in this category are read in alphabetical order, and each
            category value is treated as a service contractid implementing this
            interface.
            
            By convention, validator with ordinary priority should begin with &quot;m&quot;.
            
            Example:
            Category               Entry          Value
            command-line-validator b-browser      @mozilla.org/browser/clh;1
            command-line-validator m-edit         @mozilla.org/composer/clh;1
            command-line-validator m-irc          @mozilla.org/chatzilla/clh;1
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICommandLineValidator.Validate(Gecko.Interfaces.nsICommandLine)">
            <summary>
            Process the command-line validators in the proper order, calling
            "validate()" on each.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ABORT: if any validator throws NS_ERROR_ABORT. All other
            errors thrown by validators will be silently ignored.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentManager.GetClassObject(System.Guid@,System.Guid@)">
            <summary>
            getClassObject
            
            Returns the factory object that can be used to create instances of
            CID aClass
            </summary>
            <param name="aClass">
            The classid of the factory that is being requested
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentManager.GetClassObjectByContractID(System.String,System.Guid@)">
            <summary>
            getClassObjectByContractID
            
            Returns the factory object that can be used to create instances of
            CID aClass
            </summary>
            <param name="aClass">
            The classid of the factory that is being requested
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentManager.CreateInstance(System.Guid@,Gecko.Interfaces.nsISupports,System.Guid@)">
            <summary>
            createInstance
            
            Create an instance of the CID aClass and return the interface aIID.
            </summary>
            <param name="aClass">
            : ClassID of object instance requested
            </param>
            <param name="aDelegate">
            : Used for aggregation
            </param>
            <param name="aIID">
            : IID of interface requested
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentManager.CreateInstanceByContractID(System.String,Gecko.Interfaces.nsISupports,System.Guid@)">
            <summary>
            createInstanceByContractID
            
            Create an instance of the CID that implements aContractID and return the
            interface aIID.
            </summary>
            <param name="aContractID">
            : aContractID of object instance requested
            </param>
            <param name="aDelegate">
            : Used for aggregation
            </param>
            <param name="aIID">
            : IID of interface requested
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentManager.AddBootstrappedManifestLocation(Gecko.Interfaces.nsIFile)">
            <summary>
            addBootstrappedManifestLocation
            
            Adds a bootstrapped manifest location on runtime.
            </summary>
            <param name="aLocation">
            : A directory where chrome.manifest resides,
            or an XPI with it on the root.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentManager.RemoveBootstrappedManifestLocation(Gecko.Interfaces.nsIFile)">
            <summary>
            removeBootstrappedManifestLocation
            
            Removes a bootstrapped manifest location on runtime.
            </summary>
            <param name="aLocation">
            : A directory where chrome.manifest resides,
            or an XPI with it on the root.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentManager.GetManifestLocations">
            <summary>
            getManifestLocations
            
            Get an array of nsIURIs of all registered and builtin manifest locations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.AutoRegister(Gecko.Interfaces.nsIFile)">
            <summary>
            autoRegister
            
            Register a .manifest file, or an entire directory containing
            these files. Registration lasts for this run only, and is not cached.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.AutoUnregister(Gecko.Interfaces.nsIFile)">
            <summary>
            autoUnregister
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.RegisterFactory(System.Guid@,System.String,System.String,Gecko.Interfaces.nsIFactory)">
            <summary>
            registerFactory
            
            Register a factory with a given ContractID, CID and Class Name.
            </summary>
            <param name="aClass">
            : CID of object
            </param>
            <param name="aClassName">
            : Class Name of CID (unused)
            </param>
            <param name="aContractID">
            : ContractID associated with CID aClass. May be null
            if no contract ID is needed.
            </param>
            <param name="aFactory">
            : Factory that will be registered for CID aClass.
            If aFactory is null, the contract will be associated
            with a previously registered CID.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.UnregisterFactory(System.Guid@,Gecko.Interfaces.nsIFactory)">
            <summary>
            unregisterFactory
            
            Unregister a factory associated with CID aClass.
            </summary>
            <param name="aClass">
            : CID being unregistered
            </param>
            <param name="aFactory">
            : Factory previously registered to create instances of
            CID aClass.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR*: Method failure.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.RegisterFactoryLocation(System.Guid@,System.String,System.String,Gecko.Interfaces.nsIFile,System.String,System.String)">
            <summary>
            registerFactoryLocation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.UnregisterFactoryLocation(System.Guid@,Gecko.Interfaces.nsIFile)">
            <summary>
            unregisterFactoryLocation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.IsCIDRegistered(System.Guid@)">
            <summary>
            isCIDRegistered
            
            Returns true if a factory is registered for the CID.
            </summary>
            <param name="aClass">
            : CID queried for registeration
            </param>
            <returns>
            : true if a factory is registered for CID
            false otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.IsContractIDRegistered(System.String)">
            <summary>
            isContractIDRegistered
            
            Returns true if a factory is registered for the contract id.
            </summary>
            <param name="aClass">
            : contract id queried for registeration
            </param>
            <returns>
            : true if a factory is registered for contract id
            false otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.EnumerateCIDs">
            <summary>
            enumerateCIDs
            
            Enumerate the list of all registered CIDs.
            </summary>
            <returns>
            : enumerator for CIDs.  Elements of the enumeration can be QI&apos;ed
            for the nsISupportsID interface.  From the nsISupportsID, you
            can obtain the actual CID.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.EnumerateContractIDs">
            <summary>
            enumerateContractIDs
            
            Enumerate the list of all registered ContractIDs.
            </summary>
            <returns>
            : enumerator for ContractIDs. Elements of the enumeration can be
            QI&apos;ed for the nsISupportsCString interface.  From  the
            nsISupportsCString interface, you can obtain the actual
            Contract ID string.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.CIDToContractID(System.Guid@)">
            <summary>
            CIDToContractID
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIComponentRegistrar.ContractIDToCID(System.String)">
            <summary>
            contractIDToCID
            
            Returns the CID for a given Contract ID, if one exists and is registered.
            </summary>
            <returns>
            : Contract ID.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsICompressConvStats">
            <summary>
            nsICompressConvStats
            
            This interface allows for the observation of decoded resource sizes
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleAPIStorage.GetEvents(Gecko.nsAStringBase)">
            <summary>
            Get the events array by inner window ID or all events from all windows.
            </summary>
            <param name="string">
            [aId]
            Optional, the inner window ID for which you want to get the array of
            cached events.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleAPIStorage.RecordEvent(Gecko.nsAStringBase,Gecko.nsAStringBase,SpiderMonkey.JSVal@)">
            <summary>
            Record an event associated with the given window ID.
            </summary>
            <param name="string">
            aOuterId
            This ID is used as 3rd parameters for the console-api-log-event
            notification.
            </param>
            <param name="object">
            aEvent
            A JavaScript object you want to store.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleAPIStorage.ClearEvents(Gecko.nsAStringBase)">
            <summary>
            Clear storage data for the given window.
            </summary>
            <param name="string">
            [aId]
            Optional, the inner window ID for which you want to clear the
            messages. If this is not specified all of the cached messages are
            cleared, from all window objects.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIConsoleMessage">
            <summary>
            This is intended as a base interface; implementations may want to
            provide an object that can be qi&apos;ed to provide more specific
            message information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleMessage.GetLogLevelAttribute">
            <summary>
            The log level of this message.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleMessage.GetTimeStampAttribute">
            <summary>
            The time (in milliseconds from the Epoch) that the message instance
            was initialised.
            The timestamp is initialized as JS_now/1000 so that it can be
            compared to Date.now in Javascript.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleService.LogStringMessage(System.String)">
            <summary>
            Convenience method for logging simple messages.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleService.GetMessageArray(System.UInt32@,System.IntPtr@)">
            <summary>
            Get an array of all the messages logged so far.  If no messages
            are logged, this function will return a count of 0, but still
            will allocate one word for messages, so as to show up as a
            0-length array when called from script.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleService.RegisterListener(Gecko.Interfaces.nsIConsoleListener)">
            <summary>
            To guard against stack overflows from listeners that could log
            messages (it&apos;s easy to do this inadvertently from listeners
            implemented in JavaScript), we don&apos;t call any listeners when
            another error is already being logged.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleService.UnregisterListener(Gecko.Interfaces.nsIConsoleListener)">
            <summary>
            Each registered listener should also be unregistered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConsoleService.Reset">
            <summary>
            Clear the message buffer (e.g. for privacy reasons).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentDispatchChooser">
            <summary>
            This is used to ask a user what they would like to do with a given piece of
            content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentDispatchChooser.Ask(Gecko.Interfaces.nsIHandlerInfo,Gecko.Interfaces.nsIInterfaceRequestor,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Asks the user what to do with the content.
            </summary>
            <param name="aHander">
            The interface describing the details of how this content should or
            can be handled.
            </param>
            <param name="aWindowContext">
            The parent window context to show this chooser.  This can be null,
            and some implementations may not care about it.  Generally, you&apos;ll
            want to pass an nsIDOMWindow in so the chooser can be properly
            parented when opened.
            </param>
            <param name="aURI">
            The URI of the resource that we are asking about.
            </param>
            <param name="aReason">
            The reason why we are asking (see above).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFilter.NotifyOfInsertion(Gecko.nsAStringBase,Gecko.Interfaces.nsIURL,Gecko.Interfaces.nsIDOMDocument,System.Boolean,Gecko.Interfaces.nsIDOMNode@,Gecko.Interfaces.nsIDOMNode@,System.Int32@,Gecko.Interfaces.nsIDOMNode@,System.Int32@,Gecko.Interfaces.nsIDOMNode@,System.Int32@,System.Boolean@)">
            <summary>
            This notification occurs in an editor during these events:
            open of document (once rendered in window but before editable)
            paste from clipboard
            drop from mouse
            insertion of html (such as with &quot;cmd_insertHTML&quot;)
            It provides a hook so the above actions can be canceled or the data
            can be modified (using standard DOM APIs) or left untouched.  The data
            that results (if any) from all filter callbacks is what will be used
            for transaction purposes (undo/redo) except for the open event.
            
            The willDeleteSelection parameter is offered for filters who want to
            handle the insertion themselves and need to handle drag/drop correctly.
            The flag is true when the editor intends to delete the selection.
            
            Callers who want to cancel all insertion can simply set
            continueWithInsertion to PR_FALSE and return.
            Note: If cancellation occurs during the &quot;open&quot; event, the editor will
            still be available but will be empty.
            
            Callers who want to allow insertion of the data with no changes
            can simply set continueWithInsertion to PR_TRUE and return.
            
            Callers who want to modify the content (docFragment) being inserted are
            responsible for updating contentStartNode, contentStartOffset,
            contentEndNode, and contentEndOffset (if necessary).
            Callers are responsible for freeing and addref&apos;ing if they want to
            completely replace any of the DOM nodes passed in.
            
            The location where insertion will occur should be considered an
            approximation since the editor may need to adjust it if it deletes
            the selection as part of the event and later determines that insertion
            point is an empty container which should also be removed (or in other
            scenarios such as -moz-user-select:none).
            
            In some scenarios the selection will be deleted.  If callers choose
            to adjust the insertion point, they should be careful that the insertion
            point is not in the current selection.
            
            The contentStartNode and contentEndNode are not necessarily
            immediate children of the docFragment.  Any nodes outside of the range
            set by contentStartNode and contentEndNode are for context from the
            source document.
            </summary>
            <param name="mimeType">
            the mimetype used for retrieving data
            </param>
            <param name="contentSourceURL">
            location where docFragment came from
            </param>
            <param name="sourceDocument">
            document where content came from (can be null)
            </param>
            <param name="willDeleteSelection">
            tells hook if selection will/should be deleted
            </param>
            <param name="docFragment">
            fragment of node to be inserted
            </param>
            <param name="contentStartNode">
            node under which content to be inserted begins
            </param>
            <param name="contentStartOffset">
            start offset within contentStartNode
            </param>
            <param name="contentEndNode">
            node under which content to be inserted ends
            </param>
            <param name="contentEndOffset">
            ending offset withing contentEndNode
            </param>
            <param name="insertionPointNode">
            location where insertion will occur
            </param>
            <param name="insertionPointOffset">
            offset within node where insertion occurs
            </param>
            <param name="continueWithInsertion">
            flag to cancel insertion (if desired)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentHandler.HandleContent(System.String,Gecko.Interfaces.nsIInterfaceRequestor,Gecko.Interfaces.nsIRequest)">
            <summary>
            Tells the content handler to take over handling the content. If this
            function succeeds, the URI Loader will leave this request alone, ignoring
            progress notifications. Failure of this method will cause the request to be
            cancelled, unless the error code is NS_ERROR_WONT_HANDLE_CONTENT (see
            below).
            </summary>
            <param name="aWindowContext">
            Window context, used to get things like the current nsIDOMWindow
            for this request. May be null.
            </param>
            <param name="aContentType">
            The content type of aRequest
            </param>
            <param name="aRequest">
            A request whose content type is already known.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPermissionType">
            <summary>
            Interface provides the request type and its access.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionType.GetTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The type of the permission request, such as
            &quot;geolocation&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionType.GetAccessAttribute(Gecko.nsACStringBase)">
            <summary>
            The access of the permission request, such as
            &quot;read&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionType.GetOptionsAttribute">
            <summary>
            The array of available options.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPermissionRequestCallback">
            <summary>
            Interface provides the callback type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionRequestCallback.NotifyVisibility(System.Boolean)">
            <summary>
            The callback of the visibility result.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPermissionRequester">
            <summary>
            Interface provides the way to get the visibility and
            the notification.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionRequester.GetVisibility(Gecko.Interfaces.nsIContentPermissionRequestCallback)">
            <summary>
            The function to get the visibility.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionRequester.GetOnVisibilityChangeAttribute">
            <summary>
            The callback to get the notification of visibility change.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPermissionRequest">
            <summary>
            Interface allows access to a content to request
            permission to perform a privileged operation such as
            geolocation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionRequest.GetTypesAttribute">
            <summary>
            The array will include the request types. Elements of this array are
            nsIContentPermissionType object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionRequest.GetWindowAttribute">
            <summary>
            The window or element that the permission request was
            originated in.  Typically the element will be non-null
            in when using out of process content.  window or
            element can be null but not both.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionRequest.GetRequesterAttribute">
            <summary>
            The requester to get the required information of
            the window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionRequest.Cancel">
            <summary>
            allow or cancel the request
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPermissionPrompt">
            <summary>
            Interface provides a way for the application to handle
            the UI prompts associated with geo position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPermissionPrompt.Prompt(Gecko.Interfaces.nsIContentPermissionRequest)">
            <summary>
            Called when a request has been made to access
            privileged content apis
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPolicy">
            <summary>
            Interface for content policy mechanism.  Implementations of this
            interface can be used to control loading of various types of out-of-line
            content, or processing of certain types of in-line content.
            
            WARNING: do not block the caller from shouldLoad or shouldProcess (e.g.,
            by launching a dialog to prompt the user for something).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPolicyBase">
            <summary>
            Interface for content policy mechanism.  Implementations of this
            interface can be used to control loading of various types of out-of-line
            content, or processing of certain types of in-line content.
            
            WARNING: do not block the caller from shouldLoad or shouldProcess (e.g.,
            by launching a dialog to prompt the user for something).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPolicy.ShouldLoad(System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsISupports,Gecko.nsACStringBase,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Should the resource at this location be loaded?
            ShouldLoad will be called before loading the resource at aContentLocation
            to determine whether to start the load at all.
            </summary>
            <param name="aContentType">
            the type of content being tested. This will be one
            one of the TYPE_* constants.
            </param>
            <param name="aContentLocation">
            the location of the content being checked; must
            not be null
            </param>
            <param name="aRequestOrigin">
            OPTIONAL. the location of the resource that
            initiated this load request; can be null if
            inapplicable
            </param>
            <param name="aContext">
            OPTIONAL. the nsIDOMNode or nsIDOMWindow that
            initiated the request, or something that can QI
            to one of those; can be null if inapplicable.
            Note that for navigation events (new windows and
            link clicks), this is the NEW window.
            </param>
            <param name="aMimeTypeGuess">
            OPTIONAL. a guess for the requested content&apos;s
            MIME type, based on information available to
            the request initiator (e.g., an OBJECT&apos;s type
            attribute); does not reliably reflect the
            actual MIME type of the requested content
            </param>
            <param name="aExtra">
            an OPTIONAL argument, pass-through for non-Gecko
            callers to pass extra data to callees.
            </param>
            <param name="aRequestPrincipal">
            an OPTIONAL argument, defines the principal that
            caused the load. This is optional only for
            non-gecko code: all gecko code should set this
            argument.  For navigation events, this is
            the principal of the page that caused this load.
            </param>
            <returns>
            ACCEPT or REJECT_
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPolicy.ShouldProcess(System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsISupports,Gecko.nsACStringBase,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Should the resource be processed?
            ShouldProcess will be called once all the information passed to it has
            been determined about the resource, typically after part of the resource
            has been loaded.
            </summary>
            <param name="aContentType">
            the type of content being tested. This will be one
            one of the TYPE_* constants.
            </param>
            <param name="aContentLocation">
            OPTIONAL; the location of the resource being
            requested: MAY be, e.g., a post-redirection URI
            for the resource.
            </param>
            <param name="aRequestOrigin">
            OPTIONAL. the location of the resource that
            initiated this load request; can be null if
            inapplicable
            </param>
            <param name="aContext">
            OPTIONAL. the nsIDOMNode or nsIDOMWindow that
            initiated the request, or something that can QI
            to one of those; can be null if inapplicable.
            </param>
            <param name="aMimeType">
            the MIME type of the requested resource (e.g.,
            image/png), as reported by the networking library,
            if available (may be empty if inappropriate for
            the type, e.g., TYPE_REFRESH).
            </param>
            <param name="aExtra">
            an OPTIONAL argument, pass-through for non-Gecko
            callers to pass extra data to callees.
            </param>
            <returns>
            ACCEPT or REJECT_
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefObserver.OnContentPrefSet(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant,System.Boolean)">
            <summary>
            Called when a content pref is set to a different value.
            </summary>
            <param name="aGroup">
            the group to which the pref belongs, or null
            if it&apos;s a global pref (applies to all sites)
            </param>
            <param name="aName">
            the name of the pref that was set
            </param>
            <param name="aValue">
            the new value of the pref
            </param>
            <param name="aIsPrivate">
            an optional flag determining whether the
            original context is private or not
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefObserver.OnContentPrefRemoved(Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Called when a content pref is removed.
            </summary>
            <param name="aGroup">
            the group to which the pref belongs, or null
            if it&apos;s a global pref (applies to all sites)
            </param>
            <param name="aName">
            the name of the pref that was removed
            </param>
            <param name="aIsPrivate">
            an optional flag determining whether the
            original context is private or not
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPrefService">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.GetPref(Gecko.Interfaces.nsIVariant,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback)">
            <summary>
            Get a pref.
            
            Besides the regular string, integer, boolean, etc. values, this method
            may return null (nsIDataType::VTYPE_EMPTY), which means the pref is set
            to NULL in the database, as well as undefined (nsIDataType::VTYPE_VOID),
            which means there is no record for this pref in the database.
            
            This method can be called from content processes in electrolysis builds.
            We have a whitelist of values that can be read in such a way.
            </summary>
            <param name="aGroup">
            the group for which to get the pref, as an nsIURI
            from which the hostname will be used, a string
            (typically in the format of a hostname), or null
            to get the global pref (applies to all sites)
            </param>
            <param name="aName">
            the name of the pref to get
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to search in memory or in
            permanent storage for it), obtained from a relevant
            window or channel.
            </param>
            <param name="aCallback">
            an optional nsIContentPrefCallback to receive the
            result. If desired, JavaScript callers can instead
            provide a function to call upon completion
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aName is null or an empty string
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.SetPref(Gecko.Interfaces.nsIVariant,Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Set a pref.
            
            This method can be called from content processes in electrolysis builds.
            We have a whitelist of values that can be set in such a way.
            </summary>
            <param name="aGroup">
            the group for which to set the pref, as an nsIURI
            from which the hostname will be used, a string
            (typically in the format of a hostname), or null
            to set the global pref (applies to all sites)
            </param>
            <param name="aName">
            the name of the pref to set
            </param>
            <param name="aValue">
            the new value of the pref
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to store it in memory or in
            permanent storage), obtained from a relevant
            window or channel.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aName is null or an empty string
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.HasPref(Gecko.Interfaces.nsIVariant,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Check whether or not a pref exists.
            </summary>
            <param name="aGroup">
            the group for which to check for the pref, as an nsIURI
            from which the hostname will be used, a string
            (typically in the format of a hostname), or null
            to check for the global pref (applies to all sites)
            </param>
            <param name="aName">
            the name of the pref to check for
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to search in memory or in
            permanent storage for it), obtained from a relevant
            window or channel.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aName is null or an empty string
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.HasCachedPref(Gecko.Interfaces.nsIVariant,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Check whether or not the value of a pref (or its non-existance) is cached.
            </summary>
            <param name="aGroup">
            the group for which to check for the pref, as an nsIURI
            from which the hostname will be used, a string
            (typically in the format of a hostname), or null
            to check for the global pref (applies to all sites)
            </param>
            <param name="aName">
            the name of the pref to check for
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to search in memory or in
            permanent storage for it), obtained from a relevant
            window or channel.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aName is null or an empty string
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.RemovePref(Gecko.Interfaces.nsIVariant,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Remove a pref.
            </summary>
            <param name="aGroup">
            the group for which to remove the pref, as an nsIURI
            from which the hostname will be used, a string
            (typically in the format of a hostname), or null
            to remove the global pref (applies to all sites)
            </param>
            <param name="aName">
            the name of the pref to remove
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to search in memory or in
            permanent storage for it), obtained from a relevant
            window or channel.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aName is null or an empty string
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.RemoveGroupedPrefs(Gecko.Interfaces.nsILoadContext)">
            <summary>
            Remove all grouped prefs.  Useful for removing references to the sites
            the user has visited when the user clears their private data.
            </summary>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to remove prefs in memory or
            in permanent storage), obtained from a relevant
            window or channel.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.RemovePrefsByName(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Remove all prefs with the given name.
            </summary>
            <param name="aName">
            the setting name for which to remove prefs
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the prefs (ie. whether to remove prefs in memory or
            in permanent storage), obtained from a relevant
            window or channel.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aName is null or an empty string
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.GetPrefs(Gecko.Interfaces.nsIVariant,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Get the prefs that apply to the given site.
            </summary>
            <param name="aGroup">
            the group for which to retrieve prefs, as an nsIURI
            from which the hostname will be used, a string
            (typically in the format of a hostname), or null
            to get the global prefs (apply to all sites)
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to search for prefs in memory
            or in permanent storage), obtained from a relevant
            window or channel.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aGroup is not a string, nsIURI, or null
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.GetPrefsByName(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Get the prefs with the given name.
            </summary>
            <param name="aName">
            the setting name for which to retrieve prefs
            </param>
            <param name="aPrivacyContext">
            a context from which to determine the privacy status
            of the pref (ie. whether to search for prefs in memory
            or in permanent storage), obtained from a relevant
            window or channel.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if aName is null or an empty string
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.AddObserver(Gecko.nsAStringBase,Gecko.Interfaces.nsIContentPrefObserver)">
            <summary>
            Add an observer.
            </summary>
            <param name="aName">
            the setting to observe, or null to add
            a generic observer that observes all settings
            </param>
            <param name="aObserver">
            the observer to add
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.RemoveObserver(Gecko.nsAStringBase,Gecko.Interfaces.nsIContentPrefObserver)">
            <summary>
            Remove an observer.
            </summary>
            <param name="aName">
            the setting being observed, or null to remove
            a generic observer that observes all settings
            </param>
            <param name="aObserver">
            the observer to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.GetGrouperAttribute">
            <summary>
            The component that the service uses to determine the groups to which
            URIs belong.  By default this is the &quot;hostname grouper&quot;, which groups
            URIs by full hostname (a.k.a. site).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService.GetDBConnectionAttribute">
            <summary>
            The database connection to the content preferences database.
            Useful for accessing and manipulating preferences in ways that are caller-
            specific or for which there is not yet a generic method, although generic
            functionality useful to multiple callers should generally be added to this
            unfrozen interface.  Also useful for testing the database creation
            and migration code.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPrefService2">
            <summary>
            Content Preferences
            
            Content preferences allow the application to associate arbitrary data, or
            &quot;preferences&quot;, with specific domains, or web &quot;content&quot;.  Specifically, a
            content preference is a structure with three values: a domain with which the
            preference is associated, a name that identifies the preference within its
            domain, and a value.  (See nsIContentPref below.)
            
            For example, if you want to remember the user&apos;s preference for a certain zoom
            level on www.mozilla.org pages, you might store a preference whose domain is
            &quot;www.mozilla.org&quot;, whose name is &quot;zoomLevel&quot;, and whose value is the numeric
            zoom level.
            
            A preference need not have a domain, and in that case the preference is
            called a &quot;global&quot; preference.  This interface doesn&apos;t impart any special
            significance to global preferences; they&apos;re simply name-value pairs that
            aren&apos;t associated with any particular domain.  As a consumer of this
            interface, you might choose to let a global preference override all non-
            global preferences of the same name, for example, for whatever definition of
            &quot;override&quot; is appropriate for your use case.
            
            
            Domain Parameters
            
            Many methods of this interface accept a &quot;domain&quot; parameter.  Domains may be
            specified either exactly, like &quot;example.com&quot;, or as full URLs, like
            &quot;http://example.com/foo/bar&quot;.  In the latter case the API extracts the full
            domain from the URL, so if you specify &quot;http://foo.bar.example.com/baz&quot;, the
            domain is taken to be &quot;foo.bar.example.com&quot;, not &quot;example.com&quot;.
            
            
            Private-Browsing Context Parameters
            
            Many methods also accept a &quot;context&quot; parameter.  This parameter relates to
            private browsing and determines the kind of storage that a method uses,
            either the usual permanent storage or temporary storage set aside for private
            browsing sessions.
            
            Pass null to unconditionally use permanent storage.  Pass an nsILoadContext
            to use storage appropriate to the context&apos;s usePrivateBrowsing attribute: if
            usePrivateBrowsing is true, temporary private-browsing storage is used, and
            otherwise permanent storage is used.  A context can be obtained from the
            window or channel whose content pertains to the preferences being modified or
            retrieved.
            
            
            Callbacks
            
            The methods of callback objects are always called asynchronously.
            
            Observers are called after callbacks are called, but they are called in the
            same turn of the event loop as callbacks.
            
            See nsIContentPrefCallback2 below for more information about callbacks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.GetByName(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Gets all the preferences with the given name.
            </summary>
            <param name="name">
            The preferences&apos; name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleResult is called once for each preference unless
            no such preferences exist, in which case handleResult
            is not called at all.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.GetByDomainAndName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Gets the preference with the given domain and name.
            </summary>
            <param name="domain">
            The preference&apos;s domain.
            </param>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleResult is called once unless no such preference
            exists, in which case handleResult is not called at all.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.GetBySubdomainAndName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Gets all preferences with the given name whose domains are either the same
            as or subdomains of the given domain.
            </summary>
            <param name="domain">
            The preferences&apos; domain.
            </param>
            <param name="name">
            The preferences&apos; name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleResult is called once for each preference.  If no
            such preferences exist, handleResult is not called at all.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.GetGlobal(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Gets the preference with no domain and the given name.
            </summary>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleResult is called once unless no such preference
            exists, in which case handleResult is not called at all.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.GetCachedByDomainAndName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Synchronously retrieves from the in-memory cache the preference with the
            given domain and name.
            
            In addition to caching preference values, the cache also keeps track of
            preferences that are known not to exist.  If the preference is known not to
            exist, the value attribute of the returned object will be undefined
            (nsIDataType::VTYPE_VOID).
            
            If the preference is neither cached nor known not to exist, then null is
            returned, and get() must be called to determine whether the preference
            exists.
            </summary>
            <param name="domain">
            The preference&apos;s domain.
            </param>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <returns>
            The preference, or null if no such preference is known to
            exist.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.GetCachedBySubdomainAndName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,System.UInt32@,System.IntPtr@)">
            <summary>
            Synchronously retrieves from the in-memory cache all preferences with the
            given name whose domains are either the same as or subdomains of the given
            domain.
            
            The preferences are returned in an array through the out-parameter.  If a
            preference for a particular subdomain is known not to exist, then an object
            corresponding to that preference will be present in the array, and, as with
            getCachedByDomainAndName, its value attribute will be undefined.
            </summary>
            <param name="domain">
            The preferences&apos; domain.
            </param>
            <param name="name">
            The preferences&apos; name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="len">
            The length of the returned array.
            </param>
            <param name="prefs">
            The array of preferences.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.GetCachedGlobal(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Synchronously retrieves from the in-memory cache the preference with no
            domain and the given name.
            
            As with getCachedByDomainAndName, if the preference is cached then it is
            returned; if the preference is known not to exist, then the value attribute
            of the returned object will be undefined; if the preference is neither
            cached nor known not to exist, then null is returned.
            </summary>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <returns>
            The preference, or null if no such preference is known to
            exist.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.Set(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Sets a preference.
            </summary>
            <param name="domain">
            The preference&apos;s domain.
            </param>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="value">
            The preference&apos;s value.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the preference has been
            stored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.SetGlobal(Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Sets a preference with no domain.
            </summary>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="value">
            The preference&apos;s value.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the preference has been
            stored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveByDomainAndName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes the preference with the given domain and name.
            </summary>
            <param name="domain">
            The preference&apos;s domain.
            </param>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveBySubdomainAndName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes all the preferences with the given name whose domains are either
            the same as or subdomains of the given domain.
            </summary>
            <param name="domain">
            The preferences&apos; domain.
            </param>
            <param name="name">
            The preferences&apos; name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveGlobal(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes the preference with no domain and the given name.
            </summary>
            <param name="name">
            The preference&apos;s name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveByDomain(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes all preferences with the given domain.
            </summary>
            <param name="domain">
            The preferences&apos; domain.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveBySubdomain(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes all preferences whose domains are either the same as or subdomains
            of the given domain.
            </summary>
            <param name="domain">
            The preferences&apos; domain.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveByName(Gecko.nsAStringBase,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes all preferences with the given name regardless of domain, including
            global preferences with the given name.
            </summary>
            <param name="name">
            The preferences&apos; name.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveAllDomains(Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes all non-global preferences -- in other words, all preferences that
            have a domain.
            </summary>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveAllDomainsSince(System.UInt64,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes all non-global preferences created after and including |since|.
            </summary>
            <param name="since">
            Timestamp in milliseconds.
            </param>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveAllGlobals(Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsIContentPrefCallback2)">
            <summary>
            Removes all global preferences -- in other words, all preferences that have
            no domain.
            </summary>
            <param name="context">
            The private-browsing context, if any.
            </param>
            <param name="callback">
            handleCompletion is called when the operation completes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.AddObserverForName(Gecko.nsAStringBase,Gecko.Interfaces.nsIContentPrefObserver)">
            <summary>
            Registers an observer that will be notified whenever a preference with the
            given name is set or removed.
            
            When a set or remove method is called, observers are called after the set
            or removal completes and after the method&apos;s callback is called, and they
            are called in the same turn of the event loop as the callback.
            
            The service holds a strong reference to the observer, so the observer must
            be removed later to avoid leaking it.
            </summary>
            <param name="name">
            The name of the preferences to observe.  Pass null to
            observe all preference changes regardless of name.
            </param>
            <param name="observer">
            The observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.RemoveObserverForName(Gecko.nsAStringBase,Gecko.Interfaces.nsIContentPrefObserver)">
            <summary>
            Unregisters an observer for the given name.
            </summary>
            <param name="name">
            The name for which the observer was registered.  Pass null
            if the observer was added with a null name.
            </param>
            <param name="observer">
            The observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefService2.ExtractDomain(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Extracts and returns the domain from the given string representation of a
            URI.  This is how the API extracts domains from URIs passed to it.
            </summary>
            <param name="str">
            The string representation of a URI, like
            &quot;http://example.com/foo/bar&quot;.
            </param>
            <returns>
            If the given string is a valid URI, the domain of that URI is
            returned.  Otherwise, the string itself is returned.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentPrefCallback2">
            <summary>
            The callback used by the above methods.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefCallback2.HandleResult(Gecko.Interfaces.nsIContentPref)">
            <summary>
            For the retrieval methods, this is called once for each retrieved
            preference.  It is not called for other methods.
            </summary>
            <param name="pref">
            The retrieved preference.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefCallback2.HandleError(System.Int32)">
            <summary>
            Called when an error occurs.  This may be called multiple times before
            handleCompletion is called.
            </summary>
            <param name="error">
            A number in Components.results describing the error.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentPrefCallback2.HandleCompletion(System.UInt16)">
            <summary>
            Called when the method finishes.  This will be called exactly once for
            each method invocation, and afterward no other callback methods will be
            called.
            </summary>
            <param name="reason">
            One of the COMPLETE_* values indicating the manner in which
            the method completed.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentSecurityManager">
            <summary>
            nsIContentSecurityManager
            Describes an XPCOM component used to perform security checks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityManager.PerformSecurityCheck(Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsIStreamListener)">
            <summary>
            Checks whether a channel is allowed to access the given URI and
            whether the channel should be openend or should be blocked consulting
            internal security checks like Same Origin Policy, Content Security
            Policy, Mixed Content Blocker, etc.
            
            If security checks within performSecurityCheck fail, the function
            throws an exception.
            </summary>
            <param name="aChannel">
            The channel about to be openend
            </param>
            <param name="aStreamListener">
            The Streamlistener of the channel potentially wrapped
            into CORSListenerProxy.
            </param>
            <returns>
            The StreamListener of the channel wrapped into CORSListenerProxy.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_DOM_BAD_URI: If accessing the URI is not allowed (e.g. prohibted by SOP)
            NS_ERROR_CONTENT_BLOCKED: If any of the security policies (CSP, Mixed content) is violated
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityManager.IsOriginPotentiallyTrustworthy(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Implementation of
            https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy
            
            The value returned by this method feeds into the the Secure Context
            algorithm that determins the value of Window.isSecureContext and
            WorkerGlobalScope.isSecureContext.
            
            This method returns false instead of throwing upon errors.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.Read(Gecko.Interfaces.nsIObjectInputStream)">
            <summary>
            Initialize the object implementing nsISerializable, which must have
            been freshly constructed via CreateInstance.  All data members that
            can&apos;t be set to default values must have been serialized by write,
            and should be read from aInputStream in the same order by this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.Write(Gecko.Interfaces.nsIObjectOutputStream)">
            <summary>
            Serialize the object implementing nsISerializable to aOutputStream, by
            writing each data member that must be recovered later to reconstitute
            a working replica of this object, in a canonical member and byte order,
            to aOutputStream.
            
            NB: a class that implements nsISerializable *must* also implement
            nsIClassInfo, in particular nsIClassInfo::GetClassID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetPolicy(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Accessor method for a read-only string version of the policy at a given
            index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetPolicy(System.UInt32)">
            <summary>
            Accessor method for a read-only pointer the policy object at a given
            index. Returns a null pointer if the index is larger than the current
            policy count.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetPolicyCountAttribute">
            <summary>
            Returns the number of policies attached to this CSP instance.  Useful with
            getPolicy().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetUpgradeInsecureRequestsAttribute">
            <summary>
            Returns whether this policy uses the directive upgrade-insecure-requests.
            Please note that upgrade-insecure-reqeusts also applies if the parent or
            including document (context) makes use of the directive.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetBlockAllMixedContentAttribute">
            <summary>
            Returns whether this policy uses the directive block-all-mixed-content.
            Please note that block-all-mixed-content takes presedence in case the
            directive upgrade-insecure-requests is defined in the same policy and
            will therefore block all mixed content without even trying to perform
            an upgrade.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetReferrerPolicy(System.UInt32@)">
            <summary>
            Obtains the referrer policy (as integer) for this browsing context as
            specified in CSP.  If there are multiple policies and...
            - only one sets a referrer policy: that policy is returned
            - more than one sets different referrer policies: no-referrer is returned
            - more than one set equivalent policies: that policy is returned
            For the enumeration of policies see ReferrerPolicy.h and nsIHttpChannel.
            </summary>
            <param name="aPolicy">
            The referrer policy to use for the protected resource.
            </param>
            <returns>
            true if a referrer policy is specified, false if it&apos;s unspecified.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.AppendPolicy(Gecko.nsAStringBase,System.Boolean,System.Boolean)">
            <summary>
            Parse and install a CSP policy.
            </summary>
            <param name="aPolicy">
            String representation of the policy
            (e.g., header value, meta content)
            </param>
            <param name="reportOnly">
            Should this policy affect content, script and style processing or
            just send reports if it is violated?
            </param>
            <param name="deliveredViaMetaTag">
            Indicates whether the policy was delivered via the meta tag.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetAllowsEval(System.Boolean@)">
            <summary>
            whether this policy allows eval and eval-like functions
            such as setTimeout(&quot;code string&quot;, time).
            </summary>
            <param name="shouldReportViolations">
            Whether or not the use of eval should be reported.
            This function returns &quot;true&quot; when violating report-only policies, but
            when any policy (report-only or otherwise) is violated,
            shouldReportViolations is true as well.
            </param>
            <returns>
            Whether or not the effects of the eval call should be allowed
            (block the call if false).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.GetCSPSandboxFlags">
            <summary>
            Delegate method called by the service when the protected document is loaded.
            Returns the union of all the sandbox flags contained in CSP policies. This is the most
            restrictive interpretation of flags set in multiple policies.
            See nsSandboxFlags.h for the possible flags.
            </summary>
            <returns>
            sandbox flags or SANDBOXED_NONE if no sandbox directive exists
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.LogViolationDetails(System.UInt16,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Int32,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            For each violated policy (of type violationType), log policy violation on
            the Error Console and send a report to report-uris present in the violated
            policies.
            </summary>
            <param name="violationType">
            one of the VIOLATION_TYPE_* constants, e.g. inline-script or eval
            </param>
            <param name="sourceFile">
            name of the source file containing the violation (if available)
            </param>
            <param name="contentSample">
            sample of the violating content (to aid debugging)
            </param>
            <param name="lineNum">
            source line number of the violation (if available)
            </param>
            <param name="aNonce">
            (optional) If this is a nonce violation, include the nonce so we can
            recheck to determine which policies were violated and send the
            appropriate reports.
            </param>
            <param name="aContent">
            (optional) If this is a hash violation, include contents of the inline
            resource in the question so we can recheck the hash in order to
            determine which policies were violated and send the appropriate
            reports.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.SetRequestContext(Gecko.Interfaces.nsIDOMDocument,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Called after the CSP object is created to fill in appropriate request
            context. Either use
            aDocument (preferred), or if no document is available, then provide
            aPrincipal
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.PermitsAncestry(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Verifies ancestry as permitted by the policy.
            
            NOTE: Calls to this may trigger violation reports when queried, so this
            value should not be cached.
            </summary>
            <param name="docShell">
            containing the protected resource
            </param>
            <returns>
            true if the frame&apos;s ancestors are all allowed by policy (except for
            report-only policies, which will send reports and then return true
            here when violated).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.Permits(Gecko.Interfaces.nsIURI,System.UInt16,System.Boolean)">
            <summary>
            Checks if a specific directive permits loading of a URI.
            
            NOTE: Calls to this may trigger violation reports when queried, so the
            return value should not be cached.
            </summary>
            <param name="aURI">
            The URI about to be loaded or used.
            </param>
            <param name="aDir">
            The CSPDirective to query (see above constants *_DIRECTIVE).
            </param>
            <param name="aSpecific">
            If &quot;true&quot; and the directive is specified to fall back to &quot;default-src&quot;
            when it&apos;s not explicitly provided, directivePermits will NOT try
            default-src when the specific directive is not used.  Setting this to
            &quot;false&quot; allows CSP to fall back to default-src.  This function
            behaves the same for both values of canUseDefault when querying
            directives that don&apos;t fall-back.
            </param>
            <returns>
            Whether or not the provided URI is allowed by CSP under the given
            directive. (block the pending operation if false).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.ShouldLoad(System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsISupports,Gecko.nsACStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Delegate method called by the service when sub-elements of the protected
            document are being loaded.  Given a bit of information about the request,
            decides whether or not the policy is satisfied.
            
            Calls to this may trigger violation reports when queried, so
            this value should not be cached.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSecurityPolicy.ToJSON(Gecko.nsAStringBase)">
            <summary>
            Returns the CSP in JSON notation.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentSniffer">
            <summary>
            Content sniffer interface. Components implementing this interface can
            determine a MIME type from a chunk of bytes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentSniffer.GetMIMETypeFromContent(Gecko.Interfaces.nsIRequest,System.Byte[],System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Given a chunk of data, determines a MIME type. Information from the given
            request may be used in order to make a better decision.
            </summary>
            <param name="aRequest">
            The request where this data came from. May be null.
            </param>
            <param name="aData">
            Data to check
            </param>
            <param name="aLength">
            Length of the data
            </param>
            <returns>
            The content type
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentURIGrouper.Group(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase)">
            <summary>
            Determine the group to which the URI belongs.
            </summary>
            <param name="aURI">
            the URI to group
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.PermitUnload">
            <summary>
            Checks if the document wants to prevent unloading by firing beforeunload on
            the document, and if it does, prompts the user. The result is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetInPermitUnloadAttribute">
            <summary>
            Exposes whether we&apos;re blocked in a call to permitUnload.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.PermitUnloadInternal(System.Boolean@)">
            <summary>
            As above, but this passes around the aShouldPrompt argument to keep
            track of whether the user has responded to a prompt.
            Used internally by the scriptable version to ensure we only prompt once.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetBeforeUnloadFiringAttribute">
            <summary>
            Exposes whether we&apos;re in the process of firing the beforeunload event.
            In this case, the corresponding docshell will not allow navigation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.Close(Gecko.Interfaces.nsISHEntry)">
            <summary>
            All users of a content viewer are responsible for calling both
            close() and destroy(), in that order.
            
            close() should be called when the load of a new page for the next
            content viewer begins, and destroy() should be called when the next
            content viewer replaces this one.
            
            |historyEntry| sets the session history entry for the content viewer.  If
            this is null, then Destroy() will be called on the document by close().
            If it is non-null, the document will not be destroyed, and the following
            actions will happen when destroy() is called (*):
            - Sanitize() will be called on the viewer&apos;s document
            - The content viewer will set the contentViewer property on the
            history entry, and release its reference (ownership reversal).
            - hide() will be called, and no further destruction will happen.
            
            (*) unless the document is currently being printed, in which case
            it will never be saved in session history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetDocument">
            <summary>
            Returns DOMDocument as nsIDocument and without addrefing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetPreviousViewerAttribute">
            <summary>
            The previous content viewer, which has been |close|d but not
            |destroy|ed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.Open(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsISHEntry)">
            <summary>
            Attach the content viewer to its DOM window and docshell.
            </summary>
            <param name="aState">
            A state object that might be useful in attaching the DOM
            window.
            </param>
            <param name="aSHEntry">
            The history entry that the content viewer was stored in.
            The entry must have the docshells for all of the child
            documents stored in its child shell list.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.ClearHistoryEntry">
            <summary>
            Clears the current history entry.  This is used if we need to clear out
            the saved presentation state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.SetPageMode(System.Boolean,Gecko.Interfaces.nsIPrintSettings)">
            <summary>
            Change the layout to view the document with page layout (like print preview), but
            dynamic and editable (like Galley layout).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetHistoryEntryAttribute">
            <summary>
            Get the history entry that this viewer will save itself into when
            destroyed.  Can return null
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetIsTabModalPromptAllowedAttribute">
            <summary>
            Indicates when we&apos;re in a state where content shouldn&apos;t be allowed to
            trigger a tab-modal prompt (as opposed to a window-modal prompt) because
            we&apos;re part way through some operation (eg beforeunload) that shouldn&apos;t be
            rentrant if the user closes the tab while the prompt is showing.
            See bug 613800.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetIsHiddenAttribute">
            <summary>
            Returns whether this content viewer is in a hidden state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.FindContainerView">
            <summary>
            Find the view to use as the container view for MakeWindow. Returns
            null if this will be the root of a view manager hierarchy. In that
            case, if mParentWidget is null then this document should not even
            be displayed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.SetNavigationTiming(System.IntPtr)">
            <summary>
            Set collector for navigation timing data (load, unload events).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetTextZoomAttribute">
            <summary>
            The amount by which to scale all text. Default is 1.0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetFullZoomAttribute">
            <summary>
            The amount by which to scale all lengths. Default is 1.0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetOverrideDPPXAttribute">
            <summary>
            The value used to override devicePixelRatio and media queries dppx.
            Default is 0.0, that means no overriding is done (only a positive value
            is applied).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetAuthorStyleDisabledAttribute">
            <summary>
            Disable entire author style level (including HTML presentation hints)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetForceCharacterSetAttribute(Gecko.nsACStringBase)">
            <summary>
            XXX comm-central only: bug 829543. Not the Character Encoding menu in
            browser!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetHintCharacterSetAttribute(Gecko.nsACStringBase)">
            <summary>
            XXX comm-central only: bug 829543.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetHintCharacterSetSourceAttribute">
            <summary>
            XXX comm-central only: bug 829543.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetContentSize(System.Int32@,System.Int32@)">
            <summary>
            Requests the size of the content to the container.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetContentSizeConstrained(System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Returns the preferred width and height of the content, constrained to the
            given maximum values. If either maxWidth or maxHeight is less than zero,
            that dimension is not constrained.
            
            All input and output values are in device pixels, rather than CSS pixels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.GetMinFontSizeAttribute">
            <summary>
            The minimum font size
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.AppendSubtree(System.IntPtr)">
            <summary>
            Append |this| and all of its descendants to the given array,
            in depth-first pre-order traversal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.PausePainting">
            <summary>
            Instruct the refresh driver to discontinue painting until further
            notice.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewer.ResumePainting">
            <summary>
            Instruct the refresh driver to resume painting after a previous call to
            pausePainting().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentViewerContainer.SetIsPrinting(System.Boolean)">
            <summary>
            Allows the PrintEngine to make this call on
            an internal interface to the DocShell
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContentViewerFile">
            <summary>
            The nsIDocShellFile
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIContextMenuListener">
            <summary>
            An optional interface for embedding clients wishing to receive
            notifications for context menu events (e.g. generated by
            a user right-mouse clicking on a link). The embedder implements
            this interface on the web browser chrome object associated
            with the window that notifications are required for. When a context
            menu event, the browser will call this interface if present.
            </summary>
            <remarks>
            See nsIDOMEvent
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIContextMenuListener.OnShowContextMenu(System.UInt32,Gecko.Interfaces.nsIDOMEvent,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Called when the browser receives a context menu event (e.g. user is right-mouse
            clicking somewhere on the document). The combination of flags, event and node
            provided in the call indicate where and what was clicked on.
            
            The following table describes what context flags and node combinations are
            possible.
            
            &lt;TABLE&gt;
            &lt;TR&gt;&lt;TD&gt;&lt;B&gt;aContextFlag&lt;/B&gt;&lt;/TD&gt;&lt;TD&gt;aNode&lt;/TD&gt;&lt;/TR&gt;
            &lt;TR&gt;&lt;TD&gt;CONTEXT_LINK&lt;/TD&gt;&lt;TD&gt;&amp;lt;A&amp;gt;&lt;/TD&gt;&lt;/TR&gt;
            &lt;TR&gt;&lt;TD&gt;CONTEXT_IMAGE&lt;/TD&gt;&lt;TD&gt;&amp;lt;IMG&amp;gt;&lt;/TD&gt;&lt;/TR&gt;
            &lt;TR&gt;&lt;TD&gt;CONTEXT_IMAGE | CONTEXT_LINK&lt;/TD&gt;&lt;TD&gt;&amp;lt;IMG&amp;gt;
            with an &amp;lt;A&amp;gt; as an ancestor&lt;/TD&gt;&lt;/TR&gt;
            &lt;TR&gt;&lt;TD&gt;CONTEXT_INPUT&lt;/TD&gt;&lt;TD&gt;&amp;lt;INPUT&amp;gt;&lt;/TD&gt;&lt;/TR&gt;
            &lt;TR&gt;&lt;TD&gt;CONTEXT_TEXT&lt;/TD&gt;&lt;TD&gt;&amp;lt;TEXTAREA&amp;gt;&lt;/TD&gt;&lt;/TR&gt;
            &lt;TR&gt;&lt;TD&gt;CONTEXT_DOCUMENT&lt;/TD&gt;&lt;TD&gt;&amp;lt;HTML&amp;gt;&lt;/TD&gt;&lt;/TR&gt;
            &lt;/TABLE&gt;
            </summary>
            <param name="aContextFlags">
            Flags indicating the kind of context.
            </param>
            <param name="aEvent">
            The DOM context menu event.
            </param>
            <param name="aNode">
            The DOM node most relevant to the context.
            </param>
            <returns>
            &lt;CODE&gt;NS_OK&lt;/CODE&gt; always.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIContextMenuListener2">
            <summary>
            nsIContextMenuListener2
            
            This is an extended version of nsIContextMenuListener
            It provides a helper class, nsIContextMenuInfo, to allow access to
            background images as well as various utilities.
            </summary>
            <remarks>
            See nsIContextMenuInfo
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIContextMenuListener2.OnShowContextMenu(System.UInt32,Gecko.Interfaces.nsIContextMenuInfo)">
            <summary>
            Called when the browser receives a context menu event (e.g. user is right-mouse
            clicking somewhere on the document). The combination of flags, along with the
            attributes of &lt;CODE&gt;aUtils&lt;/CODE&gt;, indicate where and what was clicked on.
            
            The following table describes what context flags and node combinations are
            possible.
            
            aContextFlags                  aUtils.targetNode
            
            CONTEXT_LINK                   &lt;A&gt;
            CONTEXT_IMAGE                  &lt;IMG&gt;
            CONTEXT_IMAGE | CONTEXT_LINK   &lt;IMG&gt; with &lt;A&gt; as an ancestor
            CONTEXT_INPUT                  &lt;INPUT&gt;
            CONTEXT_INPUT | CONTEXT_IMAGE  &lt;INPUT&gt; with type=image
            CONTEXT_TEXT                   &lt;TEXTAREA&gt;
            CONTEXT_DOCUMENT               &lt;HTML&gt;
            CONTEXT_BACKGROUND_IMAGE       &lt;HTML&gt; with background image
            </summary>
            <param name="aContextFlags">
            Flags indicating the kind of context.
            </param>
            <param name="aUtils">
            Context information and helper utilities.
            </param>
            <remarks>
            See nsIContextMenuInfo
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIContextMenuInfo">
            <summary>
            nsIContextMenuInfo
            
            A helper object for implementors of nsIContextMenuListener2.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContextMenuInfo.GetMouseEventAttribute">
            <summary>
            The DOM context menu event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContextMenuInfo.GetTargetNodeAttribute">
            <summary>
            The DOM node most relevant to the context.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContextMenuInfo.GetAssociatedLinkAttribute(Gecko.nsAStringBase)">
            <summary>
            Given the &lt;CODE&gt;CONTEXT_LINK&lt;/CODE&gt; flag, &lt;CODE&gt;targetNode&lt;/CODE&gt; may not
            nescesarily be a link. This returns the anchor from &lt;CODE&gt;targetNode&lt;/CODE&gt;
            if it has one or that of its nearest ancestor if it does not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContextMenuInfo.GetImageContainerAttribute">
            <summary>
            Given the &lt;CODE&gt;CONTEXT_IMAGE&lt;/CODE&gt; flag, these methods can be
            used in order to get the image for viewing, saving, or for the clipboard.
            </summary>
            <returns>
            &lt;CODE&gt;NS_OK&lt;/CODE&gt; if successful, otherwise &lt;CODE&gt;NS_ERROR_FAILURE&lt;/CODE&gt; if no
            image was found, or NS_ERROR_NULL_POINTER if an internal error occurs where we think there
            is an image, but for some reason it cannot be returned.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIContextMenuInfo.GetBackgroundImageContainerAttribute">
            <summary>
            Given the &lt;CODE&gt;CONTEXT_BACKGROUND_IMAGE&lt;/CODE&gt; flag, these methods can be
            used in order to get the image for viewing, saving, or for the clipboard.
            </summary>
            <returns>
            &lt;CODE&gt;NS_OK&lt;/CODE&gt; if successful, otherwise &lt;CODE&gt;NS_ERROR_FAILURE&lt;/CODE&gt; if no background
            image was found, or NS_ERROR_NULL_POINTER if an internal error occurs where we think there is a
            background image, but for some reason it cannot be returned.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIControllerCommand">
            <summary>
            nsIControllerCommand
            
            A generic command interface. You can register an nsIControllerCommand
            with the nsIControllerCommandTable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommand.IsCommandEnabled(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Returns true if the command is currently enabled. An nsIControllerCommand
            can implement more than one commands; say, a group of related commands
            (e.g. delete left/delete right). Because of this, the command name is
            passed to each method.
            </summary>
            <param name="aCommandName">
            the name of the command for which we want the enabled
            state.
            </param>
            <param name="aCommandContext">
            a cookie held by the nsIControllerCommandTable,
            allowing the command to get some context information.
            The contents of this cookie are implementation-defined.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommand.DoCommand(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Execute the name command.
            </summary>
            <param name="aCommandName">
            the name of the command to execute.
            </param>
            <param name="aCommandContext">
            a cookie held by the nsIControllerCommandTable,
            allowing the command to get some context information.
            The contents of this cookie are implementation-defined.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIControllerCommandTable">
            <summary>
            nsIControllerCommandTable
            
            An interface via which a controller can maintain a series of commands,
            and efficiently dispatch commands to their respective handlers.
            
            Controllers that use an nsIControllerCommandTable should support
            nsIInterfaceRequestor, and be able to return an interface to their
            controller command table via getInterface().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommandTable.MakeImmutable">
            <summary>
            Make this command table immutable, so that commands cannot
            be registered or unregistered. Some command tables are made
            mutable after command registration so that they can be
            used as singletons.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommandTable.RegisterCommand(System.String,Gecko.Interfaces.nsIControllerCommand)">
            <summary>
            Register and unregister commands with the command table.
            </summary>
            <param name="aCommandName">
            the name of the command under which to register or
            unregister the given command handler.
            </param>
            <param name="aCommand">
            the handler for this command.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommandTable.FindCommandHandler(System.String)">
            <summary>
            Find the command handler which has been registered to handle the named command.
            </summary>
            <param name="aCommandName">
            the name of the command to find the handler for.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommandTable.IsCommandEnabled(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Get whether the named command is enabled.
            </summary>
            <param name="aCommandName">
            the name of the command to test
            </param>
            <param name="aCommandRefCon">
            the command context data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommandTable.UpdateCommandState(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Tell the command to update its state (if it is a state updating command)
            </summary>
            <param name="aCommandName">
            the name of the command to update
            </param>
            <param name="aCommandRefCon">
            the command context data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommandTable.SupportsCommand(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Get whether the named command is supported.
            </summary>
            <param name="aCommandName">
            the name of the command to test
            </param>
            <param name="aCommandRefCon">
            the command context data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerCommandTable.DoCommand(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Execute the named command.
            </summary>
            <param name="aCommandName">
            the name of the command to execute
            </param>
            <param name="aCommandRefCon">
            the command context data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerContext.Init(Gecko.Interfaces.nsIControllerCommandTable)">
            <summary>
            Init the controller, optionally passing a controller
            command table.
            </summary>
            <param name="aCommandTable">
            a command table, used internally
            by this controller. May be null, in
            which case the controller will create
            a new, empty table.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIControllerContext.SetCommandContext(Gecko.Interfaces.nsISupports)">
            <summary>
            Set a context on this controller, which is passed
            to commands to give them some context when they execute.
            </summary>
            <param name="aCommandContext">
            the context passed to commands.
            Note that this is *not* addreffed by the
            controller, and so needs to outlive it,
            or be nulled out.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIConverterInputStream">
            <summary>
            A unichar input stream that wraps an input stream.
            This allows reading unicode strings from a stream, automatically converting
            the bytes from a selected character encoding.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUnicharInputStream">
            <summary>
            Abstract unicode character input stream
            </summary>
            <remarks>
            See nsIInputStream
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharInputStream.Read(System.Char[],System.UInt32)">
            <summary>
            Reads into a caller-provided character array.
            </summary>
            <returns>
            The number of characters that were successfully read. May be less
            than aCount, even if there is more data in the input stream.
            A return value of 0 means EOF.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharInputStream.ReadSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that has access to the stream's underlying buffer.
            The writer function may be called multiple times for segmented buffers.
            ReadSegments is expected to keep calling the writer until either there is
            nothing left to read or the writer returns an error.  ReadSegments should
            not call the writer with zero characters to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of characters to be read
            </param>
            <returns>
            0 if reached end of file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharInputStream.ReadString(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Read into a string object.
            </summary>
            <param name="aCount">
            The number of characters that should be read
            </param>
            <returns>
            The number of characters that were read.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharInputStream.Close">
            <summary>
            Close the stream and free associated resources. This also closes the
            underlying stream, if any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterInputStream.Read(System.Char[],System.UInt32)">
            <summary>
            Reads into a caller-provided character array.
            </summary>
            <returns>
            The number of characters that were successfully read. May be less
            than aCount, even if there is more data in the input stream.
            A return value of 0 means EOF.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterInputStream.ReadSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that has access to the stream's underlying buffer.
            The writer function may be called multiple times for segmented buffers.
            ReadSegments is expected to keep calling the writer until either there is
            nothing left to read or the writer returns an error.  ReadSegments should
            not call the writer with zero characters to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of characters to be read
            </param>
            <returns>
            0 if reached end of file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterInputStream.ReadString(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Read into a string object.
            </summary>
            <param name="aCount">
            The number of characters that should be read
            </param>
            <returns>
            The number of characters that were read.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterInputStream.Close">
            <summary>
            Close the stream and free associated resources. This also closes the
            underlying stream, if any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterInputStream.Init(Gecko.Interfaces.nsIInputStream,System.String,System.Int32,System.Char)">
            <summary>
            Initialize this stream.
            </summary>
            <param name="aStream">
            The underlying stream to read from.
            </param>
            <param name="aCharset">
            The character encoding to use for converting the bytes of the
            stream. A null charset will be interpreted as UTF-8.
            </param>
            <param name="aBufferSize">
            How many bytes to buffer.
            </param>
            <param name="aReplacementChar">
            The character to replace unknown byte sequences in the stream
            with. The standard replacement character is U+FFFD.
            A value of 0x0000 will cause an exception to be thrown if unknown
            byte sequences are encountered in the stream.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIConverterOutputStream">
            <summary>
            This interface allows writing strings to a stream, doing automatic
            character encoding conversion.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUnicharOutputStream">
            <summary>
            An interface that allows writing unicode data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharOutputStream.Write(System.UInt32,System.Char[])">
            <summary>
            Write a single character to the stream. When writing many characters,
            prefer the string-taking write method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharOutputStream.WriteString(Gecko.nsAStringBase)">
            <summary>
            Write a string to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharOutputStream.Flush">
            <summary>
            Flush the stream. This finishes the conversion and writes any bytes that
            finish the current byte sequence.
            
            It does NOT flush the underlying stream.
            </summary>
            <remarks>
            See nsIUnicodeEncoder::Finish
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharOutputStream.Close">
            <summary>
            Close the stream and free associated resources. This also closes the
            underlying stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterOutputStream.Write(System.UInt32,System.Char[])">
            <summary>
            Write a single character to the stream. When writing many characters,
            prefer the string-taking write method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterOutputStream.WriteString(Gecko.nsAStringBase)">
            <summary>
            Write a string to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterOutputStream.Flush">
            <summary>
            Flush the stream. This finishes the conversion and writes any bytes that
            finish the current byte sequence.
            
            It does NOT flush the underlying stream.
            </summary>
            <remarks>
            See nsIUnicodeEncoder::Finish
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterOutputStream.Close">
            <summary>
            Close the stream and free associated resources. This also closes the
            underlying stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIConverterOutputStream.Init(Gecko.Interfaces.nsIOutputStream,System.String,System.UInt32,System.Char)">
            <summary>
            Initialize this stream. Must be called before any other method on this
            interface, or you will crash. The output stream passed to this method
            must not be null, or you will crash.
            </summary>
            <param name="aOutStream">
            The underlying output stream to which the converted strings will
            be written.
            </param>
            <param name="aCharset">
            The character set to use for encoding the characters. A null
            charset will be interpreted as UTF-8.
            </param>
            <param name="aBufferSize">
            How many bytes to buffer. A value of 0 means that no bytes will be
            buffered. Implementations not supporting buffering may ignore
            this parameter.
            </param>
            <param name="aReplacementCharacter">
            The replacement character to use when an unsupported character is found.
            The character must be encodable in the selected character
            encoding; otherwise, attempts to write an unsupported character
            will throw NS_ERROR_LOSS_OF_SIGNIFICANT_DATA.
            
            A value of 0x0000 will cause an exception to be thrown upon
            attempts to write unsupported characters.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetNameAttribute(Gecko.nsACStringBase)">
            <summary>
            the name of the cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetValueAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            the cookie value
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetIsDomainAttribute">
            <summary>
            true if the cookie is a domain cookie, false otherwise
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            the host (possibly fully qualified) of the cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            the path pertaining to the cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetIsSecureAttribute">
            <summary>
            true if the cookie was transmitted over ssl, false otherwise
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetExpiresAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie.GetOriginAttributesAttribute(System.IntPtr)">
            <summary>
            The origin attributes for this cookie
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICookie2">
            <summary>
            Main cookie object interface for use by consumers:
            extends nsICookie, a frozen interface for external
            access of cookie objects
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetNameAttribute(Gecko.nsACStringBase)">
            <summary>
            the name of the cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetValueAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            the cookie value
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetIsDomainAttribute">
            <summary>
            true if the cookie is a domain cookie, false otherwise
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            the host (possibly fully qualified) of the cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            the path pertaining to the cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetIsSecureAttribute">
            <summary>
            true if the cookie was transmitted over ssl, false otherwise
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetExpiresAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetOriginAttributesAttribute(System.IntPtr)">
            <summary>
            The origin attributes for this cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetRawHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            the host (possibly fully qualified) of the cookie,
            without a leading dot to represent if it is a
            domain cookie.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetIsSessionAttribute">
            <summary>
            true if the cookie is a session cookie.
            note that expiry time will also be honored
            for session cookies (see below); thus, whichever is
            the more restrictive of the two will take effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetExpiryAttribute">
            <summary>
            the actual expiry time of the cookie, in seconds
            since midnight (00:00:00), January 1, 1970 UTC.
            
            this is distinct from nsICookie::expires, which
            has different and obsolete semantics.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetIsHttpOnlyAttribute">
            <summary>
            true if the cookie is an http only cookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetCreationTimeAttribute">
            <summary>
            the creation time of the cookie, in microseconds
            since midnight (00:00:00), January 1, 1970 UTC.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookie2.GetLastAccessedAttribute">
            <summary>
            the last time the cookie was accessed (i.e. created,
            modified, or read by the server), in microseconds
            since midnight (00:00:00), January 1, 1970 UTC.
            
            note that this time may be approximate.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICookieManager">
            <summary>
            An optional interface for accessing or removing the cookies
            that are in the cookie list
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager.RemoveAll">
            <summary>
            Called to remove all cookies from the cookie list
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager.GetEnumeratorAttribute">
            <summary>
            Called to enumerate through each cookie in the cookie list.
            The objects enumerated over are of type nsICookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager.Remove(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.Boolean,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Called to remove an individual cookie from the cookie list, specified
            by host, name, and path. If the cookie cannot be found, no exception
            is thrown. Typically, the arguments to this method will be obtained
            directly from the desired nsICookie object.
            </summary>
            <param name="aHost">
            The host or domain for which the cookie was set. @see
            nsICookieManager2::add for a description of acceptable host
            strings. If the target cookie is a domain cookie, a leading
            dot must be present.
            </param>
            <param name="aName">
            The name specified in the cookie
            </param>
            <param name="aPath">
            The path for which the cookie was set
            </param>
            <param name="aOriginAttributes">
            The originAttributes of this cookie. This
            attribute is optional to avoid breaking add-ons.
            In 1 or 2 releases it will be mandatory: bug 1260399.
            </param>
            <param name="aBlocked">
            Indicates if cookies from this host should be permanently
            blocked.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager.UsePrivateMode(System.Boolean,Gecko.Interfaces.nsIPrivateModeCallback)">
            <summary>
            Set the cookie manager to work on private or non-private cookies for the
            duration of the callback.
            </summary>
            <param name="aIsPrivate">
            True to work on private cookies, false to work on
            non-private cookies.
            </param>
            <param name="aCallback">
            Methods on the cookie manager interface will work on
            private or non-private cookies for the duration of this
            callback.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICookieManager2">
            <summary>
            Additions to the frozen nsICookieManager
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.RemoveAll">
            <summary>
            Called to remove all cookies from the cookie list
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.GetEnumeratorAttribute">
            <summary>
            Called to enumerate through each cookie in the cookie list.
            The objects enumerated over are of type nsICookie
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.Remove(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.Boolean,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Called to remove an individual cookie from the cookie list, specified
            by host, name, and path. If the cookie cannot be found, no exception
            is thrown. Typically, the arguments to this method will be obtained
            directly from the desired nsICookie object.
            </summary>
            <param name="aHost">
            The host or domain for which the cookie was set. @see
            nsICookieManager2::add for a description of acceptable host
            strings. If the target cookie is a domain cookie, a leading
            dot must be present.
            </param>
            <param name="aName">
            The name specified in the cookie
            </param>
            <param name="aPath">
            The path for which the cookie was set
            </param>
            <param name="aOriginAttributes">
            The originAttributes of this cookie. This
            attribute is optional to avoid breaking add-ons.
            In 1 or 2 releases it will be mandatory: bug 1260399.
            </param>
            <param name="aBlocked">
            Indicates if cookies from this host should be permanently
            blocked.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.UsePrivateMode(System.Boolean,Gecko.Interfaces.nsIPrivateModeCallback)">
            <summary>
            Set the cookie manager to work on private or non-private cookies for the
            duration of the callback.
            </summary>
            <param name="aIsPrivate">
            True to work on private cookies, false to work on
            non-private cookies.
            </param>
            <param name="aCallback">
            Methods on the cookie manager interface will work on
            private or non-private cookies for the duration of this
            callback.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.Add(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,System.Boolean,System.Boolean,System.Boolean,System.Int64,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Add a cookie. nsICookieService is the normal way to do this. This
            method is something of a backdoor.
            </summary>
            <param name="aHost">
            the host or domain for which the cookie is set. presence of a
            leading dot indicates a domain cookie; otherwise, the cookie
            is treated as a non-domain cookie (see RFC2109). The host string
            will be normalized to ASCII or ACE; any trailing dot will be
            stripped. To be a domain cookie, the host must have at least two
            subdomain parts (e.g. &apos;.foo.com&apos;, not &apos;.com&apos;), otherwise an
            exception will be thrown. An empty string is acceptable
            (e.g. file:// URI&apos;s).
            </param>
            <param name="aPath">
            path within the domain for which the cookie is valid
            </param>
            <param name="aName">
            cookie name
            </param>
            <param name="aValue">
            cookie data
            </param>
            <param name="aIsSecure">
            true if the cookie should only be sent over a secure connection.
            </param>
            <param name="aIsHttpOnly">
            true if the cookie should only be sent to, and can only be
            modified by, an http connection.
            </param>
            <param name="aIsSession">
            true if the cookie should exist for the current session only.
            see aExpiry.
            </param>
            <param name="aExpiry">
            expiration date, in seconds since midnight (00:00:00), January 1,
            1970 UTC. note that expiry time will also be honored for session cookies;
            in this way, the more restrictive of the two will take effect.
            </param>
            <param name="aOriginAttributes">
            The originAttributes of this cookie. This
            attribute is optional to avoid breaking add-ons.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.CookieExists(Gecko.Interfaces.nsICookie2,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Find whether a given cookie already exists.
            </summary>
            <param name="aCookie">
            the cookie to look for
            </param>
            <param name="aOriginAttributes">
            nsICookie2 contains an originAttributes but if nsICookie2 is
            implemented in JS, we can&apos;t retrieve its originAttributes because
            the getter is marked [implicit_jscontext]. This optional parameter
            is a workaround.
            </param>
            <returns>
            true if a cookie was found which matches the host, path, and name
            fields of aCookie
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.CountCookiesFromHost(Gecko.nsAUTF8StringBase)">
            <summary>
            Count how many cookies exist within the base domain of &apos;aHost&apos;.
            Thus, for a host &quot;weather.yahoo.com&quot;, the base domain would be &quot;yahoo.com&quot;,
            and any host or domain cookies for &quot;yahoo.com&quot; and its subdomains would be
            counted.
            </summary>
            <param name="aHost">
            the host string to search for, e.g. &quot;google.com&quot;. this should consist
            of only the host portion of a URI. see @add for a description of
            acceptable host strings.
            </param>
            <returns>
            the number of cookies found.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.GetCookiesFromHost(Gecko.nsAUTF8StringBase,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Returns an enumerator of cookies that exist within the base domain of
            &apos;aHost&apos;. Thus, for a host &quot;weather.yahoo.com&quot;, the base domain would be
            &quot;yahoo.com&quot;, and any host or domain cookies for &quot;yahoo.com&quot; and its
            subdomains would be returned.
            </summary>
            <param name="aHost">
            the host string to search for, e.g. &quot;google.com&quot;. this should consist
            of only the host portion of a URI. see @add for a description of
            acceptable host strings.
            </param>
            <param name="aOriginAttributes">
            The originAttributes of cookies that would be
            retrived. This attribute is optional to avoid
            breaking add-ons.
            </param>
            <returns>
            an nsISimpleEnumerator of nsICookie2 objects.
            </returns>
            <remarks>
            See countCookiesFromHost
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.ImportCookies(Gecko.Interfaces.nsIFile)">
            <summary>
            Import an old-style cookie file. Imported cookies will be added to the
            existing database. If the database contains any cookies the same as those
            being imported (i.e. domain, name, and path match), they will be replaced.
            </summary>
            <param name="aCookieFile">
            the file to import, usually cookies.txt
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.GetCookiesWithOriginAttributes(Gecko.nsAStringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Returns an enumerator of all cookies whose origin attributes matches aPattern
            </summary>
            <param name="aPattern">
            origin attribute pattern in JSON format
            </param>
            <param name="aHost">
            the host string to search for, e.g. &quot;google.com&quot;. this should consist
            of only the host portion of a URI. see @add for a description of
            acceptable host strings. This attribute is optional. It will search
            all hosts if this attribute is not given.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookieManager2.RemoveCookiesWithOriginAttributes(Gecko.nsAStringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Remove all the cookies whose origin attributes matches aPattern
            </summary>
            <param name="aPattern">
            origin attribute pattern in JSON format
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICookiePermission">
            <summary>
            An interface to test for cookie permissions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICookiePermission.SetAccess(Gecko.Interfaces.nsIURI,System.Int32)">
            <summary>
            setAccess
            
            this method is called to block cookie access for the given URI.  this
            may result in other URIs being blocked as well (e.g., URIs which share
            the same host name).
            </summary>
            <param name="aURI">
            the URI to block
            </param>
            <param name="aAccess">
            the new cookie access for the URI.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICookiePermission.CanAccess(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIChannel)">
            <summary>
            canAccess
            
            this method is called to test whether or not the given URI/channel may
            access the cookie database, either to set or get cookies.
            </summary>
            <param name="aURI">
            the URI trying to access cookies
            </param>
            <param name="aChannel">
            the channel corresponding to aURI
            </param>
            <returns>
            one of the following nsCookieAccess values:
            ACCESS_DEFAULT, ACCESS_ALLOW, ACCESS_DENY, or
            ACCESS_ALLOW_FIRST_PARTY_ONLY
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICookiePermission.CanSetCookie(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsICookie2,System.Boolean@,System.Int64@)">
            <summary>
            canSetCookie
            
            this method is called to test whether or not the given URI/channel may
            set a specific cookie.  this method is always preceded by a call to
            canAccess. it may modify the isSession and expiry attributes of the
            cookie via the aIsSession and aExpiry parameters, in order to limit
            or extend the lifetime of the cookie. this is useful, for instance, to
            downgrade a cookie to session-only if it fails to meet certain criteria.
            </summary>
            <param name="aURI">
            the URI trying to set the cookie
            </param>
            <param name="aChannel">
            the channel corresponding to aURI
            </param>
            <param name="aCookie">
            the cookie being added to the cookie database
            </param>
            <param name="aIsSession">
            when canSetCookie is invoked, this is the current isSession attribute
            of the cookie. canSetCookie may leave this value unchanged to
            preserve this attribute of the cookie.
            </param>
            <param name="aExpiry">
            when canSetCookie is invoked, this is the current expiry time of
            the cookie. canSetCookie may leave this value unchanged to
            preserve this attribute of the cookie.
            </param>
            <returns>
            true if the cookie can be set.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsICookieService">
            <summary>
            nsICookieService
            
            Provides methods for setting and getting cookies in the context of a
            page load.  See nsICookieManager for methods to manipulate the cookie
            database directly.  This separation of interface is mainly historical.
            
            This service broadcasts the notifications detailed below when the cookie
            list is changed, or a cookie is rejected.
            
            NOTE: observers of these notifications *must* not attempt to change profile
            or switch into or out of private browsing mode from within the
            observer. Doing so will cause undefined behavior. Mutating the cookie
            list (e.g. by calling methods on nsICookieService and friends) is
            allowed, but beware that there may be pending notifications you haven&apos;t
            seen yet -- for instance, a &quot;batch-deleted&quot; notification will likely be
            immediately followed by &quot;added&quot;. You may check the state of the cookie
            list to determine if this is the case.
            
            topic  : &quot;cookie-changed&quot;
            broadcast whenever the cookie list changes in some way. see
            explanation of data strings below.
            subject: see below.
            data   : &quot;deleted&quot;
            a cookie was deleted. the subject is an nsICookie2 representing
            the deleted cookie.
            &quot;added&quot;
            a cookie was added. the subject is an nsICookie2 representing
            the added cookie.
            &quot;changed&quot;
            a cookie was changed. the subject is an nsICookie2 representing
            the new cookie. (note that host, path, and name are invariant
            for a given cookie; other parameters may change.)
            &quot;batch-deleted&quot;
            a set of cookies was purged (typically, because they have either
            expired or because the cookie list has grown too large). The subject
            is an nsIArray of nsICookie2&apos;s representing the deleted cookies.
            Note that the array could contain a single cookie.
            &quot;cleared&quot;
            the entire cookie list was cleared. the subject is null.
            
            topic  : &quot;cookie-rejected&quot;
            broadcast whenever a cookie was rejected from being set as a
            result of user prefs.
            subject: an nsIURI interface pointer representing the URI that attempted
            to set the cookie.
            data   : none.
            
            topic  : &quot;third-party-cookie-accepted&quot;
            broadcast whenever a third party cookie was accepted
            subject:  an nsIURI interface pointer representing the URI that attempted
            to set the cookie.
            data   :  the referrer, or &quot;?&quot; if unknown
            
            topic  : &quot;third-party-cookie-rejected&quot;
            broadcast whenever a third party cookie was rejected
            subject:  an nsIURI interface pointer representing the URI that attempted
            to set the cookie.
            data   :  the referrer, or &quot;?&quot; if unknown
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICrashReporter">
            <summary>
            Provides access to crash reporting functionality.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.GetEnabledAttribute">
            <summary>
            Get the enabled status of the crash reporter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.SetEnabled(System.Boolean)">
            <summary>
            Enable or disable crash reporting at runtime. Not available to script
            because the JS engine relies on proper exception handler chaining.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.GetServerURLAttribute">
            <summary>
            Get or set the URL to which crash reports will be submitted.
            Only https and http URLs are allowed, as the submission is handled
            by OS-native networking libraries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.GetMinidumpPathAttribute">
            <summary>
            Get or set the path on the local system to which minidumps will be
            written when a crash happens.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.AnnotateCrashReport(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Add some extra data to be submitted with a crash report.
            </summary>
            <param name="key">
            Name of the data to be added.
            </param>
            <param name="data">
            Data to be added.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.AppendAppNotesToCrashReport(Gecko.nsACStringBase)">
            <summary>
            Append some data to the &quot;Notes&quot; field, to be submitted with a crash report.
            Unlike annotateCrashReport, this method will append to existing data.
            </summary>
            <param name="data">
            Data to be added.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.RegisterAppMemory(System.UInt64,System.UInt64)">
            <summary>
            Register a given memory range to be included in the crash report.
            </summary>
            <param name="ptr">
            The starting address for the bytes.
            </param>
            <param name="size">
            The number of bytes to include.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.WriteMinidumpForException(System.IntPtr)">
            <summary>
            Write a minidump immediately, with the user-supplied exception
            information. This is implemented on Windows only, because
            SEH (structured exception handling) exists on Windows only.
            </summary>
            <param name="aExceptionInfo">
            EXCEPTION_INFO* provided by Window&apos;s SEH
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.AppendObjCExceptionInfoToAppNotes(System.IntPtr)">
            <summary>
            Append note containing an Obj-C exception&apos;s info.
            </summary>
            <param name="aException">
            NSException object to append note for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.GetSubmitReportsAttribute">
            <summary>
            User preference for submitting crash reports.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.UpdateCrashEventsDir">
            <summary>
            Cause the crash reporter to re-evaluate where crash events should go.
            
            This should be called during application startup and whenever profiles
            change.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.SaveMemoryReport">
            <summary>
            Save an anonymized memory report file for inclusion in a future crash
            report in this session.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if crash reporting is disabled.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashReporter.SetTelemetrySessionId(Gecko.nsAUTF8StringBase)">
            <summary>
            Set the telemetry session ID which is recorded in crash metadata. This is
            saved in the crash manager and telemetry but is not submitted as a
            crash-stats annotation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICrashService.AddCrash(System.Int32,System.Int32,Gecko.nsAStringBase)">
            <summary>
            Records the occurrence of a crash.
            </summary>
            <param name="processType">
            One of the PROCESS_TYPE constants defined below.
            </param>
            <param name="crashType">
            One of the CRASH_TYPE constants defined below.
            </param>
            <param name="id">
            Crash ID. Likely a UUID.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICryptoHash">
            <summary>
            nsICryptoHash
            This interface provides crytographic hashing algorithms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHash.Init(System.UInt32)">
            <summary>
            Initialize the hashing object. This method may be
            called multiple times with different algorithm types.
            </summary>
            <param name="aAlgorithm">
            the algorithm type to be used.
            This value must be one of the above valid
            algorithm types.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if an unsupported algorithm
            type is passed.
            
            NOTE: This method or initWithString must be called
            before any other method on this interface is called.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHash.InitWithString(Gecko.nsACStringBase)">
            <summary>
            Initialize the hashing object. This method may be
            called multiple times with different algorithm types.
            </summary>
            <param name="aAlgorithm">
            the algorithm type to be used.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if an unsupported algorithm
            type is passed.
            
            NOTE: This method or init must be called before any
            other method on this interface is called.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHash.Update(System.Byte[],System.UInt32)">
            <summary>
            
            </summary>
            <param name="aData">
            a buffer to calculate the hash over
            </param>
            <param name="aLen">
            the length of the buffer |aData|
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if |init| has not been
            called.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHash.UpdateFromStream(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Calculates and updates a new hash based on a given data stream.
            </summary>
            <param name="aStream">
            an input stream to read from.
            </param>
            <param name="aLen">
            how much to read from the given |aStream|.  Passing
            UINT32_MAX indicates that all data available will be used
            to update the hash.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if |init| has not been
            called.
            NS_ERROR_NOT_AVAILABLE: if the requested amount of
            data to be calculated into the hash is not available.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHash.Finish(System.Boolean,Gecko.nsACStringBase)">
            <summary>
            Completes this hash object and produces the actual hash data.
            </summary>
            <param name="aASCII">
            if true then the returned value is a base-64
            encoded string.  if false, then the returned value is
            binary data.
            </param>
            <returns>
            a hash of the data that was read by this object.  This can
            be either binary data or base 64 encoded.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if |init| has not been
            called.
            
            NOTE: This method may be called any time after |init|
            is called.  This call resets the object to its
            pre-init state.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsICryptoHMAC">
            <summary>
            nsICryptoHMAC
            This interface provides HMAC signature algorithms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHMAC.Init(System.UInt32,Gecko.Interfaces.nsIKeyObject)">
            <summary>
            Initialize the hashing object. This method may be
            called multiple times with different algorithm types.
            </summary>
            <param name="aAlgorithm">
            the algorithm type to be used.
            This value must be one of the above valid
            algorithm types.
            </param>
            <param name="aKeyObject">
            Object holding a key. To create the key object use for instance:
            var keyObject = Components.classes["@mozilla.org/security/keyobjectfactory;1"]
            .getService(Components.interfaces.nsIKeyObjectFactory)
            .keyFromString(Components.interfaces.nsIKeyObject.HMAC, rawKeyData);
            
            WARNING: This approach is not FIPS compliant.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if an unsupported algorithm
            type is passed.
            
            NOTE: This method must be called before any other method
            on this interface is called.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHMAC.Update(System.Byte[],System.UInt32)">
            <summary>
            
            </summary>
            <param name="aData">
            a buffer to calculate the hash over
            </param>
            <param name="aLen">
            the length of the buffer |aData|
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if |init| has not been
            called.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHMAC.UpdateFromStream(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Calculates and updates a new hash based on a given data stream.
            </summary>
            <param name="aStream">
            an input stream to read from.
            </param>
            <param name="aLen">
            how much to read from the given |aStream|.  Passing
            UINT32_MAX indicates that all data available will be used
            to update the hash.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if |init| has not been
            called.
            NS_ERROR_NOT_AVAILABLE: if the requested amount of
            data to be calculated into the hash is not available.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHMAC.Finish(System.Boolean,Gecko.nsACStringBase)">
            <summary>
            Completes this HMAC object and produces the actual HMAC diegest data.
            </summary>
            <param name="aASCII">
            if true then the returned value is a base-64
            encoded string.  if false, then the returned value is
            binary data.
            </param>
            <returns>
            a hash of the data that was read by this object.  This can
            be either binary data or base 64 encoded.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if |init| has not been
            called.
            
            NOTE: This method may be called any time after |init|
            is called.  This call resets the object to its
            pre-init state.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsICryptoHMAC.Reset">
            <summary>
            Reinitialize HMAC context to be reused with the same
            settings (the key and hash algorithm) but on different
            set of data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsICSSUnprefixingService.GenerateUnprefixedDeclaration(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            This function helps to convert unsupported vendor-prefixed CSS into
            supported unprefixed CSS. Given a vendor-prefixed property name and a
            value (or e.g. value + trailing junk like &quot; !important;}&quot;), this function
            will attempt to produce an equivalent CSS declaration that uses a
            supported unprefixed CSS property.
            </summary>
            <param name="aPropName">
            The vendor-prefixed property name.
            </param>
            <param name="aRightHalfOfDecl">
            Everything after the &quot;:&quot; in the CSS declaration. This includes
            the property&apos;s value, along with possibly some leading whitespace
            and trailing text like &quot;!important&quot;, and possibly a &apos;;&apos; and/or
            &apos;}&apos; (along with any other bogus text the author happens to
            include before those, which will probably make the decl invalid).
            </param>
            <param name="aUnprefixedDecl[out]">
            The resulting unprefixed declaration, if we return true.
            </param>
            <returns>
            true if we were able to unprefix -- i.e. if we were able to
            convert the property to a known unprefixed equivalent, and we also
            performed any known-to-be-necessary fixup on the value, and we put
            the result in aUnprefixedDecl.
            Otherwise, this function returns false.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsICSSUnprefixingService.GenerateUnprefixedGradientValue(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aPrefixedFuncName">
            The webkit-prefixed gradient function: either
            &quot;-webkit-gradient&quot;, &quot;-webkit-linear-gradient&quot;, or
            &quot;-webkit-radial-gradient&quot;.
            </param>
            <param name="aPrefixedFuncBody">
            The body of the gradient function, inside (&amp; not including) the
            parenthesis.
            </param>
            <param name="aUnprefixedFuncName[out]">
            The resulting unprefixed gradient function name:
            either &quot;linear-gradient&quot; or &quot;radial-gradient&quot;.
            </param>
            <param name="aUnprefixedFuncBody[out]">
            The resulting unprefixed gradient function body, suitable for
            including in a &quot;linear-gradient(...)&quot; or &quot;radial-gradient(...)&quot;
            expression.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsICycleCollectorHandler">
            <summary>
            nsICycleCollectorHandler is the interface JS code should implement to
            receive the results logged by a @mozilla.org/cycle-collector-logger;1
            instance. Pass an instance of this to the logger&apos;s &apos;processNext&apos; method
            after the collection has run. This will describe the objects the cycle
            collector visited, the edges it found, and the conclusions it reached
            about the liveness of objects.
            
            In more detail:
            - For each node in the graph:
            - a call is made to either |noteRefCountedObject| or |noteGCedObject|, to
            describe the node itself; and
            - for each edge starting at that node, a call is made to |noteEdge|.
            
            - Then, a series of calls are made to:
            - |describeRoot|, for reference-counted nodes that the CC has identified as
            being alive because there are unknown references to those nodes.
            - |describeGarbage|, for nodes the cycle collector has identified as garbage.
            
            Any node not mentioned in a call to |describeRoot| or |describeGarbage| is
            neither a root nor garbage. The cycle collector was able to find all of the
            edges implied by the node&apos;s reference count.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICycleCollectorLogSink">
            <summary>
            This interface allows replacing the log-writing backend for an
            nsICycleCollectorListener.  As this interface is also called while
            the cycle collector is running, it cannot be implemented in JS.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICycleCollectorListener">
            <summary>
            This interface is used to configure some reporting options for the cycle
            collector. This interface cannot be implemented by JavaScript code, as it
            is called while the cycle collector is running.
            
            To analyze cycle collection data in JS:
            
            - Create an instance of @mozilla.org/cycle-collector-logger;1, which
            implements this interface.
            
            - Set its |disableLog| property to true. This prevents the logger from
            printing messages about each method call to a temporary log file.
            
            - Set its |wantAfterProcessing| property to true. This tells the logger
            to record calls to its methods in memory. The |processNext| method
            returns events from this record.
            
            - Perform a collection using the logger. For example, call
            |nsIDOMWindowUtils|&apos;s |garbageCollect| method, passing the logger as
            the |aListener| argument.
            
            - When the collection is complete, loop calling the logger&apos;s
            |processNext| method, passing a JavaScript object that implements
            nsICycleCollectorHandler. This JS code is free to allocate and operate
            on objects however it pleases: the cycle collector has finished its
            work, and the JS code is simply consuming recorded data.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDataSignatureVerifier">
            <summary>
            An interface for verifying that a given string of data was signed by the
            private key matching the given public key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDataSignatureVerifier.VerifyData(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Verifies that the data matches the data that was used to generate the
            signature.
            </summary>
            <param name="aData">
            The data to be tested.
            </param>
            <param name="aSignature">
            The signature of the data, base64 encoded.
            </param>
            <param name="aPublicKey">
            The public part of the key used for signing, DER encoded
            then base64 encoded.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDebug2">
            <summary>
            For use by consumers in scripted languages (JavaScript, Java, Python,
            Perl, ...).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDebug2.GetIsDebugBuildAttribute">
            <summary>
            Whether XPCOM was compiled with DEBUG defined.  This often
            correlates to whether other code (e.g., Firefox, XULRunner) was
            compiled with DEBUG defined.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDebug2.GetAssertionCountAttribute">
            <summary>
            The number of assertions since process start.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDebug2.GetIsDebuggerAttachedAttribute">
            <summary>
            Whether a debugger is currently attached.
            Supports Windows + Mac
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDebug2.Assertion(System.String,System.String,System.String,System.Int32)">
            <summary>
            Show an assertion and trigger nsIDebug2.break().
            </summary>
            <param name="aStr">
            assertion message
            </param>
            <param name="aExpr">
            expression that failed
            </param>
            <param name="aFile">
            file containing assertion
            </param>
            <param name="aLine">
            line number of assertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDebug2.Warning(System.String,System.String,System.Int32)">
            <summary>
            Show a warning.
            </summary>
            <param name="aStr">
            warning message
            </param>
            <param name="aFile">
            file containing assertion
            </param>
            <param name="aLine">
            line number of assertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDebug2.Break(System.String,System.Int32)">
            <summary>
            Request to break into a debugger.
            </summary>
            <param name="aFile">
            file containing break request
            </param>
            <param name="aLine">
            line number of break request
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDebug2.Abort(System.String,System.Int32)">
            <summary>
            Request the process to trigger a fatal abort.
            </summary>
            <param name="aFile">
            file containing abort request
            </param>
            <param name="aLine">
            line number of abort request
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDeprecationWarner">
            <summary>
            Interface for warning about deprecated operations.  Consumers should
            attach this interface to the channel&apos;s notification callbacks/loadgroup.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDeprecationWarner.IssueWarning(System.UInt32,System.Boolean)">
            <summary>
            Issue a deprecation warning.
            </summary>
            <param name="aWarning">
            a warning code as declared in nsDeprecatedOperationList.h.
            </param>
            <param name="aAsError">
            optional boolean flag indicating whether the warning
            should be treated as an error.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDeviceSensors.HasWindowListener(System.UInt32,Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            Returns true if the given window has any listeners of the given type
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDialogParamBlock">
            <summary>
            An interface to pass strings, integers and nsISupports to a dialog
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDialogParamBlock.GetInt(System.Int32)">
            <summary>
            Get or set an integer to pass.
            Index must be in the range 0..7
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDialogParamBlock.SetNumberStrings(System.Int32)">
            <summary>
            Set the maximum number of strings to pass. Default is 16.
            Use before setting any string (If you want to change it from the default).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDialogParamBlock.GetString(System.Int32)">
            <summary>
            Get or set an string to pass.
            Index starts at 0
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDialogParamBlock.GetObjectsAttribute">
            <summary>
            A place where you can store an nsIMutableArray to pass nsISupports
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDirectoryEnumerator">
            <summary>
            This interface provides a means for enumerating the contents of a directory.
            It is similar to nsISimpleEnumerator except the retrieved entries are QI&apos;ed
            to nsIFile, and there is a mechanism for closing the directory when the
            enumeration is complete.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryEnumerator.GetNextFileAttribute">
            <summary>
            Retrieves the next file in the sequence. The &quot;nextFile&quot; element is the
            first element upon the first call. This attribute is null if there is no
            next element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryEnumerator.Close">
            <summary>
            Closes the directory being enumerated, releasing the system resource.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_OK: if the call succeeded and the directory was closed.
            NS_ERROR_FAILURE if the directory close failed.
            It is safe to call this function many times.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIDirectoryServiceProvider">
            <summary>
            nsIDirectoryServiceProvider
            
            Used by Directory Service to get file locations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryServiceProvider.GetFile(System.String,System.Boolean@)">
            <summary>
            getFile
            
            Directory Service calls this when it gets the first request for
            a prop or on every request if the prop is not persistent.
            </summary>
            <param name="prop">
            The symbolic name of the file.
            </param>
            <param name="persistent">
            TRUE - The returned file will be cached by Directory
            Service. Subsequent requests for this prop will
            bypass the provider and use the cache.
            FALSE - The provider will be asked for this prop
            each time it is requested.
            </param>
            <returns>
            The file represented by the property.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIDirectoryServiceProvider2">
            <summary>
            nsIDirectoryServiceProvider2
            
            An extension of nsIDirectoryServiceProvider which allows
            multiple files to be returned for the given key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryServiceProvider2.GetFile(System.String,System.Boolean@)">
            <summary>
            getFile
            
            Directory Service calls this when it gets the first request for
            a prop or on every request if the prop is not persistent.
            </summary>
            <param name="prop">
            The symbolic name of the file.
            </param>
            <param name="persistent">
            TRUE - The returned file will be cached by Directory
            Service. Subsequent requests for this prop will
            bypass the provider and use the cache.
            FALSE - The provider will be asked for this prop
            each time it is requested.
            </param>
            <returns>
            The file represented by the property.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryServiceProvider2.GetFiles(System.String)">
            <summary>
            getFiles
            
            Directory Service calls this when it gets a request for
            a prop and the requested type is nsISimpleEnumerator.
            </summary>
            <param name="prop">
            The symbolic name of the file list.
            </param>
            <returns>
            An enumerator for a list of file locations.
            The elements in the enumeration are nsIFile
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIDirectoryService">
            <summary>
            nsIDirectoryService
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryService.Init">
            <summary>
            init
            
            Must be called. Used internally by XPCOM initialization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryService.RegisterProvider(Gecko.Interfaces.nsIDirectoryServiceProvider)">
            <summary>
            registerProvider
            
            Register a provider with the service.
            </summary>
            <param name="prov">
            The service will keep a strong reference
            to this object. It will be released when
            the service is released.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirectoryService.UnregisterProvider(Gecko.Interfaces.nsIDirectoryServiceProvider)">
            <summary>
            unregisterProvider
            
            Unregister a provider with the service.
            </summary>
            <param name="prov">
            
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDirIndex">
            <summary>
            A class holding information about a directory index.
            These have no reference back to their original source -
            changing these attributes won&apos;t affect the directory
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndex.GetTypeAttribute">
            <summary>
            The type of the entry - one of the constants above
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndex.GetContentTypeAttribute">
            <summary>
            The content type - may be null if it is unknown.
            Unspecified for directories
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndex.GetLocationAttribute">
            <summary>
            The fully qualified filename, expressed as a uri
            
            This is encoded with the encoding specified in
            the nsIDirIndexParser, and is also escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndex.GetDescriptionAttribute">
            <summary>
            A description for the filename, which should be
            displayed by a viewer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndex.GetSizeAttribute">
            <summary>
            File size, with -1 meaning &quot;unknown&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndex.GetLastModifiedAttribute">
            <summary>
            Last-modified time in seconds-since-epoch.
            -1 means unknown - this is valid, because there were no
            ftp servers in 1969
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDirIndexListener">
            <summary>
            This interface is used to receive contents of directory index listings
            from a protocol. They can then be transformed into an output format
            (such as rdf, html, etc)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexListener.OnIndexAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIDirIndex)">
            <summary>
            Called for each directory entry
            </summary>
            <param name="request">
            - the request
            </param>
            <param name="ctxt">
            - opaque parameter
            </param>
            <param name="index">
            - new index to add
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexListener.OnInformationAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.nsAStringBase)">
            <summary>
            Called for each information line
            </summary>
            <param name="request">
            - the request
            </param>
            <param name="ctxt">
            - opaque parameter
            </param>
            <param name="info">
            - new info to add
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDirIndexParser">
            <summary>
            A parser for application/http-index-format
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexParser.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexParser.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexParser.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexParser.GetListenerAttribute">
            <summary>
            The interface to use as a callback for new entries
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexParser.GetCommentAttribute">
            <summary>
            The comment given, if any
            This result is only valid _after_ OnStopRequest has occurred,
            because it can occur anywhere in the datastream
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDirIndexParser.GetEncodingAttribute">
            <summary>
            The encoding to use
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDivertableChannel">
            <summary>
            A channel implementing this interface allows diverting from an
            nsIStreamListener in the child process to one in the parent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDivertableChannel.DivertToParent">
            <summary>
            CHILD ONLY.
            Called by Necko client in child process during OnStartRequest to divert
            nsIStreamListener and nsIRequest callbacks to the parent process.
            
            The process should look like the following:
            
            1) divertToParent is called in the child process.  It can only be called
            during OnStartRequest().
            
            2) The ChannelDiverterChild that is returned is an IPDL object. It should
            be passed via some other IPDL method of the client's choosing to the
            parent.  On the parent the ChannelDiverterParent's divertTo() function
            should be called with an nsIStreamListener that will then receive the
            OnStartRequest/OnDataAvailable/OnStopRequest for the channel.  The
            ChannelDiverterParent can then be deleted (which will also destroy the
            ChannelDiverterChild in the child).
            
            After divertToParent() has been called, NO further function calls
            should be made on the channel.  It is a dead object for all purposes.
            The reference that the channel holds to the listener in the child is
            released is once OnStartRequest completes, and no other
            nsIStreamListener calls (OnDataAvailable, OnStopRequest) will be made
            to it.
            </summary>
            <returns>
            ChannelDiverterChild IPDL actor to be passed to parent process by
            client IPDL message, e.g. PClient.DivertUsing(PDiverterChild).
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            exception: if the channel was canceled early. Throws status code of
            canceled channel.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDivertableChannel.UnknownDecoderInvolvedKeepData">
            <summary>
            nsUnknownDecoder delays calling OnStartRequest until it gets enough data
            to decide about the content type (until OnDataAvaiable is called). In a
            OnStartRequest DivertToParent can be called but some OnDataAvailables are
            already called and therefore can not be diverted to parent.
            
            nsUnknownDecoder will call UnknownDecoderInvolvedKeepData in its
            OnStartRequest function and when it calls OnStartRequest of the next
            listener it will call UnknownDecoderInvolvedOnStartRequestCalled. In this
            function Child process will decide to discarge data if it is not diverting
            to parent or keep them if it is diverting to parent.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSListener">
            <summary>
            nsIDNSListener
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSListener.OnLookupComplete(Gecko.Interfaces.nsICancelable,Gecko.Interfaces.nsIDNSRecord,System.Int32)">
            <summary>
            called when an asynchronous host lookup completes.
            </summary>
            <param name="aRequest">
            the value returned from asyncResolve.
            </param>
            <param name="aRecord">
            the DNS record corresponding to the hostname that was resolved.
            this parameter is null if there was an error.
            </param>
            <param name="aStatus">
            if the lookup failed, this parameter gives the reason.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSListenerProxy">
            <summary>
            nsIDNSListenerProxy:
            
            Must be implemented by classes that wrap the original listener passed to
            nsIDNSService.AsyncResolve, so we have access to original listener for
            comparison purposes.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSRecord">
            <summary>
            nsIDNSRecord
            
            this interface represents the result of a DNS lookup.  since a DNS
            query may return more than one resolved IP address, the record acts
            like an enumerator, allowing the caller to easily step through the
            list of IP addresses.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.GetCanonicalNameAttribute(Gecko.nsACStringBase)">
            <summary>
            
            </summary>
            <returns>
            the canonical hostname for this record.  this value is empty if
            the record was not fetched with the RESOLVE_CANONICAL_NAME flag.
            
            e.g., www.mozilla.org --&gt; rheet.mozilla.org
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.GetNextAddr(System.UInt16)">
            <summary>
            this function copies the value of the next IP address into the
            given NetAddr struct and increments the internal address iterator.
            </summary>
            <param name="aPort">
            A port number to initialize the NetAddr with.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if there is not another IP address in
            the record.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.GetAddresses(System.IntPtr@)">
            <summary>
            this function copies the value of all working members of the RR
            set into the output array.
            </summary>
            <param name="aAddressArray">
            The result set
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.GetScriptableNextAddr(System.UInt16)">
            <summary>
            this function returns the value of the next IP address as a
            scriptable address and increments the internal address iterator.
            </summary>
            <param name="aPort">
            A port number to initialize the nsINetAddr with.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if there is not another IP address in
            the record.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.GetNextAddrAsString(Gecko.nsACStringBase)">
            <summary>
            this function returns the value of the next IP address as a
            string and increments the internal address iterator.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if there is not another IP address in
            the record.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.HasMore">
            <summary>
            this function returns true if there is another address in the record.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.Rewind">
            <summary>
            this function resets the internal address iterator to the first
            address in the record.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRecord.ReportUnusable(System.UInt16)">
            <summary>
            This function indicates that the last address obtained via getNextAddr*()
            was not usuable and should be skipped in future uses of this
            record if other addresses are available.
            </summary>
            <param name="aPort">
            is the port number associated with the failure, if any.
            It may be zero if not applicable.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSService">
            <summary>
            nsIDNSService
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSService.AsyncResolve(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.Interfaces.nsIDNSListener,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            kicks off an asynchronous host lookup.
            </summary>
            <param name="aHostName">
            the hostname or IP-address-literal to resolve.
            </param>
            <param name="aFlags">
            a bitwise OR of the RESOLVE_ prefixed constants defined below.
            </param>
            <param name="aListener">
            the listener to be notified when the result is available.
            </param>
            <param name="aListenerTarget">
            optional parameter (may be null).  if non-null, this parameter
            specifies the nsIEventTarget of the thread on which the
            listener&apos;s onLookupComplete should be called.  however, if this
            parameter is null, then onLookupComplete will be called on an
            unspecified thread (possibly recursively).
            </param>
            <returns>
            An object that can be used to cancel the host lookup.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSService.CancelAsyncResolve(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.Interfaces.nsIDNSListener,System.Int32)">
            <summary>
            Attempts to cancel a previously requested async DNS lookup
            </summary>
            <param name="aHostName">
            the hostname or IP-address-literal to resolve.
            </param>
            <param name="aFlags">
            a bitwise OR of the RESOLVE_ prefixed constants defined below.
            </param>
            <param name="aListener">
            the original listener which was to be notified about the host lookup
            result - used to match request information to requestor.
            </param>
            <param name="aReason">
            nsresult reason for the cancellation
            </param>
            <returns>
            An object that can be used to cancel the host lookup.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSService.Resolve(Gecko.nsAUTF8StringBase,System.UInt32)">
            <summary>
            called to synchronously resolve a hostname.  warning this method may
            block the calling thread for a long period of time.  it is extremely
            unwise to call this function on the UI thread of an application.
            </summary>
            <param name="aHostName">
            the hostname or IP-address-literal to resolve.
            </param>
            <param name="aFlags">
            a bitwise OR of the RESOLVE_ prefixed constants defined below.
            </param>
            <returns>
            DNS record corresponding to the given hostname.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNKNOWN_HOST: if host could not be resolved.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSService.AsyncResolveExtended(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIDNSListener,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            kicks off an asynchronous host lookup.
            
            This function is identical to asyncResolve except an additional
            parameter aNetwortInterface. If parameter aNetworkInterface is an empty
            string function will return the same result as asyncResolve.
            Setting aNetworkInterface value make only sense for gonk,because it
            an per networking interface query is possible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSService.CancelAsyncResolveExtended(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIDNSListener,System.Int32)">
            <summary>
            Attempts to cancel a previously requested async DNS lookup
            This is an extended versin with a additional parameter aNetworkInterface
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSService.GetDNSCacheEntries(System.IntPtr)">
            <summary>
            The method takes a pointer to an nsTArray
            and fills it with cache entry data
            Called by the networking dashboard
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSService.GetMyHostNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            
            </summary>
            <returns>
            the hostname of the operating system.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSServiceInfo">
            <summary>
            Service information
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceInfo.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host name of the service. (E.g. "Android.local.")
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: when getting unset value.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceInfo.GetAddressAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The IP address of the service.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: when getting unset value.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceInfo.GetPortAttribute">
            <summary>
            The port number of the service. (E.g. 80)
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: when getting unset value.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceInfo.GetServiceNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The service name of the service for display. (E.g. "My TV")
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: when getting unset value.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceInfo.GetServiceTypeAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The type of the service. (E.g. "_http._tcp")
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: when getting unset value.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceInfo.GetDomainNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The domain name of the service. (E.g. "local.")
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: when getting unset value.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceInfo.GetAttributesAttribute">
            <summary>
            The attributes of the service.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSServiceDiscoveryListener">
            <summary>
            The callback interface for service discovery
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscoveryListener.OnDiscoveryStarted(Gecko.nsAUTF8StringBase)">
            <summary>
            Callback when the discovery begins.
            </summary>
            <param name="aServiceType">
            the service type of |startDiscovery|.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscoveryListener.OnDiscoveryStopped(Gecko.nsAUTF8StringBase)">
            <summary>
            Callback when the discovery ends.
            </summary>
            <param name="aServiceType">
            the service type of |startDiscovery|.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscoveryListener.OnServiceFound(Gecko.Interfaces.nsIDNSServiceInfo)">
            <summary>
            Callback when the a service is found.
            </summary>
            <param name="aServiceInfo">
            the info about the found service, where |serviceName|, |aServiceType|, and |domainName| are set.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscoveryListener.OnServiceLost(Gecko.Interfaces.nsIDNSServiceInfo)">
            <summary>
            Callback when the a service is lost.
            </summary>
            <param name="aServiceInfo">
            the info about the lost service, where |serviceName|, |aServiceType|, and |domainName| are set.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscoveryListener.OnStartDiscoveryFailed(Gecko.nsAUTF8StringBase,System.Int32)">
            <summary>
            Callback when the discovery cannot start.
            </summary>
            <param name="aServiceType">
            the service type of |startDiscovery|.
            </param>
            <param name="aErrorCode">
            the error code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscoveryListener.OnStopDiscoveryFailed(Gecko.nsAUTF8StringBase,System.Int32)">
            <summary>
            Callback when the discovery cannot stop.
            </summary>
            <param name="aServiceType">
            the service type of |startDiscovery|.
            </param>
            <param name="aErrorCode">
            the error code.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSRegistrationListener">
            <summary>
            The callback interface for service registration
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRegistrationListener.OnServiceRegistered(Gecko.Interfaces.nsIDNSServiceInfo)">
            <summary>
            Callback when the service is registered successfully.
            </summary>
            <param name="aServiceInfo">
            the info about the registered service,
            where |serviceName|, |aServiceType|, and |domainName| are set.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRegistrationListener.OnServiceUnregistered(Gecko.Interfaces.nsIDNSServiceInfo)">
            <summary>
            Callback when the service is unregistered successfully.
            </summary>
            <param name="aServiceInfo">
            the info about the unregistered service.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRegistrationListener.OnRegistrationFailed(Gecko.Interfaces.nsIDNSServiceInfo,System.Int32)">
            <summary>
            Callback when the service cannot be registered.
            </summary>
            <param name="aServiceInfo">
            the info about the service to be registered.
            </param>
            <param name="aErrorCode">
            the error code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSRegistrationListener.OnUnregistrationFailed(Gecko.Interfaces.nsIDNSServiceInfo,System.Int32)">
            <summary>
            Callback when the service cannot be unregistered.
            </summary>
            <param name="aServiceInfo">
            the info about the registered service.
            </param>
            <param name="aErrorCode">
            the error code.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSServiceResolveListener">
            <summary>
            The callback interface for service resolve
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceResolveListener.OnServiceResolved(Gecko.Interfaces.nsIDNSServiceInfo)">
            <summary>
            Callback when the service is resolved successfully.
            </summary>
            <param name="aServiceInfo">
            the info about the resolved service, where |host| and |port| are set.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceResolveListener.OnResolveFailed(Gecko.Interfaces.nsIDNSServiceInfo,System.Int32)">
            <summary>
            Callback when the service cannot be resolved.
            </summary>
            <param name="aServiceInfo">
            the info about the service to be resolved.
            </param>
            <param name="aErrorCode">
            the error code.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDNSServiceDiscovery">
            <summary>
            The interface for DNS service discovery/registration/resolve
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscovery.StartDiscovery(Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIDNSServiceDiscoveryListener)">
            <summary>
            Browse for instances of a service.
            </summary>
            <param name="aServiceType">
            the service type to be discovered, E.g. &quot;_http._tcp&quot;.
            </param>
            <param name="aListener">
            callback interface for discovery notifications.
            </param>
            <returns>
            An object that can be used to cancel the service discovery.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscovery.RegisterService(Gecko.Interfaces.nsIDNSServiceInfo,Gecko.Interfaces.nsIDNSRegistrationListener)">
            <summary>
            Register a service that is discovered via |startDiscovery| and |resolveService| calls.
            </summary>
            <param name="aServiceInfo">
            the service information to be registered.
            |port| and |aServiceType| are required attributes.
            </param>
            <param name="aListener">
            callback interface for registration notifications.
            </param>
            <returns>
            An object that can be used to cancel the service registration.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDNSServiceDiscovery.ResolveService(Gecko.Interfaces.nsIDNSServiceInfo,Gecko.Interfaces.nsIDNSServiceResolveListener)">
            <summary>
            Resolve a service name discovered via |startDiscovery| to a target host name, port number.
            </summary>
            <param name="aServiceInfo">
            the service information to be registered.
            |serviceName|, |aServiceType|, and |domainName| are required attributes as reported to the |onServiceFound| callback.
            </param>
            <param name="aListener">
            callback interface for registration notifications.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDocCharset">
            <summary>
            The functionality of the nsIDocCharset interface has been incorporated into
            nsIDocShell.
            
            This is an empty interface for backwards compatibility that will go away at
            some point in the future
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDocShellTreeItem">
            <summary>
            The nsIDocShellTreeItem supplies the methods that are required of any item
            that wishes to be able to live within the docshell tree either as a middle
            node or a leaf.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellTreeItem.NameEquals(Gecko.nsAStringBase)">
            <summary>
            Compares the provided name against the item&apos;s name and
            returns the appropriate result.
            </summary>
            <returns>
            &lt;CODE&gt;PR_TRUE&lt;/CODE&gt; if names match;
            &lt;CODE&gt;PR_FALSE&lt;/CODE&gt; otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellTreeItem.GetChildAt(System.Int32)">
            <summary>
            Return the child at the index requested.  This is 0-based.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if the index is out of range
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.NameEquals(Gecko.nsAStringBase)">
            <summary>
            Compares the provided name against the item&apos;s name and
            returns the appropriate result.
            </summary>
            <returns>
            &lt;CODE&gt;PR_TRUE&lt;/CODE&gt; if names match;
            &lt;CODE&gt;PR_FALSE&lt;/CODE&gt; otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetChildAt(System.Int32)">
            <summary>
            Return the child at the index requested.  This is 0-based.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if the index is out of range
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.LoadURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDocShellLoadInfo,System.UInt32,System.Boolean)">
            <summary>
            Loads a given URI.  This will give priority to loading the requested URI
            in the object implementing	this interface.  If it can&apos;t be loaded here
            however, the URL dispatcher will go through its normal process of content
            loading.
            </summary>
            <param name="uri">
            - The URI to load.
            </param>
            <param name="loadInfo">
            - This is the extended load info for this load.  This
            most often will be null, but if you need to do
            additional setup for this load you can get a loadInfo
            object by calling createLoadInfo.  Once you have this
            object you can set the needed properties on it and
            then pass it to loadURI.
            </param>
            <param name="aLoadFlags">
            - Flags to modify load behaviour. Flags are defined in
            nsIWebNavigation.  Note that using flags outside
            LOAD_FLAGS_MASK is only allowed if passing in a
            non-null loadInfo.  And even some of those might not
            be allowed.  Use at your own risk.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.LoadStream(Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.Interfaces.nsIDocShellLoadInfo)">
            <summary>
            Loads a given stream. This will give priority to loading the requested
            stream in the object implementing this interface. If it can&apos;t be loaded
            here however, the URL dispatched will go through its normal process of
            content loading.
            </summary>
            <param name="aStream">
            - The input stream that provides access to the data
            to be loaded.  This must be a blocking, threadsafe
            stream implementation.
            </param>
            <param name="aURI">
            - The URI representing the stream, or null.
            </param>
            <param name="aContentType">
            - The type (MIME) of data being loaded (empty if unknown).
            </param>
            <param name="aContentCharset">
            - The charset of the data being loaded (empty if unknown).
            </param>
            <param name="aLoadInfo">
            - This is the extended load info for this load.  This
            most often will be null, but if you need to do
            additional setup for this load you can get a
            loadInfo object by calling createLoadInfo.  Once
            you have this object you can set the needed
            properties on it and then pass it to loadStream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.InternalLoad(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.Boolean,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt32,Gecko.nsAStringBase,System.String,Gecko.nsAStringBase,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIInputStream,System.UInt32,Gecko.Interfaces.nsISHEntry,System.Boolean,Gecko.nsAStringBase,Gecko.Interfaces.nsIDocShell,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDocShell@,Gecko.Interfaces.nsIRequest@)">
            <summary>
            Loads the given URI.  This method is identical to loadURI(...) except
            that its parameter list is broken out instead of being packaged inside
            of an nsIDocShellLoadInfo object...
            </summary>
            <param name="aURI">
            - The URI to load.
            </param>
            <param name="aOriginalURI">
            - The URI to set as the originalURI on the channel
            that does the load. If null, aURI will be set as
            the originalURI.
            </param>
            <param name="aLoadReplace">
            - If set LOAD_REPLACE flag will be set on the
            channel. aOriginalURI is null, this argument is
            ignored.
            </param>
            <param name="aReferrer">
            - Referring URI
            </param>
            <param name="aReferrerPolicy">
            - Referrer policy
            </param>
            <param name="aTriggeringPrincipal">
            - A non-null principal that initiated that load.
            Please note that this is the principal that is
            used for security checks. If the argument aURI
            is provided by the web, then please do not pass
            a SystemPrincipal as the triggeringPrincipal.
            </param>
            <param name="aPrincipalToInherit">
            - Principal to be inherited for that load. If this
            argument is null then principalToInherit is
            computed as follows:
            a) If INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL, and
            aLoadType is not LOAD_NORMAL_EXTERNAL, and the
            URI would normally inherit a principal, then
            principalToInherit is set to the current
            document&apos;s principal, or parent document if
            there is not a current document.
            b) If principalToInherit is still null (e.g. if
            some of the conditions of (a) were not satisfied),
            then no inheritance of any sort will happen: the
            load will just get a principal based on the URI
            being loaded.
            </param>
            <param name="aFlags">
            - Any of the load flags defined within above.
            </param>
            <param name="aStopActiveDoc">
            - Flag indicating whether loading the current
            document should be stopped.
            </param>
            <param name="aWindowTarget">
            - Window target for the load.
            </param>
            <param name="aTypeHint">
            - A hint as to the content-type of the resulting
            data.  May be null or empty if no hint.
            </param>
            <param name="aFileName">
            - Non-null when the link should be downloaded as
            the given filename.
            </param>
            <param name="aPostDataStream">
            - Post data stream (if POSTing)
            </param>
            <param name="aHeadersStream">
            - Stream containing &quot;extra&quot; request headers...
            </param>
            <param name="aLoadFlags">
            - Flags to modify load behaviour. Flags are defined
            in nsIWebNavigation.
            </param>
            <param name="aSHEntry">
            - Active Session History entry (if loading from SH)
            </param>
            <param name="aSrcdoc">
            When INTERNAL_LOAD_FLAGS_IS_SRCDOC is set, the
            contents of this parameter will be loaded instead
            of aURI.
            </param>
            <param name="aSourceDocShell">
            - The source browsing context for the navigation.
            </param>
            <param name="aBaseURI">
            - The base URI to be used for the load.  Set in
            srcdoc loads as it cannot otherwise be inferred
            in certain situations such as view-source.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.AddState(SpiderMonkey.JSVal@,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean,System.IntPtr)">
            <summary>
            Do either a history.pushState() or history.replaceState() operation,
            depending on the value of aReplace.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.CreateLoadInfo(Gecko.Interfaces.nsIDocShellLoadInfo@)">
            <summary>
            Creates a DocShellLoadInfo object that you can manipulate and then pass
            to loadURI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.PrepareForNewContentModel">
            <summary>
            Reset state to a new content model within the current document and the document
            viewer.  Called by the document before initiating an out of band document.write().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.SetCurrentURI(Gecko.Interfaces.nsIURI)">
            <summary>
            For editors and suchlike who wish to change the URI associated with the
            document. Note if you want to get the current URI, use the read-only
            property on nsIWebNavigation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.FirePageHideNotification(System.Boolean)">
            <summary>
            Notify the associated content viewer and all child docshells that they are
            about to be hidden.  If |isUnload| is true, then the document is being
            unloaded as well.
            </summary>
            <param name="isUnload">
            if true, fire the unload event in addition to the pagehide
            event.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetPresContextAttribute">
            <summary>
            Presentation context for the currently loaded document.  This may be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetPresShell">
            <summary>
            Presentation shell for the currently loaded document.  This may be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetEldestPresShellAttribute">
            <summary>
            Presentation shell for the oldest document, if this docshell is
            currently transitioning between documents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetContentViewerAttribute">
            <summary>
            Content Viewer that is currently loaded for this DocShell.  This may
            change as the underlying content changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetChromeEventHandlerAttribute">
            <summary>
            This attribute allows chrome to tie in to handle DOM events that may
            be of interest to chrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetCustomUserAgentAttribute(Gecko.nsAStringBase)">
            <summary>
            This allows chrome to set a custom User agent on a specific docshell
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowPluginsAttribute">
            <summary>
            Whether to allow plugin execution
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowJavascriptAttribute">
            <summary>
            Whether to allow Javascript execution
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowMetaRedirectsAttribute">
            <summary>
            Attribute stating if refresh based redirects can be allowed
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowSubframesAttribute">
            <summary>
            Attribute stating if it should allow subframes (framesets/iframes) or not
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowImagesAttribute">
            <summary>
            Attribute stating whether or not images should be loaded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowMediaAttribute">
            <summary>
            Attribute stating whether or not media (audio/video) should be loaded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowDNSPrefetchAttribute">
            <summary>
            Attribute that determines whether DNS prefetch is allowed for this subtree
            of the docshell tree.  Defaults to true.  Setting this will make it take
            effect starting with the next document loaded in the docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowWindowControlAttribute">
            <summary>
            Attribute that determines whether window control (move/resize) is allowed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowContentRetargetingAttribute">
            <summary>
            True if the docshell allows its content to be handled by a content listener
            other than the docshell itself, including the external helper app service,
            and false otherwise.  Defaults to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowContentRetargetingOnChildrenAttribute">
            <summary>
            True if new child docshells should allow content retargeting.
            Setting allowContentRetargeting also overwrites this value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetInheritPrivateBrowsingIdAttribute">
            <summary>
            True if this docShell should inherit the private browsing ID from
            its parent when reparented.
            
            NOTE: This should *not* be set false in new code, or for docShells
            inserted anywhere other than as children of panels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowAuthAttribute">
            <summary>
            certain dochshells (like the message pane)
            should not throw up auth dialogs
            because it can act as a password trojan
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetZoomAttribute">
            <summary>
            Set/Get the document scale factor.  When setting this attribute, a
            NS_ERROR_NOT_IMPLEMENTED error may be returned by implementations
            not supporting zoom.  Implementations not supporting zoom should return
            1.0 all the time for the Get operation.  1.0 by the way is the default
            of zoom.  This means 100% of normal scaling or in other words normal size
            no zoom.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetSecurityUIAttribute">
            <summary>
            The SecureBrowserUI object for this docshell.  This is set by XUL
            &lt;browser&gt; or nsWebBrowser for their root docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.SuspendRefreshURIs">
            <summary>
            Cancel the XPCOM timers for each meta-refresh URI in this docshell,
            and this docshell&apos;s children, recursively. The meta-refresh timers can be
            restarted using resumeRefreshURIs().  If the timers are already suspended,
            this has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.ResumeRefreshURIs">
            <summary>
            Restart the XPCOM timers for each meta-refresh URI in this docshell,
            and this docshell&apos;s children, recursively.  If the timers are already
            running, this has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.BeginRestore(Gecko.Interfaces.nsIContentViewer,System.Boolean)">
            <summary>
            Begin firing WebProgressListener notifications for restoring a page
            presentation. |viewer| is the content viewer whose document we are
            starting to load.  If null, it defaults to the docshell&apos;s current content
            viewer, creating one if necessary.  |top| should be true for the toplevel
            docshell that is being restored; it will be set to false when this method
            is called for child docshells.  This method will post an event to
            complete the simulated load after returning to the event loop.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.FinishRestore">
            <summary>
            Finish firing WebProgressListener notifications and DOM events for
            restoring a page presentation.  This should only be called via
            beginRestore().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.DisplayLoadError(System.Int32,Gecko.Interfaces.nsIURI,System.String,Gecko.Interfaces.nsIChannel)">
            <summary>
            Display a load error in a frame while keeping that frame&apos;s currentURI
            pointing correctly to the page where the error ocurred, rather than to
            the error document page. You must provide either the aURI or aURL parameter.
            </summary>
            <param name="aError">
            The error code to be displayed
            </param>
            <param name="aURI">
            nsIURI of the page where the error happened
            </param>
            <param name="aURL">
            wstring of the page where the error happened
            </param>
            <param name="aFailedChannel">
            The channel related to this error
            
            Returns whether or not we displayed an error page (note: will always
            return false if in-content error pages are disabled!)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetFailedChannelAttribute">
            <summary>
            The channel that failed to load and resulted in an error page.
            May be null. Relevant only to error pages.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetPreviousTransIndexAttribute">
            <summary>
            Keeps track of the previous SHTransaction index and the current
            SHTransaction index at the time that the doc shell begins to load.
            Used for ContentViewer eviction.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.HistoryPurged(System.Int32)">
            <summary>
            Notification that entries have been removed from the beginning of a
            nsSHistory which has this as its rootDocShell.
            </summary>
            <param name="numEntries">
            - The number of entries removed
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetCurrentDocumentChannelAttribute">
            <summary>
            Gets the channel for the currently loaded document, if any.
            For a new document load, this will be the channel of the previous document
            until after OnLocationChange fires.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.SetChildOffset(System.UInt32)">
            <summary>
            Set the offset of this child in its container.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsInUnloadAttribute">
            <summary>
            Find out whether the docshell is currently in the middle of a page
            transition. This is set just before the pagehide/unload events fire.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetChannelIsUnsafeAttribute">
            <summary>
            Find out if the currently loaded document came from a suspicious channel
            (such as a JAR channel where the server-returned content type isn&apos;t a
            known JAR type).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHasMixedActiveContentLoadedAttribute">
            <summary>
            This attribute determines whether Mixed Active Content is loaded on the
            document. When it is true, mixed active content was not blocked and has
            loaded (or is about to load) on the page. When it is false, mixed active content
            has not loaded on the page, either because there was no mixed active content
            requests on the page or such requests were blocked by nsMixedContentBlocker.
            This boolean is set to true in nsMixedContentBlocker if Mixed Active Content
            is allowed (either explicitly on the page by the user or when the about:config
            setting security.mixed_content.block_active_content is set to false).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHasMixedActiveContentBlockedAttribute">
            <summary>
            This attribute determines whether a document has Mixed Active Content
            that has been blocked from loading. When it is true, there is definitely
            mixed active content on a page that has been blocked by
            nsMixedContentBlocker.  When it is false, there may or may not be mixed
            active content on a page, but if there is, it will load. Note that if the
            about:config setting security.mixed_content.block_active_content is set
            false, this boolean will be false, since blocking active content has been
            disabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHasMixedDisplayContentLoadedAttribute">
            <summary>
            This attribute determines whether Mixed Display Content is loaded on the
            document. When it is true, mixed display content was not blocked and has
            loaded (or is about to load) on the page. Similar behavior to
            hasMixedActiveContentLoaded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHasMixedDisplayContentBlockedAttribute">
            <summary>
            This attribute determines whether a document has Mixed Display Content
            that has been blocked from loading. Similar behavior to
            hasMixedActiveContentBlocked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHasTrackingContentBlockedAttribute">
            <summary>
            This attribute determines whether a document has Tracking Content
            that has been blocked from loading.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHasTrackingContentLoadedAttribute">
            <summary>
            This attribute determines whether Tracking Content is loaded on the
            document. When it is true, tracking content was not blocked and has
            loaded (or is about to load) on the page.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.DetachEditorFromWindow">
            <summary>
            Disconnects this docshell&apos;s editor from its window, and stores the
            editor data in the open document&apos;s session history entry.  This
            should be called only during page transitions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsOffScreenBrowserAttribute">
            <summary>
            If true, this browser is not visible in the traditional sense, but
            is actively being rendered to the screen (ex. painted on a canvas)
            and should be treated accordingly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetPrintPreviewAttribute">
            <summary>
            If the current content viewer isn&apos;t initialized for print preview,
            it is replaced with one which is and to which an about:blank document
            is loaded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetCanExecuteScriptsAttribute">
            <summary>
            Whether this docshell can execute scripts based on its hierarchy.
            The rule of thumb here is that we disable js if this docshell or any
            of its parents disallow scripting.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsActiveAttribute">
            <summary>
            Sets whether a docshell is active. An active docshell is one that is
            visible, and thus is not a good candidate for certain optimizations
            like image frame discarding. Docshells are active unless told otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.SetIsPrerendered">
            <summary>
            Puts the docshell in prerendering mode. noscript because we want only
            native code to be able to put a docshell in prerendering.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsPrerenderedAttribute">
            <summary>
            Whether this docshell is in prerender mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHistoryIDAttribute">
            <summary>
            The ID of the docshell in the session history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsAppTabAttribute">
            <summary>
            Sets whether a docshell is an app tab. An app tab docshell may behave
            differently than a non-app tab docshell in some cases, such as when
            handling link clicks. Docshells are not app tabs unless told otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.CreateAboutBlankContentViewer(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Create a new about:blank document and content viewer.
            </summary>
            <param name="aPrincipal">
            the principal to use for the new document.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            Upon getting, returns the canonical encoding label of the document
            currently loaded into this docshell.
            
            Upon setting, sets forcedCharset for compatibility with legacy callers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GatherCharsetMenuTelemetry">
            <summary>
            Called when the user chose an encoding override from the character
            encoding menu. Separate from the setter for the charset property to avoid
            extensions adding noise to the data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetForcedCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset forced by the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.SetParentCharset(Gecko.nsACStringBase,System.Int32,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            In a child docshell, this is the charset of the parent docshell
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetRecordProfileTimelineMarkersAttribute">
            <summary>
            Whether the docShell records profile timeline markers at the moment
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.Now">
            <summary>
            Return a DOMHighResTimeStamp representing the number of
            milliseconds from an arbitrary point in time.  The reference
            point is shared by all DocShells and is also used by timestamps
            on markers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.PopProfileTimelineMarkers(System.IntPtr)">
            <summary>
            Returns and flushes the profile timeline markers gathered by the docShell
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.AddWeakPrivacyTransitionObserver(Gecko.Interfaces.nsIPrivacyTransitionObserver)">
            <summary>
            Add an observer to the list of parties to be notified when this docshell&apos;s
            private browsing status is changed. |obs| must support weak references.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.AddWeakReflowObserver(Gecko.Interfaces.nsIReflowObserver)">
            <summary>
            Add an observer to the list of parties to be notified when reflows are
            occurring. |obs| must support weak references.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.RemoveWeakReflowObserver(Gecko.Interfaces.nsIReflowObserver)">
            <summary>
            Remove an observer from the list of parties to be notified about reflows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.NotifyReflowObservers(System.Boolean,System.Double,System.Double)">
            <summary>
            Notify all attached observers that a reflow has just occurred.
            </summary>
            <param name="interruptible">
            if true, the reflow was interruptible.
            </param>
            <param name="start">
            timestamp when reflow started, in milliseconds since
            navigationStart (accurate to 1/1000 of a ms)
            </param>
            <param name="end">
            timestamp when reflow ended, in milliseconds since
            navigationStart (accurate to 1/1000 of a ms)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.AddWeakScrollObserver(System.IntPtr)">
            <summary>
            Add an observer to the list of parties to be notified when scroll position
            of some elements is changed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.RemoveWeakScrollObserver(System.IntPtr)">
            <summary>
            Add an observer to the list of parties to be notified when scroll position
            of some elements is changed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.NotifyScrollObservers">
            <summary>
            Notify all attached observers that the scroll position of some element
            has changed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsAppAttribute">
            <summary>
            Returns true iff the docshell corresponds to an &lt;iframe mozapp&gt;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsMozBrowserOrAppAttribute">
            <summary>
            Returns true if this docshell corresponds to an &lt;iframe mozbrowser&gt; or
            &lt;iframe mozapp&gt;.  &lt;xul:browser&gt; returns false here.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsIsolatedMozBrowserElementAttribute">
            <summary>
            Returns true if this docshell corresponds to an isolated &lt;iframe
            mozbrowser&gt;.
            
            &lt;iframe mozbrowser mozapp&gt; and &lt;xul:browser&gt; are not considered to be
            mozbrowser elements.  &lt;iframe mozbrowser noisolation&gt; does not count as
            isolated since isolation is disabled.  Isolation can only be disabled if
            the containing document is chrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsInIsolatedMozBrowserElementAttribute">
            <summary>
            Returns true if this docshell corresponds to an isolated &lt;iframe
            mozbrowser&gt; or if the docshell is contained in an isolated &lt;iframe
            mozbrowser&gt;.
            
            &lt;iframe mozbrowser mozapp&gt; and &lt;xul:browser&gt; are not considered to be
            mozbrowser elements.  &lt;iframe mozbrowser noisolation&gt; does not count as
            isolated since isolation is disabled.  Isolation can only be disabled if
            the containing document is chrome.
            
            Our notion here of &quot;contained in&quot; means: Walk up the docshell hierarchy in
            this process until we hit an &lt;iframe mozapp&gt; or &lt;iframe mozbrowser&gt; (or
            until the hierarchy ends).  Return true iff the docshell we stopped on has
            isIsolatedMozBrowserElement == true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsInMozBrowserOrAppAttribute">
            <summary>
            Returns true if this docshell corresponds to an &lt;iframe mozbrowser&gt; or
            &lt;iframe mozapp&gt;, or if this docshell is contained in an &lt;iframe mozbrowser&gt;
            or &lt;iframe mozapp&gt;.  &lt;xul:browser&gt; returns false here.
            
            To compute this value, we walk up the docshell hierarchy.  If we encounter
            a docshell with isMozBrowserOrApp before we hit the end of the hierarchy,
            we return true.  Otherwise, we return false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetIsTopLevelContentDocShellAttribute">
            <summary>
            Returns true if this docshell is the top level content docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAppIdAttribute">
            <summary>
            Returns the id of the app associated with this docshell.  If this docshell
            is an &lt;iframe mozbrowser&gt; inside an &lt;iframe mozapp&gt;, we return the app&apos;s
            appId.
            
            We compute this value by walking up the docshell hierarchy until we find a
            docshell on which origin attributes was set. (ignoring those docshells
            where x == UNKNOWN_APP_ID).  We return the app id x.
            
            If we don&apos;t find a docshell with an associated app id in our hierarchy, we
            return NO_APP_ID.  We never return UNKNOWN_APP_ID.
            
            Notice that a docshell may have an associated app even if it returns true
            for isBrowserElement!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAppManifestURLAttribute(Gecko.nsAStringBase)">
            <summary>
            Return the manifest URL of the app associated with this docshell.
            
            If there is no associated app in our hierarchy, we return empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetSameTypeParentIgnoreBrowserAndAppBoundaries">
            <summary>
            Like nsIDocShellTreeItem::GetSameTypeParent, except this ignores &lt;iframe
            mozbrowser&gt; and &lt;iframe mozapp&gt; boundaries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetSameTypeRootTreeItemIgnoreBrowserAndAppBoundaries">
            <summary>
            Like nsIDocShellTreeItem::GetSameTypeRootTreeItem, except this ignores
            &lt;iframe mozbrowser&gt; and &lt;iframe mozapp&gt; boundaries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAsyncPanZoomEnabledAttribute">
            <summary>
            True iff asynchronous panning and zooming is enabled for this
            docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetSandboxFlagsAttribute">
            <summary>
            The sandbox flags on the docshell. These reflect the value of the sandbox
            attribute of the associated IFRAME or CSP-protectable content, if
            existent. See the HTML5 spec for more details.
            These flags on the docshell reflect the current state of the sandbox
            attribute, which is modifiable. They are only used when loading new
            content, sandbox flags are also immutably set on the document when it is
            loaded.
            The sandbox flags of a document depend on the sandbox flags on its
            docshell and of its parent document, if any.
            See nsSandboxFlags.h for the possible flags.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetOnePermittedSandboxedNavigatorAttribute">
            <summary>
            When a new browsing context is opened by a sandboxed document, it needs to
            keep track of the browsing context that opened it, so that it can be
            navigated by it.  This is the &quot;one permitted sandboxed navigator&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.IsSandboxedFrom(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Returns true if we are sandboxed from aTargetDocShell.
            aTargetDocShell - the browsing context we are attempting to navigate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetMixedContentChannelAttribute">
            <summary>
            This member variable determines whether a document has Mixed Active Content that
            was initially blocked from loading, but the user has choosen to override the
            block and allow the content to load. mMixedContentChannel is set to the document&apos;s
            channel when the user allows mixed content. The nsMixedContentBlocker content policy
            checks if the document&apos;s root channel matches the mMixedContentChannel.  If it matches,
            then Mixed Content is loaded.  If it does match, mixed content is blocked.
            
            A match implies that there is definitely mixed active content on a page that was
            initially blocked by nsMixedContentBlocker and then allowed and loaded by the user.
            A miss imples that IF there is mixed active content on the page AND it was
            blocked by nsMixedContentBlocker.cpp, the user has not choosen to override
            the block. Note that if the about:config setting
            security.mixed_content.block_active_content is set to false, this boolean
            will be false, mMixedContentChannel will remain null since blocking active content has
            been disabled and hence mMixedContentChannel will never be set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetAllowMixedContentAndConnectionData(System.Boolean@,System.Boolean@,System.Boolean@)">
            <summary>
            Checks whether the channel associated with the root docShell is equal to
            mMixedContentChannel. If they are the same, allowMixedContent is set to true.
            Checks if the root document has a secure connection. If it is, sets
            rootHasSecureConnection to true. If the docShell is the root doc shell,
            isRootDocShell is set to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.PluginsAllowedInCurrentDoc">
            <summary>
            Are plugins allowed in the current document loaded in this docshell ?
            (if there is one). This depends on whether plugins are allowed by this
            docshell itself or if the document is sandboxed and hence plugins should
            not be allowed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetFullscreenAllowedAttribute">
            <summary>
            Attribute that determines whether fullscreen is allowed to be entered for
            this subtree of the docshell tree. This is true when all iframes containing
            this docshell have their &quot;allowfullscreen&quot; attribute set to &quot;true&quot;.
            fullscreenAllowed is only writable at content boundaries, where it is used
            to propagate the value of the cross process parent&apos;s iframe&apos;s
            &quot;allowfullscreen&quot; attribute to the child process. Setting
            fullscreenAllowed on docshells which aren&apos;t content boundaries throws an
            exception.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetMayEnableCharacterEncodingMenuAttribute">
            <summary>
            Indicates whether the UI may enable the character encoding menu. The UI
            must disable the menu when this property is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.MakeEditable(System.Boolean)">
            <summary>
            Make this docShell editable, setting a flag that causes
            an editor to get created, either immediately, or after
            a url has been loaded.
            </summary>
            <param name="inWaitForUriLoad">
            true to wait for a URI before
            creating the editor.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetChildSHEntry(System.Int32)">
            <summary>
            Get the SHEntry associated with a child docshell
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.AddChildSHEntry(Gecko.Interfaces.nsISHEntry,Gecko.Interfaces.nsISHEntry,System.Int32,System.UInt32,System.Boolean)">
            <summary>
            Add a Child SHEntry for a frameset page, given the child&apos;s loadtype.
            If aCloneChildren is true, then aCloneReference&apos;s children will be
            cloned onto aHistoryEntry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetUseGlobalHistoryAttribute">
            <summary>
            Whether this docshell should save entries in global history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.RemoveFromSessionHistory">
            <summary>
            Removes nsISHEntry objects related to this docshell from session history.
            Use this only with subdocuments, like iframes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetCreatedDynamicallyAttribute">
            <summary>
            Set when an iframe/frame is added dynamically.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetCurrentSHEntry(Gecko.Interfaces.nsISHEntry@)">
            <summary>
            Returns false for mLSHE, true for mOSHE
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.IsCommandEnabled(System.String)">
            <summary>
            Cherry picked parts of nsIController.
            They are here, because we want to call these functions
            from JS.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.IsInvisible">
            <summary>
            Invisible DocShell are dummy construct to simulate DOM windows
            without any actual visual representation. They have to be marked
            at construction time, to avoid any painting activity.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetScriptGlobalObject">
            <summary>
            Get the script global for the document in this docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetDeviceSizeIsPageSizeAttribute">
            <summary>
            If deviceSizeIsPageSize is set to true, device-width/height media queries
            will be calculated from the page size, not the device size.
            
            Used by the Responsive Design Mode and B2G Simulator.
            
            Default is False.
            Default value can be overriden with
            docshell.device_size_is_page_size pref.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.SetOpener(Gecko.Interfaces.nsITabParent)">
            <summary>
            Regarding setOpener / getOpener - We can&apos;t use XPIDL&apos;s &quot;attribute&quot;
            for notxpcom, so we&apos;re relegated to using explicit gets / sets. This
            should be fine, considering that these methods should only ever be
            called from native code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.NotifyJSRunToCompletionStart(System.String,System.String,System.String,System.UInt32,SpiderMonkey.JSVal@,System.String)">
            <summary>
            Notify DocShell when the browser is about to start executing JS, and after
            that execution has stopped.  This only occurs when the Timeline devtool
            is collecting information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetHasLoadedNonBlankURIAttribute">
            <summary>
            This attribute determines whether a document which is not about:blank has
            already be loaded by this docShell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetWindowDraggingAllowedAttribute">
            <summary>
            Allow usage of -moz-window-dragging:drag for content docshells.
            True for top level chrome docshells. Throws if set to false with
            top level chrome docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetCurrentScrollRestorationIsManualAttribute">
            <summary>
            Sets/gets the current scroll restoration mode.
            </summary>
            <remarks>
            See https://html.spec.whatwg.org/#dom-history-scroll-restoration
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetOriginAttributes(System.IntPtr)">
            <summary>
            Setter and getter for the origin attributes living on this docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetEditingSessionAttribute">
            <summary>
            The editing session for this docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetTabChildAttribute">
            <summary>
            The tab child for this docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetTouchEventsOverrideAttribute">
            <summary>
            This allows chrome to override the default choice of whether touch events
            are available on a specific docshell. Possible values are listed below.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShell.GetProcessLockReasonAttribute">
            <summary>
            A DocShell is locked to the current process if it would be
            content-observable for a process switch to occur before performing a
            navigation load. It is important to ensure that a DocShell is not process
            locked before perfoming process changing loads.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetReferrerAttribute">
            <summary>
            This is the referrer for the load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetOriginalURIAttribute">
            <summary>
            The originalURI to be passed to nsIDocShell.internalLoad. May be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetLoadReplaceAttribute">
            <summary>
            loadReplace flag to be passed to nsIDocShell.internalLoad.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetTriggeringPrincipalAttribute">
            <summary>
            The principal of the load, that is, the entity responsible for
            causing the load to occur. In most cases the referrer and
            the triggeringPrincipal&apos;s URI will be identical.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetInheritPrincipalAttribute">
            <summary>
            If this attribute is true and no triggeringPrincipal is specified,
            copy the principal from the referring document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetPrincipalIsExplicitAttribute">
            <summary>
            If this attribute is true only ever use the principal specified
            by the triggeringPrincipal and inheritPrincipal attributes.
            If there are security reasons for why this is unsafe, such
            as trying to use a systemprincipal as the triggeringPrincipal
            for a content docshell the load fails.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetLoadTypeAttribute">
            <summary>
            Contains a load type as specified by the load* constants
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetSHEntryAttribute">
            <summary>
            SHEntry for this page
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetTargetAttribute">
            <summary>
            Target for load, like _content, _blank etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetPostDataStreamAttribute">
            <summary>
            Post data
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetHeadersStreamAttribute">
            <summary>
            Additional headers
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetSendReferrerAttribute">
            <summary>
            True if the referrer should be sent, false if it shouldn&apos;t be
            sent, even if it&apos;s available. This attribute defaults to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetReferrerPolicyAttribute">
            <summary>
            Referrer policy for the load. This attribute holds one of
            the values (REFERRER_POLICY_*) defined in nsIHttpChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetIsSrcdocLoadAttribute">
            <summary>
            True if the docshell has been created to load an iframe where the
            srcdoc attribute has been set.  Set when srcdocData is specified.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetSrcdocDataAttribute(Gecko.nsAStringBase)">
            <summary>
            When set, the load will be interpreted as a srcdoc load, where contents
            of this string will be loaded instead of the URI.  Setting srcdocData
            sets isSrcdocLoad to true
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetSourceDocShellAttribute">
            <summary>
            When set, this is the Source Browsing Context for the navigation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellLoadInfo.GetBaseURIAttribute">
            <summary>
            Used for srcdoc loads to give view-source knowledge of the load&apos;s base
            URI as this information isn&apos;t embedded in the load&apos;s URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellTreeOwner.ContentShellAdded(Gecko.Interfaces.nsIDocShellTreeItem,System.Boolean,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            Called when a content shell is added to the docshell tree.  This is
            _only_ called for &quot;root&quot; content shells (that is, ones whose parent is a
            chrome shell).
            </summary>
            <param name="aContentShell">
            the shell being added.
            </param>
            <param name="aPrimary">
            whether the shell is primary.
            </param>
            <param name="aTargetable">
            whether the shell can be a target for named window
            targeting.
            </param>
            <param name="aID">
            the &quot;id&quot; of the shell.  What this actually means is
            undefined. Don&apos;t rely on this for anything.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocShellTreeOwner.ContentShellRemoved(Gecko.Interfaces.nsIDocShellTreeItem)">
            <summary>
            Called when a content shell is removed from the docshell tree.  This is
            _only_ called for &quot;root&quot; content shells (that is, ones whose parent is a
            chrome shell).  Note that if aContentShell was never added,
            contentShellRemoved should just do nothing.
            </summary>
            <param name="aContentShell">
            the shell being removed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoderNodeFixup.FixupNode(Gecko.Interfaces.nsIDOMNode,System.Boolean@)">
            <summary>
            Create a fixed up version of a node. This method is called before
            each node in a document is about to be persisted. The implementor
            may return a new node with fixed up attributes or null. If null is
            returned the node should be used as-is.
            </summary>
            <param name="aNode">
            Node to fixup.
            </param>
            <param name="[OUT]">
            aSerializeCloneKids True if the document encoder should
            apply recursive serialization to the children of the fixed up node
            instead of the children of the original node.
            </param>
            <returns>
            The resulting fixed up node.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.Init(Gecko.Interfaces.nsIDOMDocument,Gecko.nsAStringBase,System.UInt32)">
            <summary>
            Initialize with a pointer to the document and the mime type.
            </summary>
            <param name="aDocument">
            Document to encode.
            </param>
            <param name="aMimeType">
            MimeType to use. May also be set by SetMimeType.
            </param>
            <param name="aFlags">
            Flags to use while encoding. May also be set by SetFlags.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.SetSelection(Gecko.Interfaces.nsISelection)">
            <summary>
            If the selection is set to a non-null value, then the
            selection is used for encoding, otherwise the entire
            document is encoded.
            </summary>
            <param name="aSelection">
            The selection to encode.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.SetRange(Gecko.Interfaces.nsIDOMRange)">
            <summary>
            If the range is set to a non-null value, then the
            range is used for encoding, otherwise the entire
            document or selection is encoded.
            </summary>
            <param name="aRange">
            The range to encode.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.SetNode(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            If the node is set to a non-null value, then the
            node is used for encoding, otherwise the entire
            document or range or selection is encoded.
            </summary>
            <param name="aNode">
            The node to encode.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.SetContainerNode(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            If the container is set to a non-null value, then its
            child nodes are used for encoding, otherwise the entire
            document or range or selection or node is encoded.
            </summary>
            <param name="aContainer">
            The node which child nodes will be encoded.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.SetCharset(Gecko.nsACStringBase)">
            <summary>
            Documents typically have an intrinsic character set,
            but if no intrinsic value is found, the platform character set
            is used. This function overrides both the intrinisc and platform
            charset.
            </summary>
            <param name="aCharset">
            Overrides the both the intrinsic or platform
            character set when encoding the document.
            
            Possible result codes: NS_ERROR_NO_CHARSET_CONVERTER
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.SetWrapColumn(System.UInt32)">
            <summary>
            Set a wrap column.  This may have no effect in some types of encoders.
            </summary>
            <param name="aWrapColumn">
            Column to which to wrap.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.GetMimeTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The mime type preferred by the encoder.  This piece of api was
            added because the copy encoder may need to switch mime types on you
            if you ask it to copy html that really represents plaintext content.
            Call this AFTER Init() and SetSelection() have both been called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.EncodeToStream(Gecko.Interfaces.nsIOutputStream)">
            <summary>
            Encode the document and send the result to the nsIOutputStream.
            
            Possible result codes are the stream errors which might have
            been encountered.
            </summary>
            <param name="aStream">
            Stream into which to encode.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.EncodeToString(Gecko.nsAStringBase)">
            <summary>
            Encode the document into a string.
            </summary>
            <returns>
            The document encoded into a string.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.EncodeToStringWithContext(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Encode the document into a string. Stores the extra context information
            into the two arguments.
            </summary>
            <param name="[OUT]">
            aInfoString The string where extra context info will
            be stored.
            </param>
            <returns>
            The document encoded as a string.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.EncodeToStringWithMaxLength(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Encode the document into a string of limited size.
            </summary>
            <param name="aMaxLength">
            After aMaxLength characters, the encoder will stop
            encoding new data.
            Only values &gt; 0 will be considered.
            The returned string may be slightly larger than
            aMaxLength because some serializers (eg. HTML)
            may need to close some tags after they stop
            encoding new data, or finish a line (72 columns
            by default for the plain text serializer).
            </param>
            <returns>
            The document encoded into a string.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentEncoder.SetNodeFixup(Gecko.Interfaces.nsIDocumentEncoderNodeFixup)">
            <summary>
            Set the fixup object associated with node persistence.
            </summary>
            <param name="aFixup">
            The fixup object.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDocumentLoader">
            <summary>
            An nsIDocumentLoader is an interface responsible for tracking groups of
            loads that belong together (images, external scripts, etc) and subdocuments
            (&lt;iframe&gt;, &lt;frame&gt;, etc). It is also responsible for sending
            nsIWebProgressListener notifications.
            XXXbz this interface should go away, we think...
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDocumentLoaderFactory">
            <summary>
            To get a component that implements nsIDocumentLoaderFactory
            for a given mimetype, use nsICategoryManager to find an entry
            with the mimetype as its name in the category &quot;Gecko-Content-Viewers&quot;.
            The value of the entry is the contractid of the component.
            The component is a service, so use GetService, not CreateInstance to get it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDocumentLoaderFactory.CreateBlankDocument(Gecko.Interfaces.nsILoadGroup,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Create a blank document using the given loadgroup and given
            principal.  aPrincipal is allowed to be null, in which case the
            new document will get the about:blank codebase principal.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMAnimationEvent">
            <summary>
            Animation events are defined in:
            http://www.w3.org/TR/css3-animations/#animation-events-
            http://dev.w3.org/csswg/css3-animations/#animation-events-
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMAttr">
            <summary>
            The nsIDOMAttr interface represents an attribute in an &quot;Element&quot; object.
            Typically the allowable values for the attribute are defined in a document
            type definition.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMNode">
            <summary>
            The nsIDOMNode interface is the primary datatype for the entire
            Document Object Model.
            It represents a single node in the document tree.
            
            For more information on this interface please see
            http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMBeforeUnloadEvent">
            <summary>
            The nsIDOMBeforeUnloadEvent interface is the interface for events
            sent to handlers of the &quot;beforeunload&quot; event. This event is
            non-standard. Interface derived from Microsoft IE&apos;s event
            implementation.
            
            http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events.asp
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMBeforeUnloadEvent.GetReturnValueAttribute(Gecko.nsAStringBase)">
            <summary>
            Attribute used to pass back a return value from a beforeunload
            handler
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCanvasRenderingContext2D">
            <summary>
            This interface remains only for the constants, for a context, use the
            WebIDL/Paris bindings instead (CanvasRenderingContext2D.webidl).
            The constants are used by CanvasRenderingContext2D::DrawWindow and are
            used in WindowsPreviewPerTab.jsm and some extensions. The constants can
            be referenced directly via a canvas context 2d rather than this interface,
            and that should be preferred in new code.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCDATASection">
            <summary>
            CDATA sections are used to escape blocks of text containing characters
            that would otherwise be regarded as markup.
            Their primary purpose is for including material such as XML fragments,
            without needing to escape all the delimiters.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMText">
            <summary>
            The nsIDOMText interface inherits from nsIDOMCharacterData and represents
            the textual content (termed character data in XML) of an Element or Attr.
            
            For more information on this interface please see
            http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCharacterData">
            <summary>
            The nsIDOMCharacterData interface extends nsIDOMNode with a set of
            attributes and methods for accessing character data in the DOM.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMText.GetWholeTextAttribute(Gecko.nsAStringBase)">
            <summary>
            The concatenation of all logically adjacent text nodes with this text
            node, where &quot;logically adjacent&quot; consists of all text nodes which can be
            reached by traversing the document tree in either direction without
            passing an element, comment, or processing-instruction boundary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMCDATASection.GetWholeTextAttribute(Gecko.nsAStringBase)">
            <summary>
            The concatenation of all logically adjacent text nodes with this text
            node, where &quot;logically adjacent&quot; consists of all text nodes which can be
            reached by traversing the document tree in either direction without
            passing an element, comment, or processing-instruction boundary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMChromeWindow.GetBrowserDOMWindowAttribute">
            <summary>
            browserDOMWindow provides access to yet another layer of
            utility functions implemented by chrome script. It will be null
            for DOMWindows not corresponding to browsers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMChromeWindow.NotifyDefaultButtonLoaded(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Notify a default button is loaded on a dialog or a wizard.
            defaultButton is the default button.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMChromeWindow.GetGroupMessageManager(Gecko.nsAStringBase)">
            <summary>
            Returns the message manager identified by the given group name that
            manages all frame loaders belonging to that group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMChromeWindow.BeginWindowMove(Gecko.Interfaces.nsIDOMEvent,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            On some operating systems, we must allow the window manager to
            handle window dragging. This function tells the window manager to
            start dragging the window. This function will fail unless called
            while the left mouse button is held down, callers must check this.
            
            The optional panel argument should be set when moving a panel.
            
            Returns NS_ERROR_NOT_IMPLEMENTED (and thus throws in JS) if the OS
            doesn&apos;t support this.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMChromeWindow.SetOpenerForInitialContentBrowser(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            These methods provide a way to specify the opener value for the content in
            the window before the content itself is created. This is important in order
            to set the DocGroup of a document, as the opener must be set before the
            document is created.
            
            SetOpenerForInitialContentBrowser is used to set which opener will be used,
            and TakeOpenerForInitialContentBrowser is used by nsXULElement in order to
            take the value set earlier, and null out the value in the
            nsIDOMChromeWindow.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMComment">
            <summary>
            The nsIDOMComment interface inherits from nsIDOMCharacterData and represents
            the content of a comment, i.e., all the characters between the starting
            &apos;&lt;!--&apos; and ending &apos;--&gt;&apos;.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSConditionRule">
            <summary>
            Interface in the CSS OM for at-rules that conditionally apply their
            child rules.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSGroupingRule">
            <summary>
            Interface for at-rules that have child rules in the CSS OM.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSMediaRule">
            <summary>
            Interface for @media rules in the CSS OM.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSMozDocumentRule">
            <summary>
            Interface for @-moz-document rules in the CSS OM.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSPrimitiveValue">
            <summary>
            The nsIDOMCSSPrimitiveValue interface is a datatype for a primitive
            CSS value in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSValue">
            <summary>
            The nsIDOMCSSValue interface is a datatype for a CSS value in the
            Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSRuleList">
            <summary>
            The nsIDOMCSSRuleList interface is a datatype for a list of CSS
            style rules in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSStyleDeclaration">
            <summary>
            The nsIDOMCSSStyleDeclaration interface is a datatype for a CSS
            style declaration in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSStyleSheet">
            <summary>
            The nsIDOMCSSStyleSheet interface is a datatype for a CSS style
            sheet in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMStyleSheet">
            <summary>
            The nsIDOMStyleSheet interface is a datatype for a style sheet in
            the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMCSSSupportsRule">
            <summary>
            Interface for @supports rules in the CSS OM.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.AddEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            This method allows the registration of event listeners on the event target.
            If an EventListener is added to an EventTarget while it is processing an
            event, it will not be triggered by the current actions but may be
            triggered during a later stage of event flow, such as the bubbling phase.
            
            If multiple identical EventListeners are registered on the same
            EventTarget with the same parameters the duplicate instances are
            discarded. They do not cause the EventListener to be called twice
            and since they are discarded they do not need to be removed with the
            removeEventListener method.
            </summary>
            <param name="type">
            The event type for which the user is registering
            </param>
            <param name="listener">
            The listener parameter takes an interface
            implemented by the user which contains the methods
            to be called when the event occurs.
            </param>
            <param name="useCapture">
            If true, useCapture indicates that the user
            wishes to initiate capture. After initiating
            capture, all events of the specified type will be
            dispatched to the registered EventListener before
            being dispatched to any EventTargets beneath them
            in the tree. Events which are bubbling upward
            through the tree will not trigger an
            EventListener designated to use capture.
            </param>
            <param name="wantsUntrusted">
            If false, the listener will not receive any
            untrusted events (see above), if true, the
            listener will receive events whether or not
            they&apos;re trusted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.AddSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            addSystemEventListener() adds an event listener of aType to the system
            group.  Typically, core code should use system group for listening to
            content (i.e., non-chrome) element&apos;s events.  If core code uses
            nsIDOMEventTarget::AddEventListener for a content node, it means
            that the listener cannot listen the event when web content calls
            stopPropagation() of the event.
            </summary>
            <param name="aType">
            An event name you&apos;re going to handle.
            </param>
            <param name="aListener">
            An event listener.
            </param>
            <param name="aUseCapture">
            TRUE if you want to listen the event in capturing
            phase.  Otherwise, FALSE.
            </param>
            <param name="aWantsUntrusted">
            TRUE if you want to handle untrusted events.
            Otherwise, FALSE.
            </param>
            <returns>
            NS_OK if succeed.  Otherwise, NS_ERROR_*.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.RemoveEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            This method allows the removal of event listeners from the event
            target. If an EventListener is removed from an EventTarget while it
            is processing an event, it will not be triggered by the current actions.
            EventListeners can never be invoked after being removed.
            Calling removeEventListener with arguments which do not identify any
            currently registered EventListener on the EventTarget has no effect.
            </summary>
            <param name="type">
            Specifies the event type of the EventListener being
            removed.
            </param>
            <param name="listener">
            The EventListener parameter indicates the
            EventListener to be removed.
            </param>
            <param name="useCapture">
            Specifies whether the EventListener being
            removed was registered as a capturing listener or
            not. If a listener was registered twice, one with
            capture and one without, each must be removed
            separately. Removal of a capturing listener does
            not affect a non-capturing version of the same
            listener, and vice versa.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.RemoveSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            removeSystemEventListener() should be used if you have used
            addSystemEventListener().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.DispatchEvent(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            This method allows the dispatch of events into the implementations
            event model. Events dispatched in this manner will have the same
            capturing and bubbling behavior as events dispatched directly by the
            implementation. The target of the event is the EventTarget on which
            dispatchEvent is called.
            </summary>
            <param name="evt">
            Specifies the event type, behavior, and contextual
            information to be used in processing the event.
            </param>
            <returns>
            Indicates whether any of the listeners which handled the
            event called preventDefault. If preventDefault was called
            the value is false, else the value is true.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            INVALID_STATE_ERR:: Raised if the Event's type was
            not specified by initializing the event before
            dispatchEvent was called. Specification of the Event's
            type as null or an empty string will also trigger this
            exception.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.GetTargetForDOMEvent">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of DOMEvents.
            Usually |this| is returned, but for example global object returns
            the outer object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.GetTargetForEventTargetChain">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of the event and when constructing event target chain.
            Usually |this| is returned, but for example global object returns
            the inner object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.PreHandleEvent(System.IntPtr)">
            <summary>
            Called before the capture phase of the event flow.
            This is used to create the event target chain and implementations
            should set the necessary members of EventChainPreVisitor.
            At least aVisitor.mCanHandle must be set,
            usually also aVisitor.mParentTarget if mCanHandle is PR_TRUE.
            First one tells that this object can handle the aVisitor.mEvent event and
            the latter one is the possible parent object for the event target chain.
            </summary>
            <param name="aVisitor">
            the visitor object which is used to create the
            event target chain for event dispatching.
            </param>
            <remarks>
            See EventDispatcher.h for more documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.WillHandleEvent(System.IntPtr)">
            <summary>
            If EventChainPreVisitor.mWantsWillHandleEvent is set PR_TRUE,
            called just before possible event handlers on this object will be called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.PostHandleEvent(System.IntPtr)">
            <summary>
            Called after the bubble phase of the system event group.
            The default handling of the event should happen here.
            </summary>
            <param name="aVisitor">
            the visitor object which is used during post handling.
            </param>
            <remarks>
            See EventDispatcher.h for documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.DispatchDOMEvent(System.IntPtr,Gecko.Interfaces.nsIDOMEvent,System.IntPtr,System.IntPtr)">
            <summary>
            Dispatch an event.
            </summary>
            <param name="aEvent">
            the event that is being dispatched.
            </param>
            <param name="aDOMEvent">
            the event that is being dispatched, use if you want to
            dispatch nsIDOMEvent, not only WidgetEvent.
            </param>
            <param name="aPresContext">
            the current presentation context, can be nullptr.
            </param>
            <param name="aEventStatus">
            the status returned from the function, can be nullptr.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventTarget.GetContextForEventHandlers(System.Int32@)">
            <summary>
            Get the script context in which the event handlers should be run.
            May return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.AddEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            This method allows the registration of event listeners on the event target.
            If an EventListener is added to an EventTarget while it is processing an
            event, it will not be triggered by the current actions but may be
            triggered during a later stage of event flow, such as the bubbling phase.
            
            If multiple identical EventListeners are registered on the same
            EventTarget with the same parameters the duplicate instances are
            discarded. They do not cause the EventListener to be called twice
            and since they are discarded they do not need to be removed with the
            removeEventListener method.
            </summary>
            <param name="type">
            The event type for which the user is registering
            </param>
            <param name="listener">
            The listener parameter takes an interface
            implemented by the user which contains the methods
            to be called when the event occurs.
            </param>
            <param name="useCapture">
            If true, useCapture indicates that the user
            wishes to initiate capture. After initiating
            capture, all events of the specified type will be
            dispatched to the registered EventListener before
            being dispatched to any EventTargets beneath them
            in the tree. Events which are bubbling upward
            through the tree will not trigger an
            EventListener designated to use capture.
            </param>
            <param name="wantsUntrusted">
            If false, the listener will not receive any
            untrusted events (see above), if true, the
            listener will receive events whether or not
            they&apos;re trusted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.AddSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            addSystemEventListener() adds an event listener of aType to the system
            group.  Typically, core code should use system group for listening to
            content (i.e., non-chrome) element&apos;s events.  If core code uses
            nsIDOMEventTarget::AddEventListener for a content node, it means
            that the listener cannot listen the event when web content calls
            stopPropagation() of the event.
            </summary>
            <param name="aType">
            An event name you&apos;re going to handle.
            </param>
            <param name="aListener">
            An event listener.
            </param>
            <param name="aUseCapture">
            TRUE if you want to listen the event in capturing
            phase.  Otherwise, FALSE.
            </param>
            <param name="aWantsUntrusted">
            TRUE if you want to handle untrusted events.
            Otherwise, FALSE.
            </param>
            <returns>
            NS_OK if succeed.  Otherwise, NS_ERROR_*.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.RemoveEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            This method allows the removal of event listeners from the event
            target. If an EventListener is removed from an EventTarget while it
            is processing an event, it will not be triggered by the current actions.
            EventListeners can never be invoked after being removed.
            Calling removeEventListener with arguments which do not identify any
            currently registered EventListener on the EventTarget has no effect.
            </summary>
            <param name="type">
            Specifies the event type of the EventListener being
            removed.
            </param>
            <param name="listener">
            The EventListener parameter indicates the
            EventListener to be removed.
            </param>
            <param name="useCapture">
            Specifies whether the EventListener being
            removed was registered as a capturing listener or
            not. If a listener was registered twice, one with
            capture and one without, each must be removed
            separately. Removal of a capturing listener does
            not affect a non-capturing version of the same
            listener, and vice versa.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.RemoveSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            removeSystemEventListener() should be used if you have used
            addSystemEventListener().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.DispatchEvent(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            This method allows the dispatch of events into the implementations
            event model. Events dispatched in this manner will have the same
            capturing and bubbling behavior as events dispatched directly by the
            implementation. The target of the event is the EventTarget on which
            dispatchEvent is called.
            </summary>
            <param name="evt">
            Specifies the event type, behavior, and contextual
            information to be used in processing the event.
            </param>
            <returns>
            Indicates whether any of the listeners which handled the
            event called preventDefault. If preventDefault was called
            the value is false, else the value is true.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            INVALID_STATE_ERR:: Raised if the Event's type was
            not specified by initializing the event before
            dispatchEvent was called. Specification of the Event's
            type as null or an empty string will also trigger this
            exception.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.GetTargetForDOMEvent">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of DOMEvents.
            Usually |this| is returned, but for example global object returns
            the outer object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.GetTargetForEventTargetChain">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of the event and when constructing event target chain.
            Usually |this| is returned, but for example global object returns
            the inner object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.PreHandleEvent(System.IntPtr)">
            <summary>
            Called before the capture phase of the event flow.
            This is used to create the event target chain and implementations
            should set the necessary members of EventChainPreVisitor.
            At least aVisitor.mCanHandle must be set,
            usually also aVisitor.mParentTarget if mCanHandle is PR_TRUE.
            First one tells that this object can handle the aVisitor.mEvent event and
            the latter one is the possible parent object for the event target chain.
            </summary>
            <param name="aVisitor">
            the visitor object which is used to create the
            event target chain for event dispatching.
            </param>
            <remarks>
            See EventDispatcher.h for more documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.WillHandleEvent(System.IntPtr)">
            <summary>
            If EventChainPreVisitor.mWantsWillHandleEvent is set PR_TRUE,
            called just before possible event handlers on this object will be called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.PostHandleEvent(System.IntPtr)">
            <summary>
            Called after the bubble phase of the system event group.
            The default handling of the event should happen here.
            </summary>
            <param name="aVisitor">
            the visitor object which is used during post handling.
            </param>
            <remarks>
            See EventDispatcher.h for documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.DispatchDOMEvent(System.IntPtr,Gecko.Interfaces.nsIDOMEvent,System.IntPtr,System.IntPtr)">
            <summary>
            Dispatch an event.
            </summary>
            <param name="aEvent">
            the event that is being dispatched.
            </param>
            <param name="aDOMEvent">
            the event that is being dispatched, use if you want to
            dispatch nsIDOMEvent, not only WidgetEvent.
            </param>
            <param name="aPresContext">
            the current presentation context, can be nullptr.
            </param>
            <param name="aEventStatus">
            the status returned from the function, can be nullptr.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataChannel.GetContextForEventHandlers(System.Int32@)">
            <summary>
            Get the script context in which the event handlers should be run.
            May return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataContainerEvent.GetData(Gecko.nsAStringBase)">
            <summary>
            Return the data associated with the given key.
            </summary>
            <param name="key">
            the key
            </param>
            <returns>
            the data associated with the key
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataContainerEvent.SetData(Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Set the data for the given key.
            </summary>
            <param name="key">
            the data key
            </param>
            <param name="data">
            the data
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if the method is called during event
            dispatch
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.GetDropEffectAttribute(Gecko.nsAStringBase)">
            <summary>
            The actual effect that will be used, and should always be one of the
            possible values of effectAllowed.
            
            For dragstart, drag and dragleave events, the dropEffect is initialized
            to none. Any value assigned to the dropEffect will be set, but the value
            isn&apos;t used for anything.
            
            For the dragenter and dragover events, the dropEffect will be initialized
            based on what action the user is requesting. How this is determined is
            platform specific, but typically the user can press modifier keys to
            adjust which action is desired. Within an event handler for the dragenter
            and dragover events, the dropEffect should be modified if the action the
            user is requesting is not the one that is desired.
            
            For the drop and dragend events, the dropEffect will be initialized to
            the action that was desired, which will be the value that the dropEffect
            had after the last dragenter or dragover event.
            
            Possible values:
            copy - a copy of the source item is made at the new location
            move - an item is moved to a new location
            link - a link is established to the source at the new location
            none - the item may not be dropped
            
            Assigning any other value has no effect and retains the old value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.GetFilesAttribute">
            <summary>
            Holds a list of all the local files available on this data transfer.
            A dataTransfer containing no files will return an empty list, and an
            invalid index access on the resulting file list will return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.SetDragImage(Gecko.Interfaces.nsIDOMElement,System.Int32,System.Int32)">
            <summary>
            Set the image to be used for dragging if a custom one is desired. Most of
            the time, this would not be set, as a default image is created from the
            node that was dragged.
            
            If the node is an HTML img element, an HTML canvas element or a XUL image
            element, the image data is used. Otherwise, image should be a visible
            node and the drag image will be created from this. If image is null, any
            custom drag image is cleared and the default is used instead.
            
            The coordinates specify the offset into the image where the mouse cursor
            should be. To center the image for instance, use values that are half the
            width and height.
            </summary>
            <param name="image">
            a node to use
            </param>
            <param name="x">
            the horizontal offset
            </param>
            <param name="y">
            the vertical offset
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NO_MODIFICATION_ALLOWED_ERR: if the item cannot be modified
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.GetMozItemCountAttribute">
            <summary>
            The number of items being dragged.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.GetMozCursorAttribute(Gecko.nsAStringBase)">
            <summary>
            Sets the drag cursor state. Primarily used to control the cursor during
            tab drags, but could be expanded to other uses. XXX Currently implemented
            on Win32 only.
            
            Possible values:
            auto - use default system behavior.
            default - set the cursor to an arrow during the drag operation.
            
            Values other than &apos;default&apos; are indentical to setting mozCursor to
            &apos;auto&apos;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.MozTypesAt(System.UInt32)">
            <summary>
            Holds a list of the format types of the data that is stored for an item
            at the specified index. If the index is not in the range from 0 to
            itemCount - 1, an empty string list is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.GetMozUserCancelledAttribute">
            <summary>
            Will be true when the user has cancelled the drag (typically by pressing
            Escape) and when the drag has been cancelled unexpectedly.  This will be
            false otherwise, including when the drop has been rejected by its target.
            This property is only relevant for the dragend event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDataTransfer.GetMozSourceNodeAttribute">
            <summary>
            The node that the mouse was pressed over to begin the drag. For external
            drags, or if the caller cannot access this node, this will be null.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMDocument">
            <summary>
            The nsIDOMDocument interface represents the entire HTML or XML document.
            Conceptually, it is the root of the document tree, and provides the
            primary access to the document&apos;s data.
            Since elements, text nodes, comments, processing instructions, etc.
            cannot exist outside the context of a Document, the nsIDOMDocument
            interface also contains the factory methods needed to create these
            objects.
            
            For more information on this interface please see
            http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.CreateRange">
            <summary>
            Create a range
            </summary>
            <remarks>
            See http://html5.org/specs/dom-range.html#dom-document-createrange
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetDefaultViewAttribute">
            <summary>
            The window associated with this document.
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-defaultview
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetCharacterSetAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-characterset
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetDirAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-dir
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetLocationAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-location
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#document.title
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetReadyStateAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-readystate
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetLastModifiedAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-lastmodified
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetReferrerAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-referrer
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.HasFocus">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-hasfocus
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetActiveElementAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-activeelement
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetElementsByClassName(Gecko.nsAStringBase)">
            <summary>
            Retrieve elements matching all classes listed in a
            space-separated string.
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-getelementsbyclassname
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetStyleSheetsAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-stylesheets
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetPreferredStyleSheetSetAttribute(Gecko.nsAStringBase)">
            <summary>
            This attribute must return the preferred style sheet set as set by the
            author. It is determined from the order of style sheet declarations and
            the Default-Style HTTP headers, as eventually defined elsewhere in the Web
            Apps 1.0 specification. If there is no preferred style sheet set, this
            attribute must return the empty string. The case of this attribute must
            exactly match the case given by the author where the preferred style sheet
            is specified or implied. This attribute must never return null.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-preferredStyleSheetSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetSelectedStyleSheetSetAttribute(Gecko.nsAStringBase)">
            <summary>
            This attribute indicates which style sheet set is in use. This attribute
            is live; changing the disabled attribute on style sheets directly will
            change the value of this attribute.
            
            If all the sheets that are enabled and have a title have the same title
            (by case-sensitive comparisons) then the value of this attribute must be
            exactly equal to the title of the first enabled style sheet with a title
            in the styleSheets list. Otherwise, if style sheets from different sets
            are enabled, then the return value must be null (there is no way to
            determine what the currently selected style sheet set is in those
            conditions). Otherwise, either all style sheets that have a title are
            disabled, or there are no alternate style sheets, and
            selectedStyleSheetSet must return the empty string.
            
            Setting this attribute to the null value must have no effect.
            
            Setting this attribute to a non-null value must call
            enableStyleSheetsForSet() with that value as the function&apos;s argument, and
            set lastStyleSheetSet to that value.
            
            From the DOM&apos;s perspective, all views have the same
            selectedStyleSheetSet. If a UA supports multiple views with different
            selected alternate style sheets, then this attribute (and the StyleSheet
            interface&apos;s disabled attribute) must return and set the value for the
            default view.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-selectedStyleSheetSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetStyleSheetSetsAttribute">
            <summary>
            This must return the live list of the currently available style sheet
            sets. This list is constructed by enumerating all the style sheets for
            this document available to the implementation, in the order they are
            listed in the styleSheets attribute, adding the title of each style sheet
            with a title to the list, avoiding duplicates by dropping titles that
            match (case-sensitively) titles that have already been added to the
            list.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-styleSheetSets
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.EnableStyleSheetsForSet(Gecko.nsAStringBase)">
            <summary>
            Calling this method must change the disabled attribute on each StyleSheet
            object with a title attribute with a length greater than 0 in the
            styleSheets attribute, so that all those whose title matches the name
            argument are enabled, and all others are disabled. Title matches must be
            case-sensitive. Calling this method with the empty string disables all
            alternate and preferred style sheets (but does not change the state of
            persistent style sheets, that is those with no title attribute).
            
            Calling this method with a null value must have no effect.
            
            Style sheets that do not have a title are never affected by this
            method. This method does not change the values of the lastStyleSheetSet or
            preferredStyleSheetSet attributes.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-enableStyleSheetsForSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.ElementFromPoint(System.Single,System.Single)">
            <summary>
            Returns the element from the caller&apos;s document at the given point,
            relative to the upper-left-most point in the (possibly scrolled)
            window or frame.
            
            If the element at the given point belongs to another document (such as
            an iframe&apos;s subdocument), the element in the calling document&apos;s DOM
            (e.g. the iframe) is returned. If the element at the given point is
            anonymous or XBL generated content, such as a textbox&apos;s scrollbars, then
            the first non-anonymous parent element (that is, the textbox) is returned.
            
            This method returns null if either coordinate is negative, or if the
            specified point lies outside the visible bounds of the document.
            
            Callers from XUL documents should wait until the onload event has fired
            before calling this method.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom-view/#dom-document-elementfrompoint
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetContentTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.contentType
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetMozSyntheticDocumentAttribute">
            <summary>
            True if this document is synthetic : stand alone image, video, audio file,
            etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetCurrentScriptAttribute">
            <summary>
            Returns the script element whose script is currently being processed.
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.currentScript
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.ReleaseCapture">
            <summary>
            Release the current mouse capture if it is on an element within this
            document.
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.releaseCapture
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.MozSetImageElement(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Use the given DOM element as the source image of target |-moz-element()|.
            
            This function introduces a new special ID (called &quot;image element ID&quot;),
            which is only used by |-moz-element()|, and associates it with the given
            DOM element.  Image elements ID&apos;s have the higher precedence than general
            HTML id&apos;s, so if |document.mozSetImageElement(&lt;id&gt;, &lt;element&gt;)| is called,
            |-moz-element(#&lt;id&gt;)| uses |&lt;element&gt;| as the source image even if there
            is another element with id attribute = |&lt;id&gt;|.  To unregister an image
            element ID |&lt;id&gt;|, call |document.mozSetImageElement(&lt;id&gt;, null)|.
            
            Example:
            &lt;script&gt;
            canvas = document.createElement(&quot;canvas&quot;);
            canvas.setAttribute(&quot;width&quot;, 100);
            canvas.setAttribute(&quot;height&quot;, 100);
            draw to canvas
            document.mozSetImageElement(&quot;canvasbg&quot;, canvas);
            &lt;/script&gt;
            &lt;div style=&quot;background-image: -moz-element(#canvasbg);&quot;&gt;&lt;/div&gt;
            </summary>
            <param name="aImageElementId">
            an image element ID to associate with
            |aImageElement|
            </param>
            <param name="aImageElement">
            a DOM element to be used as the source image of
            |-moz-element(#aImageElementId)|. If this is null, the function will
            unregister the image element ID |aImageElementId|.
            </param>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.mozSetImageElement
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetMozFullScreenElementAttribute">
            <summary>
            Element which is currently the full-screen element as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.MozCancelFullScreen">
            <summary>
            Causes the document to leave DOM full-screen mode, if it&apos;s in
            full-screen mode, as per the DOM full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetMozFullScreenAttribute">
            <summary>
            Denotes whether this document is in DOM full-screen mode, as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetMozFullScreenEnabledAttribute">
            <summary>
            Denotes whether the full-screen-api.enabled is true, no windowed
            plugins are present, and all ancestor documents have the
            allowfullscreen attribute set.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetMozPointerLockElementAttribute">
            <summary>
            The element to which the mouse pointer is locked, if any, as per the
            DOM pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.CaretPositionFromPoint(System.Single,System.Single)">
            <summary>
            Retrieve the location of the caret position (DOM node and character
            offset within that node), given a point.
            </summary>
            <param name="x">
            Horizontal point at which to determine the caret position, in
            page coordinates.
            </param>
            <param name="y">
            Vertical point at which to determine the caret position, in
            page coordinates.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.MozExitPointerLock">
            <summary>
            Exit pointer is lock if locked, as per the DOM pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetHiddenAttribute">
            <summary>
            Visibility API implementation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.GetCompatModeAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns &quot;BackCompat&quot; if we&apos;re in quirks mode or &quot;CSS1Compat&quot; if we&apos;re in
            strict mode.  (XML documents are always in strict mode.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocument.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMDocumentFragment">
            <summary>
            DocumentFragment is a &quot;lightweight&quot; or &quot;minimal&quot; Document object.
            nsIDOMDocumentFragment is used in situations where the Document
            interface can potentially be a heavyweight interface.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocumentFragment.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMDocumentType">
            <summary>
            Each Document has a doctype attribute whose value is either null
            or a DocumentType object.
            The nsIDOMDocumentType interface in the DOM Core provides an
            interface to the list of entities that are defined for the document.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDocumentXBL.GetAnonymousNodes(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            See the MDC documentation for what these methods do.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMDOMException">
            <summary>
            In general, DOM methods return specific error values in ordinary
            processing situations, such as out-of-bound errors.
            However, DOM operations can raise exceptions in &quot;exceptional&quot;
            circumstances, i.e., when an operation is impossible to perform
            (either for logical reasons, because data is lost, or because the
            implementation has become unstable)
            
            For more information on this interface please see
            http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#domexception
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMDOMImplementation">
            <summary>
            The nsIDOMDOMImplementation interface provides a number of methods for
            performing operations that are independent of any particular instance
            of the document object model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMImplementation.CreateHTMLDocument(Gecko.nsAStringBase)">
            <summary>
            Returns an HTML document with a basic DOM already constructed and with an
            appropriate title element.
            </summary>
            <param name="title">
            the title of the Document
            </param>
            <remarks>
            See http://www.whatwg.org/html/#creating-documents
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.AddEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            This method allows the registration of event listeners on the event target.
            If an EventListener is added to an EventTarget while it is processing an
            event, it will not be triggered by the current actions but may be
            triggered during a later stage of event flow, such as the bubbling phase.
            
            If multiple identical EventListeners are registered on the same
            EventTarget with the same parameters the duplicate instances are
            discarded. They do not cause the EventListener to be called twice
            and since they are discarded they do not need to be removed with the
            removeEventListener method.
            </summary>
            <param name="type">
            The event type for which the user is registering
            </param>
            <param name="listener">
            The listener parameter takes an interface
            implemented by the user which contains the methods
            to be called when the event occurs.
            </param>
            <param name="useCapture">
            If true, useCapture indicates that the user
            wishes to initiate capture. After initiating
            capture, all events of the specified type will be
            dispatched to the registered EventListener before
            being dispatched to any EventTargets beneath them
            in the tree. Events which are bubbling upward
            through the tree will not trigger an
            EventListener designated to use capture.
            </param>
            <param name="wantsUntrusted">
            If false, the listener will not receive any
            untrusted events (see above), if true, the
            listener will receive events whether or not
            they&apos;re trusted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.AddSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            addSystemEventListener() adds an event listener of aType to the system
            group.  Typically, core code should use system group for listening to
            content (i.e., non-chrome) element&apos;s events.  If core code uses
            nsIDOMEventTarget::AddEventListener for a content node, it means
            that the listener cannot listen the event when web content calls
            stopPropagation() of the event.
            </summary>
            <param name="aType">
            An event name you&apos;re going to handle.
            </param>
            <param name="aListener">
            An event listener.
            </param>
            <param name="aUseCapture">
            TRUE if you want to listen the event in capturing
            phase.  Otherwise, FALSE.
            </param>
            <param name="aWantsUntrusted">
            TRUE if you want to handle untrusted events.
            Otherwise, FALSE.
            </param>
            <returns>
            NS_OK if succeed.  Otherwise, NS_ERROR_*.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.RemoveEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            This method allows the removal of event listeners from the event
            target. If an EventListener is removed from an EventTarget while it
            is processing an event, it will not be triggered by the current actions.
            EventListeners can never be invoked after being removed.
            Calling removeEventListener with arguments which do not identify any
            currently registered EventListener on the EventTarget has no effect.
            </summary>
            <param name="type">
            Specifies the event type of the EventListener being
            removed.
            </param>
            <param name="listener">
            The EventListener parameter indicates the
            EventListener to be removed.
            </param>
            <param name="useCapture">
            Specifies whether the EventListener being
            removed was registered as a capturing listener or
            not. If a listener was registered twice, one with
            capture and one without, each must be removed
            separately. Removal of a capturing listener does
            not affect a non-capturing version of the same
            listener, and vice versa.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.RemoveSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            removeSystemEventListener() should be used if you have used
            addSystemEventListener().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.DispatchEvent(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            This method allows the dispatch of events into the implementations
            event model. Events dispatched in this manner will have the same
            capturing and bubbling behavior as events dispatched directly by the
            implementation. The target of the event is the EventTarget on which
            dispatchEvent is called.
            </summary>
            <param name="evt">
            Specifies the event type, behavior, and contextual
            information to be used in processing the event.
            </param>
            <returns>
            Indicates whether any of the listeners which handled the
            event called preventDefault. If preventDefault was called
            the value is false, else the value is true.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            INVALID_STATE_ERR:: Raised if the Event's type was
            not specified by initializing the event before
            dispatchEvent was called. Specification of the Event's
            type as null or an empty string will also trigger this
            exception.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.GetTargetForDOMEvent">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of DOMEvents.
            Usually |this| is returned, but for example global object returns
            the outer object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.GetTargetForEventTargetChain">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of the event and when constructing event target chain.
            Usually |this| is returned, but for example global object returns
            the inner object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.PreHandleEvent(System.IntPtr)">
            <summary>
            Called before the capture phase of the event flow.
            This is used to create the event target chain and implementations
            should set the necessary members of EventChainPreVisitor.
            At least aVisitor.mCanHandle must be set,
            usually also aVisitor.mParentTarget if mCanHandle is PR_TRUE.
            First one tells that this object can handle the aVisitor.mEvent event and
            the latter one is the possible parent object for the event target chain.
            </summary>
            <param name="aVisitor">
            the visitor object which is used to create the
            event target chain for event dispatching.
            </param>
            <remarks>
            See EventDispatcher.h for more documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.WillHandleEvent(System.IntPtr)">
            <summary>
            If EventChainPreVisitor.mWantsWillHandleEvent is set PR_TRUE,
            called just before possible event handlers on this object will be called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.PostHandleEvent(System.IntPtr)">
            <summary>
            Called after the bubble phase of the system event group.
            The default handling of the event should happen here.
            </summary>
            <param name="aVisitor">
            the visitor object which is used during post handling.
            </param>
            <remarks>
            See EventDispatcher.h for documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.DispatchDOMEvent(System.IntPtr,Gecko.Interfaces.nsIDOMEvent,System.IntPtr,System.IntPtr)">
            <summary>
            Dispatch an event.
            </summary>
            <param name="aEvent">
            the event that is being dispatched.
            </param>
            <param name="aDOMEvent">
            the event that is being dispatched, use if you want to
            dispatch nsIDOMEvent, not only WidgetEvent.
            </param>
            <param name="aPresContext">
            the current presentation context, can be nullptr.
            </param>
            <param name="aEventStatus">
            the status returned from the function, can be nullptr.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMDOMRequest.GetContextForEventHandlers(System.Int32@)">
            <summary>
            Get the script context in which the event handlers should be run.
            May return null.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMMouseEvent">
            <summary>
            The nsIDOMMouseEvent interface is the datatype for all mouse events
            in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Events
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMElement">
            <summary>
            The nsIDOMElement interface represents an element in an HTML or
            XML document.
            
            For more information on this interface please see
            http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-element
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetClassListAttribute">
            <summary>
            Returns a DOMTokenList object reflecting the class attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetElementsByClassName(Gecko.nsAStringBase)">
            <summary>
            Retrieve elements matching all classes listed in a
            space-separated string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetChildrenAttribute">
            <summary>
            Returns a live nsIDOMNodeList of the current child elements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetFirstElementChildAttribute">
            <summary>
            Similar as the attributes on nsIDOMNode, but navigates just elements
            rather than all nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetChildElementCountAttribute">
            <summary>
            Returns the number of child nodes that are nsIDOMElements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetClientRects">
            <summary>
            Retrieve a list of rectangles, one for each CSS border-box associated with
            the element. The coordinates are in CSS pixels, and relative to
            the top-left of the document&apos;s viewport, unless the document
            has an SVG foreignobject ancestor, in which case the coordinates are
            relative to the top-left of the content box of the nearest SVG foreignobject
            ancestor. The coordinates are calculated as if every scrollable element
            is scrolled to its default position.
            
            Note: the boxes of overflowing children do not affect these rectangles.
            Note: some elements have empty CSS boxes. Those return empty rectangles,
            but the coordinates may still be meaningful.
            Note: some elements have no CSS boxes (including display:none elements,
            HTML AREA elements, and SVG elements that do not render). Those return
            an empty list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetBoundingClientRect">
            <summary>
            Returns the union of all rectangles in the getClientRects() list. Empty
            rectangles are ignored, except that if all rectangles are empty,
            we return an empty rectangle positioned at the top-left of the first
            rectangle in getClientRects().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetScrollTopAttribute">
            <summary>
            The vertical scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            vertical scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetScrollLeftAttribute">
            <summary>
            The horizontal scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            horizontal scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetScrollWidthAttribute">
            <summary>
            The width of the scrollable area of the element. If the element is not
            scrollable, scrollWidth is equivalent to the offsetWidth.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetScrollHeightAttribute">
            <summary>
            The height of the scrollable area of the element. If the element is not
            scrollable, scrollHeight is equivalent to the offsetHeight.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetClientTopAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s top border.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetClientLeftAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s left border and scrollbar
            if it is present on the left side.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetClientWidthAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this width.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.GetClientHeightAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this height.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.MozMatchesSelector(Gecko.nsAStringBase)">
            <summary>
            Returns whether this element would be selected by the given selector
            string.
            
            See &lt;http://dev.w3.org/2006/webapi/selectors-api2/#matchesselector&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.SetCapture(System.Boolean)">
            <summary>
            Set this during a mousedown event to grab and retarget all mouse events
            to this element until the mouse button is released or releaseCapture is
            called. If retargetToElement is true, then all events are targetted at
            this element. If false, events can also fire at descendants of this
            element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.ReleaseCapture">
            <summary>
            If this element has captured the mouse, release the capture. If another
            element has captured the mouse, this method has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.MozRequestFullScreen">
            <summary>
            Requests that this element be made the full-screen element, as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.MozRequestPointerLock">
            <summary>
            Requests that this element be made the pointer-locked element, as per the DOM
            pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMElement.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMEvent">
            <summary>
            The nsIDOMEvent interface is the primary datatype for all events in
            the Document Object Model.
            
            For more information on this interface please see
            http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html and
            http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the event (case-insensitive). The name must be an XML
            name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetTargetAttribute">
            <summary>
            Used to indicate the EventTarget to which the event was originally
            dispatched.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetCurrentTargetAttribute">
            <summary>
            Used to indicate the EventTarget whose EventListeners are currently
            being processed. This is particularly useful during capturing and
            bubbling.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetEventPhaseAttribute">
            <summary>
            Used to indicate which phase of event flow is currently being
            evaluated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetBubblesAttribute">
            <summary>
            Used to indicate whether or not an event is a bubbling event. If the
            event can bubble the value is true, else the value is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetCancelableAttribute">
            <summary>
            Used to indicate whether or not an event can have its default action
            prevented. If the default action can be prevented the value is true,
            else the value is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetTimeStampAttribute">
            <summary>
            Used to specify the time (in milliseconds relative to the epoch) at
            which the event was created. Due to the fact that some systems may
            not provide this information the value of timeStamp may be not
            available for all events. When not available, a value of 0 will be
            returned. Examples of epoch time are the time of the system start or
            0:0:0 UTC 1st January 1970.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.StopPropagation">
            <summary>
            The stopPropagation method is used prevent further propagation of an
            event during event flow. If this method is called by any
            EventListener the event will cease propagating through the tree. The
            event will complete dispatch to all listeners on the current
            EventTarget before event flow stops. This method may be used during
            any stage of event flow.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.PreventDefault">
            <summary>
            If an event is cancelable, the preventDefault method is used to
            signify that the event is to be canceled, meaning any default action
            normally taken by the implementation as a result of the event will
            not occur. If, during any stage of event flow, the preventDefault
            method is called the event is canceled. Any default action associated
            with the event will not occur. Calling this method for a
            non-cancelable event has no effect. Once preventDefault has been
            called it will remain in effect throughout the remainder of the
            event&apos;s propagation. This method may be used during any stage of
            event flow.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.InitEvent(Gecko.nsAStringBase,System.Boolean,System.Boolean)">
            <summary>
            The initEvent method is used to initialize the value of an Event
            created through the DocumentEvent interface. This method may only be
            called before the Event has been dispatched via the dispatchEvent
            method, though it may be called multiple times during that phase if
            necessary. If called multiple times the final invocation takes
            precedence. If called from a subclass of Event interface only the
            values specified in the initEvent method are modified, all other
            attributes are left unchanged.
            </summary>
            <param name="eventTypeArg">
            Specifies the event type. This type may be
            any event type currently defined in this
            specification or a new event type.. The string
            must be an XML name.
            Any new event type must not begin with any
            upper, lower, or mixed case version of the
            string &quot;DOM&quot;. This prefix is reserved for
            future DOM event sets. It is also strongly
            recommended that third parties adding their
            own events use their own prefix to avoid
            confusion and lessen the probability of
            conflicts with other new events.
            </param>
            <param name="canBubbleArg">
            Specifies whether or not the event can bubble.
            </param>
            <param name="cancelableArg">
            Specifies whether or not the event&apos;s default
            action can be prevented.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetDefaultPreventedAttribute">
            <summary>
            Used to indicate whether preventDefault() has been called for this event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.StopImmediatePropagation">
            <summary>
            Prevents other event listeners from being triggered and,
            unlike Event.stopPropagation() its effect is immediate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetOriginalTargetAttribute">
            <summary>
            The original target of the event, before any retargetings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetExplicitOriginalTargetAttribute">
            <summary>
            The explicit original target of the event.  If the event was retargeted
            for some reason other than an anonymous boundary crossing, this will be set
            to the target before the retargeting occurs.  For example, mouse events
            are retargeted to their parent node when they happen over text nodes (bug
            185889), and in that case .target will show the parent and
            .explicitOriginalTarget will show the text node.
            .explicitOriginalTarget differs from .originalTarget in that it will never
            contain anonymous content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEvent.GetPreventDefault">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMEventListener">
            <summary>
            The nsIDOMEventListener interface is a callback interface for
            listening to events in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Events
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMEventListener.HandleEvent(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            This method is called whenever an event occurs of the type for which
            the EventListener interface was registered.
            </summary>
            <param name="evt">
            The Event contains contextual information about the
            event. It also contains the stopPropagation and
            preventDefault methods which are used in determining the
            event&apos;s flow and default action.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLAnchorElement">
            <summary>
            The nsIDOMHTMLAnchorElement interface is the interface to a [X]HTML
            a element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLAnchorElement.GetTextAttribute(Gecko.nsAStringBase)">
            <summary>
            An alias for the textContent attribute.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLAppletElement">
            <summary>
            The nsIDOMHTMLAppletElement interface is the interface to a [X]HTML
            applet element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLAreaElement">
            <summary>
            The nsIDOMHTMLAreaElement interface is the interface to a [X]HTML
            area element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLBaseElement">
            <summary>
            The nsIDOMHTMLBaseElement interface is the interface to a [X]HTML
            base element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLBodyElement">
            <summary>
            The nsIDOMHTMLBodyElement interface is the interface to a [X]HTML
            body element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLCollection">
            <summary>
            The nsIDOMHTMLCollection interface is an interface to a collection
            of [X]HTML elements.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLDirectoryElement">
            <summary>
            The nsIDOMHTMLDirectoryElement interface is the interface to a
            [X]HTML dir element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.CreateRange">
            <summary>
            Create a range
            </summary>
            <remarks>
            See http://html5.org/specs/dom-range.html#dom-document-createrange
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetDefaultViewAttribute">
            <summary>
            The window associated with this document.
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-defaultview
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetCharacterSetAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-characterset
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetDirAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-dir
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetLocationAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-location
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#document.title
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetReadyStateAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-readystate
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetLastModifiedAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-lastmodified
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetReferrerAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-referrer
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.HasFocus">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-hasfocus
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetActiveElementAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-activeelement
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetElementsByClassName(Gecko.nsAStringBase)">
            <summary>
            Retrieve elements matching all classes listed in a
            space-separated string.
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-getelementsbyclassname
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetStyleSheetsAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-stylesheets
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetPreferredStyleSheetSetAttribute(Gecko.nsAStringBase)">
            <summary>
            This attribute must return the preferred style sheet set as set by the
            author. It is determined from the order of style sheet declarations and
            the Default-Style HTTP headers, as eventually defined elsewhere in the Web
            Apps 1.0 specification. If there is no preferred style sheet set, this
            attribute must return the empty string. The case of this attribute must
            exactly match the case given by the author where the preferred style sheet
            is specified or implied. This attribute must never return null.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-preferredStyleSheetSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetSelectedStyleSheetSetAttribute(Gecko.nsAStringBase)">
            <summary>
            This attribute indicates which style sheet set is in use. This attribute
            is live; changing the disabled attribute on style sheets directly will
            change the value of this attribute.
            
            If all the sheets that are enabled and have a title have the same title
            (by case-sensitive comparisons) then the value of this attribute must be
            exactly equal to the title of the first enabled style sheet with a title
            in the styleSheets list. Otherwise, if style sheets from different sets
            are enabled, then the return value must be null (there is no way to
            determine what the currently selected style sheet set is in those
            conditions). Otherwise, either all style sheets that have a title are
            disabled, or there are no alternate style sheets, and
            selectedStyleSheetSet must return the empty string.
            
            Setting this attribute to the null value must have no effect.
            
            Setting this attribute to a non-null value must call
            enableStyleSheetsForSet() with that value as the function&apos;s argument, and
            set lastStyleSheetSet to that value.
            
            From the DOM&apos;s perspective, all views have the same
            selectedStyleSheetSet. If a UA supports multiple views with different
            selected alternate style sheets, then this attribute (and the StyleSheet
            interface&apos;s disabled attribute) must return and set the value for the
            default view.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-selectedStyleSheetSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetStyleSheetSetsAttribute">
            <summary>
            This must return the live list of the currently available style sheet
            sets. This list is constructed by enumerating all the style sheets for
            this document available to the implementation, in the order they are
            listed in the styleSheets attribute, adding the title of each style sheet
            with a title to the list, avoiding duplicates by dropping titles that
            match (case-sensitively) titles that have already been added to the
            list.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-styleSheetSets
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.EnableStyleSheetsForSet(Gecko.nsAStringBase)">
            <summary>
            Calling this method must change the disabled attribute on each StyleSheet
            object with a title attribute with a length greater than 0 in the
            styleSheets attribute, so that all those whose title matches the name
            argument are enabled, and all others are disabled. Title matches must be
            case-sensitive. Calling this method with the empty string disables all
            alternate and preferred style sheets (but does not change the state of
            persistent style sheets, that is those with no title attribute).
            
            Calling this method with a null value must have no effect.
            
            Style sheets that do not have a title are never affected by this
            method. This method does not change the values of the lastStyleSheetSet or
            preferredStyleSheetSet attributes.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-enableStyleSheetsForSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.ElementFromPoint(System.Single,System.Single)">
            <summary>
            Returns the element from the caller&apos;s document at the given point,
            relative to the upper-left-most point in the (possibly scrolled)
            window or frame.
            
            If the element at the given point belongs to another document (such as
            an iframe&apos;s subdocument), the element in the calling document&apos;s DOM
            (e.g. the iframe) is returned. If the element at the given point is
            anonymous or XBL generated content, such as a textbox&apos;s scrollbars, then
            the first non-anonymous parent element (that is, the textbox) is returned.
            
            This method returns null if either coordinate is negative, or if the
            specified point lies outside the visible bounds of the document.
            
            Callers from XUL documents should wait until the onload event has fired
            before calling this method.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom-view/#dom-document-elementfrompoint
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetContentTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.contentType
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetMozSyntheticDocumentAttribute">
            <summary>
            True if this document is synthetic : stand alone image, video, audio file,
            etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetCurrentScriptAttribute">
            <summary>
            Returns the script element whose script is currently being processed.
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.currentScript
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.ReleaseCapture">
            <summary>
            Release the current mouse capture if it is on an element within this
            document.
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.releaseCapture
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.MozSetImageElement(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Use the given DOM element as the source image of target |-moz-element()|.
            
            This function introduces a new special ID (called &quot;image element ID&quot;),
            which is only used by |-moz-element()|, and associates it with the given
            DOM element.  Image elements ID&apos;s have the higher precedence than general
            HTML id&apos;s, so if |document.mozSetImageElement(&lt;id&gt;, &lt;element&gt;)| is called,
            |-moz-element(#&lt;id&gt;)| uses |&lt;element&gt;| as the source image even if there
            is another element with id attribute = |&lt;id&gt;|.  To unregister an image
            element ID |&lt;id&gt;|, call |document.mozSetImageElement(&lt;id&gt;, null)|.
            
            Example:
            &lt;script&gt;
            canvas = document.createElement(&quot;canvas&quot;);
            canvas.setAttribute(&quot;width&quot;, 100);
            canvas.setAttribute(&quot;height&quot;, 100);
            draw to canvas
            document.mozSetImageElement(&quot;canvasbg&quot;, canvas);
            &lt;/script&gt;
            &lt;div style=&quot;background-image: -moz-element(#canvasbg);&quot;&gt;&lt;/div&gt;
            </summary>
            <param name="aImageElementId">
            an image element ID to associate with
            |aImageElement|
            </param>
            <param name="aImageElement">
            a DOM element to be used as the source image of
            |-moz-element(#aImageElementId)|. If this is null, the function will
            unregister the image element ID |aImageElementId|.
            </param>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.mozSetImageElement
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetMozFullScreenElementAttribute">
            <summary>
            Element which is currently the full-screen element as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.MozCancelFullScreen">
            <summary>
            Causes the document to leave DOM full-screen mode, if it&apos;s in
            full-screen mode, as per the DOM full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetMozFullScreenAttribute">
            <summary>
            Denotes whether this document is in DOM full-screen mode, as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetMozFullScreenEnabledAttribute">
            <summary>
            Denotes whether the full-screen-api.enabled is true, no windowed
            plugins are present, and all ancestor documents have the
            allowfullscreen attribute set.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetMozPointerLockElementAttribute">
            <summary>
            The element to which the mouse pointer is locked, if any, as per the
            DOM pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.CaretPositionFromPoint(System.Single,System.Single)">
            <summary>
            Retrieve the location of the caret position (DOM node and character
            offset within that node), given a point.
            </summary>
            <param name="x">
            Horizontal point at which to determine the caret position, in
            page coordinates.
            </param>
            <param name="y">
            Vertical point at which to determine the caret position, in
            page coordinates.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.MozExitPointerLock">
            <summary>
            Exit pointer is lock if locked, as per the DOM pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetHiddenAttribute">
            <summary>
            Visibility API implementation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetCompatModeAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns &quot;BackCompat&quot; if we&apos;re in quirks mode or &quot;CSS1Compat&quot; if we&apos;re in
            strict mode.  (XML documents are always in strict mode.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.GetDesignModeAttribute(Gecko.nsAStringBase)">
            <summary>
            Midas additions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLDocument.CaptureEvents">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLElement">
            <summary>
            The nsIDOMHTMLElement interface is the primary [X]HTML element
            interface. It represents a single [X]HTML element in the document
            tree.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetClassListAttribute">
            <summary>
            Returns a DOMTokenList object reflecting the class attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetElementsByClassName(Gecko.nsAStringBase)">
            <summary>
            Retrieve elements matching all classes listed in a
            space-separated string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetChildrenAttribute">
            <summary>
            Returns a live nsIDOMNodeList of the current child elements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetFirstElementChildAttribute">
            <summary>
            Similar as the attributes on nsIDOMNode, but navigates just elements
            rather than all nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetChildElementCountAttribute">
            <summary>
            Returns the number of child nodes that are nsIDOMElements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetClientRects">
            <summary>
            Retrieve a list of rectangles, one for each CSS border-box associated with
            the element. The coordinates are in CSS pixels, and relative to
            the top-left of the document&apos;s viewport, unless the document
            has an SVG foreignobject ancestor, in which case the coordinates are
            relative to the top-left of the content box of the nearest SVG foreignobject
            ancestor. The coordinates are calculated as if every scrollable element
            is scrolled to its default position.
            
            Note: the boxes of overflowing children do not affect these rectangles.
            Note: some elements have empty CSS boxes. Those return empty rectangles,
            but the coordinates may still be meaningful.
            Note: some elements have no CSS boxes (including display:none elements,
            HTML AREA elements, and SVG elements that do not render). Those return
            an empty list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetBoundingClientRect">
            <summary>
            Returns the union of all rectangles in the getClientRects() list. Empty
            rectangles are ignored, except that if all rectangles are empty,
            we return an empty rectangle positioned at the top-left of the first
            rectangle in getClientRects().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetScrollTopAttribute">
            <summary>
            The vertical scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            vertical scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetScrollLeftAttribute">
            <summary>
            The horizontal scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            horizontal scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetScrollWidthAttribute">
            <summary>
            The width of the scrollable area of the element. If the element is not
            scrollable, scrollWidth is equivalent to the offsetWidth.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetScrollHeightAttribute">
            <summary>
            The height of the scrollable area of the element. If the element is not
            scrollable, scrollHeight is equivalent to the offsetHeight.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetClientTopAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s top border.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetClientLeftAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s left border and scrollbar
            if it is present on the left side.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetClientWidthAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this width.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetClientHeightAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this height.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.MozMatchesSelector(Gecko.nsAStringBase)">
            <summary>
            Returns whether this element would be selected by the given selector
            string.
            
            See &lt;http://dev.w3.org/2006/webapi/selectors-api2/#matchesselector&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.SetCapture(System.Boolean)">
            <summary>
            Set this during a mousedown event to grab and retarget all mouse events
            to this element until the mouse button is released or releaseCapture is
            called. If retargetToElement is true, then all events are targetted at
            this element. If false, events can also fire at descendants of this
            element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.ReleaseCapture">
            <summary>
            If this element has captured the mouse, release the capture. If another
            element has captured the mouse, this method has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.MozRequestFullScreen">
            <summary>
            Requests that this element be made the full-screen element, as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.MozRequestPointerLock">
            <summary>
            Requests that this element be made the pointer-locked element, as per the DOM
            pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLElement.GetHiddenAttribute">
            <summary>
            Indicates that the element is not yet, or is no longer, relevant.
            
            See &lt;http://www.whatwg.org/html5/#the-hidden-attribute&gt;.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLEmbedElement">
            <summary>
            The nsIDOMHTMLEmbedElement interface is the interface to a [X]HTML
            embed element.
            
            For more information on this interface, please see
            http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLFormElement">
            <summary>
            The nsIDOMHTMLFormElement interface is the interface to a [X]HTML
            form element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLFrameElement">
            <summary>
            The nsIDOMHTMLFrameElement interface is the interface to a [X]HTML
            frame element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLFrameSetElement">
            <summary>
            The nsIDOMHTMLFrameSetElement interface is the interface to a
            [X]HTML frameset element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLHeadElement">
            <summary>
            The nsIDOMHTMLHeadElement interface is the interface to a [X]HTML
            head element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLHRElement">
            <summary>
            The nsIDOMHTMLHRElement interface is the interface to a [X]HTML hr
            element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLHtmlElement">
            <summary>
            The nsIDOMHTMLHtmlElement interface is the interface to a [X]HTML
            html element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLIFrameElement">
            <summary>
            The nsIDOMHTMLIFrameElement interface is the interface to a [X]HTML
            iframe element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLImageElement">
            <summary>
            The nsIDOMHTMLImageElement interface is the interface to a [X]HTML
            img element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLInputElement">
            <summary>
            The nsIDOMHTMLInputElement interface is the interface to a [X]HTML
            input element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLInputElement.MozIsTextField(System.Boolean)">
            <summary>
            This non-standard method prevents to check types manually to know if the
            element is a text field.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLLabelElement">
            <summary>
            The nsIDOMHTMLLabelElement interface is the interface to a [X]HTML
            label element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLLIElement">
            <summary>
            The nsIDOMHTMLLIElement interface is the interface to a [X]HTML li
            element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLLinkElement">
            <summary>
            The nsIDOMHTMLLinkElement interface is the interface to a [X]HTML
            link element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLMapElement">
            <summary>
            The nsIDOMHTMLMapElement interface is the interface to a [X]HTML
            map element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLMediaElement.OnVisibilityChange(System.IntPtr)">
            <summary>
            Called by layout to announce when the frame associated with this content
            has changed its visibility state.
            </summary>
            <param name="aOldVisibility">
            The previous visibility state.
            </param>
            <param name="aNewVisibility">
            The new visibility state.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLMenuElement">
            <summary>
            The nsIDOMHTMLMenuElement interface is the interface to a [X]HTML
            menu element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLMenuItemElement">
            <summary>
            The nsIDOMHTMLMenuItemElement interface is the interface to a HTML
            &lt;menuitem&gt; element.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLMetaElement">
            <summary>
            The nsIDOMHTMLMetaElement interface is the interface to a [X]HTML
            meta element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLOListElement">
            <summary>
            The nsIDOMHTMLOListElement interface is the interface to a [X]HTML
            ol element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLOptGroupElement">
            <summary>
            The nsIDOMHTMLOptGroupElement interface is the interface to a
            [X]HTML optgroup element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLOptionElement">
            <summary>
            The nsIDOMHTMLOptionElement interface is the interface to a [X]HTML
            option element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLOptionsCollection">
            <summary>
            The nsIDOMHTMLOptionsCollection interface is the interface to a
            collection of [X]HTML option elements.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLParagraphElement">
            <summary>
            The nsIDOMHTMLParagraphElement interface is the interface to a
            [X]HTML p element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLPreElement">
            <summary>
            The nsIDOMHTMLPreElement interface is the interface to a [X]HTML
            pre element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLQuoteElement">
            <summary>
            The nsIDOMHTMLQuoteElement interface is the interface to a [X]HTML
            q element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLScriptElement">
            <summary>
            The nsIDOMHTMLScriptElement interface is the interface to a [X]HTML
            script element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLSourceElement">
            <summary>
            The nsIDOMHTMLSourceElement interface is the interface to a HTML
            &lt;source&gt; element.
            
            For more information on this interface, please see
            http://www.whatwg.org/specs/web-apps/current-work/#source
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLStyleElement">
            <summary>
            The nsIDOMHTMLStyleElement interface is the interface to a [X]HTML
            style element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLTableCellElement">
            <summary>
            The nsIDOMHTMLTableCellElement interface is the interface to a
            [X]HTML td element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLTextAreaElement">
            <summary>
            The nsIDOMHTMLTextAreaElement interface is the interface to a
            [X]HTML textarea element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMHTMLTextAreaElement.GetWrapAttribute(Gecko.nsAStringBase)">
            <summary>
            Reflects the wrap content attribute. Possible values are &quot;soft&quot;, &quot;hard&quot; and
            &quot;off&quot;. &quot;soft&quot; is the default.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMHTMLUListElement">
            <summary>
            The nsIDOMHTMLUListElement interface is the interface to a [X]HTML
            ul element.
            
            This interface is trying to follow the DOM Level 2 HTML specification:
            http://www.w3.org/TR/DOM-Level-2-HTML
            
            with changes from the work-in-progress WHATWG HTML specification:
            http://www.whatwg.org/specs/web-apps/current-work
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMLocation.GetHashAttribute(Gecko.nsAStringBase)">
            <summary>
            These properties refer to the current location of the document.
            This will correspond to the URI shown in the location bar, which
            can be different from the documentURI of the document.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMMediaList">
            <summary>
            The nsIDOMMediaList interface is a datatype for a list of media
            types in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMModalContentWindow.GetDialogArgumentsAttribute">
            <summary>
            Readonly attribute containing an arbitrary JS value passed by the
            code that opened the modal content window. A security check is
            performed at access time, per spec.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMModalContentWindow.GetReturnValueAttribute">
            <summary>
            The return value that will be returned to the function that
            opened the modal content window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMMozBrowserFrame.GetMozbrowserAttribute">
            <summary>
            &lt;iframe&gt; element may have the mozbrowser attribute.
            
            The mozbrowser attribute has no effect unless the &lt;iframe&gt; element is
            contained in a document privileged to create browser frames.
            
            An &lt;iframe&gt; element in a privileged document with the mozbrowser attribute
            emits a variety of events when various things happen inside the frame.
            
            This will be documented eventually, but for more information at the moment,
            see dom/browser-element/BrowserElement{Child,Parent}.js.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMMozNamedAttrMap">
            <summary>
            This is a temporary, non-standard interface, to ease the transition to a
            world where Attr no longer inherits from Node.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMNodeList">
            <summary>
            The nsIDOMNodeList interface provides the abstraction of an ordered
            collection of nodes, without defining or constraining how this collection
            is implemented.
            The items in the list are accessible via an integral index, starting from 0.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMNotifyPaintEvent">
            <summary>
            The nsIDOMNotifyPaintEvent interface is used for the MozDOMAfterPaint
            event, which fires at a window when painting has happened in
            that window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMNotifyPaintEvent.GetClientRectsAttribute">
            <summary>
            Get a list of rectangles which are affected. The rectangles are in CSS pixels
            relative to the viewport origin.
            If the caller is not trusted (e.g., regular Web content) then only painting
            caused by the current document is reported; in particular, painting in subdocuments
            is not reported.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMNotifyPaintEvent.GetBoundingClientRectAttribute">
            <summary>
            Get the bounding box of the rectangles which are affected. The rectangle
            is in CSS pixels relative to the viewport origin.
            If the caller is not trusted (e.g., regular Web content) then only painting
            caused by the current document is reported; in particular, painting in subdocuments
            is not reported.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMNSEditableElement">
            <summary>
            This interface is implemented by elements which have inner editable content,
            such as HTML input and textarea.
            
            Please make sure to update the HTMLTextAreaElement and HTMLInputElement
            Web IDL interfaces to mirror this interface when changing it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.GetMozItemsAttribute">
            <summary>
            Get the list of dynamically-managed entries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.MozHasItem(Gecko.nsAStringBase)">
            <summary>
            Check that an entry exists in the list of dynamically-managed entries.
            </summary>
            <param name="uri">
            The resource to check.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.GetMozLengthAttribute">
            <summary>
            Get the number of dynamically-managed entries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.MozItem(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Get the URI of a dynamically-managed entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.MozAdd(Gecko.nsAStringBase)">
            <summary>
            Add an item to the list of dynamically-managed entries.  The resource
            will be fetched into the application cache.
            </summary>
            <param name="uri">
            The resource to add.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.MozRemove(Gecko.nsAStringBase)">
            <summary>
            Remove an item from the list of dynamically-managed entries.  If this
            was the last reference to a URI in the application cache, the cache
            entry will be removed.
            </summary>
            <param name="uri">
            The resource to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.Update">
            <summary>
            Begin the application update process on the associated application cache.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMOfflineResourceList.SwapCache">
            <summary>
            Swap in the newest version of the application cache, or disassociate
            from the cache if the cache group is obsolete.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMPaintRequest">
            <summary>
            These objects are exposed by the MozDOMAfterPaint event. Each one represents
            a request to repaint a rectangle that was generated by the browser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMPaintRequest.GetClientRectAttribute">
            <summary>
            The client rect where invalidation was triggered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMPaintRequest.GetReasonAttribute(Gecko.nsAStringBase)">
            <summary>
            The reason for the request, as a string. If an empty string, then we don&apos;t know
            the reason (this is common). Reasons include &quot;scroll repaint&quot;, meaning that we
            needed to repaint the rectangle due to scrolling, and &quot;scroll copy&quot;, meaning
            that we updated the rectangle due to scrolling but instead of painting
            manually, we were able to do a copy from another area of the screen.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMParser">
            <summary>
            The nsIDOMParser interface is a non-SAX interface that can be used
            to parse a string or byte stream containing XML or HTML content
            to a DOM document. Parsing is always synchronous - a document is always
            returned from the parsing methods. This is as opposed to loading and
            parsing with the XMLHttpRequest interface, which can be used for
            asynchronous (callback-based) loading.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMParser.ParseFromString(System.String,System.String)">
            <summary>
            The string passed in is parsed into a DOM document.
            </summary>
            <param name="str">
            The UTF16 string to be parsed
            </param>
            <param name="contentType">
            The content type of the string (see parseFromStream)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMParser.ParseFromBuffer(System.Byte[],System.UInt32,System.String)">
            <summary>
            The buffer is parsed into a DOM document.
            The charset is determined from the xml entity decl.
            </summary>
            <param name="buf">
            The octet array data to be parsed
            </param>
            <param name="bufLen">
            Length (in bytes) of the data
            </param>
            <param name="contentType">
            The content type of the data (see parseFromStream)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMParser.ParseFromStream(Gecko.Interfaces.nsIInputStream,System.String,System.Int32,System.String)">
            <summary>
            The byte stream passed in is parsed into a DOM document.
            
            Not accessible from web content.
            </summary>
            <param name="stream">
            The byte stream whose contents are parsed
            </param>
            <param name="charset">
            The character set that was used to encode the byte
            stream. NULL if not specified.
            </param>
            <param name="contentLength">
            The number of bytes in the input stream.
            </param>
            <param name="contentType">
            The content type of the string - either text/xml,
            application/xml, or application/xhtml+xml.
            Must not be NULL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMParser.Init(Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.IntPtr)">
            <summary>
            Initialize the principal and document and base URIs that the parser should
            use for documents it creates.  If this is not called, then a null
            principal and its URI will be used.  When creating a DOMParser via the JS
            constructor, this will be called automatically.  This method may only be
            called once.  If this method fails, all following parse attempts will
            fail.
            </summary>
            <param name="principal">
            The principal to use for documents we create.
            If this is null, a codebase principal will be created
            based on documentURI; in that case the documentURI must
            be non-null.
            </param>
            <param name="documentURI">
            The documentURI to use for the documents we create.
            If null, the principal&apos;s URI will be used;
            in that case, the principal must be non-null and its
            URI must be non-null.
            </param>
            <param name="baseURI">
            The baseURI to use for the documents we create.
            If null, the documentURI will be used.
            </param>
            <param name="scriptObject">
            The object from which the context for event handling
            can be got.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMProcessingInstruction">
            <summary>
            The nsIDOMProcessingInstruction interface represents a
            &quot;processing instruction&quot;, used in XML as a way to keep processor-specific
            information in the text of the document.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Core/ and
            http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMRange">
            <summary>
            The nsIDOMRange interface is an interface to a DOM range object.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Traversal-Range
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMRange.IntersectsNode(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Returns whether the range intersects node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.AddEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            This method allows the registration of event listeners on the event target.
            If an EventListener is added to an EventTarget while it is processing an
            event, it will not be triggered by the current actions but may be
            triggered during a later stage of event flow, such as the bubbling phase.
            
            If multiple identical EventListeners are registered on the same
            EventTarget with the same parameters the duplicate instances are
            discarded. They do not cause the EventListener to be called twice
            and since they are discarded they do not need to be removed with the
            removeEventListener method.
            </summary>
            <param name="type">
            The event type for which the user is registering
            </param>
            <param name="listener">
            The listener parameter takes an interface
            implemented by the user which contains the methods
            to be called when the event occurs.
            </param>
            <param name="useCapture">
            If true, useCapture indicates that the user
            wishes to initiate capture. After initiating
            capture, all events of the specified type will be
            dispatched to the registered EventListener before
            being dispatched to any EventTargets beneath them
            in the tree. Events which are bubbling upward
            through the tree will not trigger an
            EventListener designated to use capture.
            </param>
            <param name="wantsUntrusted">
            If false, the listener will not receive any
            untrusted events (see above), if true, the
            listener will receive events whether or not
            they&apos;re trusted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.AddSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            addSystemEventListener() adds an event listener of aType to the system
            group.  Typically, core code should use system group for listening to
            content (i.e., non-chrome) element&apos;s events.  If core code uses
            nsIDOMEventTarget::AddEventListener for a content node, it means
            that the listener cannot listen the event when web content calls
            stopPropagation() of the event.
            </summary>
            <param name="aType">
            An event name you&apos;re going to handle.
            </param>
            <param name="aListener">
            An event listener.
            </param>
            <param name="aUseCapture">
            TRUE if you want to listen the event in capturing
            phase.  Otherwise, FALSE.
            </param>
            <param name="aWantsUntrusted">
            TRUE if you want to handle untrusted events.
            Otherwise, FALSE.
            </param>
            <returns>
            NS_OK if succeed.  Otherwise, NS_ERROR_*.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.RemoveEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            This method allows the removal of event listeners from the event
            target. If an EventListener is removed from an EventTarget while it
            is processing an event, it will not be triggered by the current actions.
            EventListeners can never be invoked after being removed.
            Calling removeEventListener with arguments which do not identify any
            currently registered EventListener on the EventTarget has no effect.
            </summary>
            <param name="type">
            Specifies the event type of the EventListener being
            removed.
            </param>
            <param name="listener">
            The EventListener parameter indicates the
            EventListener to be removed.
            </param>
            <param name="useCapture">
            Specifies whether the EventListener being
            removed was registered as a capturing listener or
            not. If a listener was registered twice, one with
            capture and one without, each must be removed
            separately. Removal of a capturing listener does
            not affect a non-capturing version of the same
            listener, and vice versa.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.RemoveSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            removeSystemEventListener() should be used if you have used
            addSystemEventListener().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.DispatchEvent(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            This method allows the dispatch of events into the implementations
            event model. Events dispatched in this manner will have the same
            capturing and bubbling behavior as events dispatched directly by the
            implementation. The target of the event is the EventTarget on which
            dispatchEvent is called.
            </summary>
            <param name="evt">
            Specifies the event type, behavior, and contextual
            information to be used in processing the event.
            </param>
            <returns>
            Indicates whether any of the listeners which handled the
            event called preventDefault. If preventDefault was called
            the value is false, else the value is true.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            INVALID_STATE_ERR:: Raised if the Event's type was
            not specified by initializing the event before
            dispatchEvent was called. Specification of the Event's
            type as null or an empty string will also trigger this
            exception.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.GetTargetForDOMEvent">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of DOMEvents.
            Usually |this| is returned, but for example global object returns
            the outer object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.GetTargetForEventTargetChain">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of the event and when constructing event target chain.
            Usually |this| is returned, but for example global object returns
            the inner object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.PreHandleEvent(System.IntPtr)">
            <summary>
            Called before the capture phase of the event flow.
            This is used to create the event target chain and implementations
            should set the necessary members of EventChainPreVisitor.
            At least aVisitor.mCanHandle must be set,
            usually also aVisitor.mParentTarget if mCanHandle is PR_TRUE.
            First one tells that this object can handle the aVisitor.mEvent event and
            the latter one is the possible parent object for the event target chain.
            </summary>
            <param name="aVisitor">
            the visitor object which is used to create the
            event target chain for event dispatching.
            </param>
            <remarks>
            See EventDispatcher.h for more documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.WillHandleEvent(System.IntPtr)">
            <summary>
            If EventChainPreVisitor.mWantsWillHandleEvent is set PR_TRUE,
            called just before possible event handlers on this object will be called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.PostHandleEvent(System.IntPtr)">
            <summary>
            Called after the bubble phase of the system event group.
            The default handling of the event should happen here.
            </summary>
            <param name="aVisitor">
            the visitor object which is used during post handling.
            </param>
            <remarks>
            See EventDispatcher.h for documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.DispatchDOMEvent(System.IntPtr,Gecko.Interfaces.nsIDOMEvent,System.IntPtr,System.IntPtr)">
            <summary>
            Dispatch an event.
            </summary>
            <param name="aEvent">
            the event that is being dispatched.
            </param>
            <param name="aDOMEvent">
            the event that is being dispatched, use if you want to
            dispatch nsIDOMEvent, not only WidgetEvent.
            </param>
            <param name="aPresContext">
            the current presentation context, can be nullptr.
            </param>
            <param name="aEventStatus">
            the status returned from the function, can be nullptr.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.GetContextForEventHandlers(System.Int32@)">
            <summary>
            Get the script context in which the event handlers should be run.
            May return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMScreen.GetMozOrientationAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the current screen orientation.
            Can be: landscape-primary, landscape-secondary,
            portrait-primary or portrait-secondary.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMSerializer">
            <summary>
            The nsIDOMSerializer interface is really a placeholder till the W3C
            DOM Working Group defines a mechanism for serializing DOM nodes.
            An instance of this interface can be used to serialize a DOM document
            or any DOM subtree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSerializer.SerializeToString(Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase)">
            <summary>
            The subtree rooted by the specified element is serialized to
            a string.
            </summary>
            <param name="root">
            The root of the subtree to be serialized. This could
            be any node, including a Document.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSerializer.SerializeToStream(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIOutputStream,Gecko.nsAUTF8StringBase)">
            <summary>
            The subtree rooted by the specified element is serialized to
            a byte stream using the character set specified.
            </summary>
            <param name="root">
            The root of the subtree to be serialized. This could
            be any node, including a Document.
            </param>
            <param name="stream">
            The byte stream to which the subtree is serialized.
            </param>
            <param name="charset">
            The name of the character set to use for the encoding
            to a byte stream.  If this string is empty and root is
            a document, the document&apos;s character set will be used.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMSimpleGestureEvent">
            <summary>
            The nsIDOMSimpleGestureEvent interface is the datatype for all
            Mozilla-specific simple gesture events in the Document Object Model.
            
            The following events are generated:
            
            MozSwipeGestureMayStart - Generated when the user starts a horizontal
            swipe across the input device, but before we know whether the user
            is actually scrolling past a scroll edge.
            This event asks two questions:  Should a swipe really be started, and
            in which directions should the user be able to swipe?  The first
            question is answered by event listeners by calling or not calling
            preventDefault() on the event.  Since a swipe swallows all scroll
            events, the default action of the swipe start event is *not* to
            start a swipe. Call preventDefault() if you want a swipe to be
            started. Doing so won&apos;t necessarily result in a swipe being started,
            it only communicates an intention. Once Gecko determines whether a
            swipe should actually be started, it will send a MozSwipeGestureStart
            event.
            The second question (swipe-able directions) is answered in the
            allowedDirections field.
            
            MozSwipeGestureStart - This event signals the start of a swipe.
            It guarantees a future MozSwipeGestureEnd event that will signal
            the end of a swipe animation.
            
            MozSwipeGestureUpdate - Generated periodically while the user is
            continuing a horizontal swipe gesture.  The &quot;delta&quot; value represents
            the current absolute gesture amount.  This event may even be sent
            after a MozSwipeGesture event fired in order to allow for fluid
            completion of a swipe animation.  The direction value is meaningless
            on swipe update events.
            
            MozSwipeGestureEnd - Generated when the swipe animation is completed.
            
            MozSwipeGesture - Generated when the user releases a swipe across
            across the input device.  This event signals that the actual swipe
            operation is complete, even though the animation might not be finished
            yet.  This event can be sent without accompanying start / update / end
            events, and it can also be handled on its own if the consumer doesn&apos;t
            want to handle swipe animation events.
            Only the direction value has any significance, the delta value is
            meaningless.
            
            MozMagnifyGestureStart - Generated when the user begins the magnify
            (&quot;pinch&quot;) gesture.  The &quot;delta&quot; value represents the initial
            movement.
            
            MozMagnifyGestureUpdate - Generated periodically while the user is
            continuing the magnify (&quot;pinch&quot;) gesture.  The &quot;delta&quot; value
            represents the movement since the last MozMagnifyGestureStart or
            MozMagnifyGestureUpdate event.
            
            MozMagnifyGesture - Generated when the user has completed the
            magnify (&quot;pinch&quot;) gesture.  If you only want to receive a single
            event when the magnify gesture is complete, you only need to hook
            this event and can safely ignore the MozMagnifyGestureStart and the
            MozMagnifyGestureUpdate events. The &quot;delta&quot; value is the cumulative
            amount represented by the user&apos;s gesture.
            
            MozRotateGestureStart - Generated when the user begins the rotation
            gesture.  The &quot;delta&quot; value represents the initial rotation.
            
            MozRotateGestureUpdate - Generated periodically while the user is
            continuing the rotation gesture.  The &quot;delta&quot; value represents the
            rotation since the last MozRotateGestureStart or
            MozRotateGestureUpdate event.
            
            MozRotateGesture - Generated when the user has completed the
            rotation gesture.  If you only want to receive a single event when
            the rotation gesture is complete, you only need to hook this event
            and can safely ignore the MozRotateGestureStart and the
            MozRotateGestureUpdate events.  The &quot;delta&quot; value is the cumulative
            amount of rotation represented by the user&apos;s gesture.
            
            MozTapGesture - Generated when the user executes a two finger
            tap gesture on the input device. Client coordinates contain the
            center point of the tap.
            (XXX On OS X, only Lion (10.7) and up)
            
            MozPressTapGesture - Generated when the user executes a press
            and tap two finger gesture (first finger down, second finger down,
            second finger up, first finger up) on the input device.
            Client coordinates contain the center pivot point of the action.
            (XXX Not implemented on Mac)
            
            MozEdgeUIGesture - Generated when the user swipes the display to
            invoke edge ui.
            (XXX Win8 only)
            
            Default behavior:
            
            Some operating systems support default behaviors for gesture events
            when they are not handled by the application. Consumers should
            use event.preventDefault() to prevent default behavior when
            consuming events.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMStorage">
            <summary>
            Empty interface for client side storage. DOMStorage is now ported to WebIDL
            but we still need an XPConnect interface for casting.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMStorageManager">
            <summary>
            General purpose interface that has two implementations, for localStorage
            resp. sessionStorage with &quot;@mozilla.org/dom/localStorage-manager;1&quot; resp.
            &quot;@mozilla.org/dom/sessionStorage-manager;1&quot; contract IDs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMStorageManager.PrecacheStorage(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            This starts async preloading of a storage cache for scope
            defined by the principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMStorageManager.CreateStorage(Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsIPrincipal,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Returns instance of DOM storage object for given principal.
            A new object is always returned and it is ensured there is
            a storage for the scope created.
            </summary>
            <param name="aWindow">
            The parent window.
            </param>
            <param name="aPrincipal">
            Principal to bound storage to.
            </param>
            <param name="aDocumentURI">
            URL of the demanding document, used for DOM storage event only.
            </param>
            <param name="aPrivate">
            Whether the demanding document is running in Private Browsing mode or not.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMStorageManager.GetStorage(Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsIPrincipal,System.Boolean)">
            <summary>
            Returns instance of DOM storage object for given principal.
            If there is no storage managed for the scope, then null is returned and
            no object is created.  Otherwise, an object (new) for the existing storage
            scope is returned.
            </summary>
            <param name="aWindow">
            The parent window.
            </param>
            <param name="aPrincipal">
            Principal to bound storage to.
            </param>
            <param name="aPrivate">
            Whether the demanding document is running in Private Browsing mode or not.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMStorageManager.CloneStorage(Gecko.Interfaces.nsIDOMStorage)">
            <summary>
            Clones given storage into this storage manager.
            </summary>
            <param name="aStorageToCloneFrom">
            The storage to copy all items from into this manager.  Manager will then
            return a new and independent object that contains snapshot of data from
            the moment this method was called.  Modification to this new object will
            not affect the original storage content we cloned from and vice versa.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMStorageManager.CheckStorage(Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIDOMStorage)">
            <summary>
            Returns true if the storage belongs to the given principal and is managed
            (i.e. has been created and is cached) by this storage manager.
            </summary>
            <param name="aPrincipal">
            Principal to check the storage against.
            </param>
            <param name="aStorage">
            The storage object to examine.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMStorageManager.GetLocalStorageForPrincipal(Gecko.Interfaces.nsIPrincipal,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMStyleSheetList">
            <summary>
            The nsIDOMStyleSheetList interface is a datatype for a style sheet
            list in the Document Object Model.
            
            For more information on this interface please see
            http://www.w3.org/TR/DOM-Level-2-Style
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetClassListAttribute">
            <summary>
            Returns a DOMTokenList object reflecting the class attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetElementsByClassName(Gecko.nsAStringBase)">
            <summary>
            Retrieve elements matching all classes listed in a
            space-separated string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetChildrenAttribute">
            <summary>
            Returns a live nsIDOMNodeList of the current child elements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetFirstElementChildAttribute">
            <summary>
            Similar as the attributes on nsIDOMNode, but navigates just elements
            rather than all nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetChildElementCountAttribute">
            <summary>
            Returns the number of child nodes that are nsIDOMElements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetClientRects">
            <summary>
            Retrieve a list of rectangles, one for each CSS border-box associated with
            the element. The coordinates are in CSS pixels, and relative to
            the top-left of the document&apos;s viewport, unless the document
            has an SVG foreignobject ancestor, in which case the coordinates are
            relative to the top-left of the content box of the nearest SVG foreignobject
            ancestor. The coordinates are calculated as if every scrollable element
            is scrolled to its default position.
            
            Note: the boxes of overflowing children do not affect these rectangles.
            Note: some elements have empty CSS boxes. Those return empty rectangles,
            but the coordinates may still be meaningful.
            Note: some elements have no CSS boxes (including display:none elements,
            HTML AREA elements, and SVG elements that do not render). Those return
            an empty list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetBoundingClientRect">
            <summary>
            Returns the union of all rectangles in the getClientRects() list. Empty
            rectangles are ignored, except that if all rectangles are empty,
            we return an empty rectangle positioned at the top-left of the first
            rectangle in getClientRects().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetScrollTopAttribute">
            <summary>
            The vertical scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            vertical scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetScrollLeftAttribute">
            <summary>
            The horizontal scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            horizontal scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetScrollWidthAttribute">
            <summary>
            The width of the scrollable area of the element. If the element is not
            scrollable, scrollWidth is equivalent to the offsetWidth.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetScrollHeightAttribute">
            <summary>
            The height of the scrollable area of the element. If the element is not
            scrollable, scrollHeight is equivalent to the offsetHeight.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetClientTopAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s top border.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetClientLeftAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s left border and scrollbar
            if it is present on the left side.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetClientWidthAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this width.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.GetClientHeightAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this height.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.MozMatchesSelector(Gecko.nsAStringBase)">
            <summary>
            Returns whether this element would be selected by the given selector
            string.
            
            See &lt;http://dev.w3.org/2006/webapi/selectors-api2/#matchesselector&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.SetCapture(System.Boolean)">
            <summary>
            Set this during a mousedown event to grab and retarget all mouse events
            to this element until the mouse button is released or releaseCapture is
            called. If retargetToElement is true, then all events are targetted at
            this element. If false, events can also fire at descendants of this
            element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.ReleaseCapture">
            <summary>
            If this element has captured the mouse, release the capture. If another
            element has captured the mouse, this method has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.MozRequestFullScreen">
            <summary>
            Requests that this element be made the full-screen element, as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.MozRequestPointerLock">
            <summary>
            Requests that this element be made the pointer-locked element, as per the DOM
            pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMSVGElement.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMTimeEvent">
            <summary>
            The SMIL TimeEvent interface.
            
            For more information please refer to:
            http://www.w3.org/TR/SMIL/smil-timing.html#Events-TimeEvent
            http://www.w3.org/TR/SVG/animate.html#InterfaceTimeEvent
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the event (case-insensitive). The name must be an XML
            name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetTargetAttribute">
            <summary>
            Used to indicate the EventTarget to which the event was originally
            dispatched.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetCurrentTargetAttribute">
            <summary>
            Used to indicate the EventTarget whose EventListeners are currently
            being processed. This is particularly useful during capturing and
            bubbling.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetEventPhaseAttribute">
            <summary>
            Used to indicate which phase of event flow is currently being
            evaluated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetBubblesAttribute">
            <summary>
            Used to indicate whether or not an event is a bubbling event. If the
            event can bubble the value is true, else the value is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetCancelableAttribute">
            <summary>
            Used to indicate whether or not an event can have its default action
            prevented. If the default action can be prevented the value is true,
            else the value is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetTimeStampAttribute">
            <summary>
            Used to specify the time (in milliseconds relative to the epoch) at
            which the event was created. Due to the fact that some systems may
            not provide this information the value of timeStamp may be not
            available for all events. When not available, a value of 0 will be
            returned. Examples of epoch time are the time of the system start or
            0:0:0 UTC 1st January 1970.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.StopPropagation">
            <summary>
            The stopPropagation method is used prevent further propagation of an
            event during event flow. If this method is called by any
            EventListener the event will cease propagating through the tree. The
            event will complete dispatch to all listeners on the current
            EventTarget before event flow stops. This method may be used during
            any stage of event flow.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.PreventDefault">
            <summary>
            If an event is cancelable, the preventDefault method is used to
            signify that the event is to be canceled, meaning any default action
            normally taken by the implementation as a result of the event will
            not occur. If, during any stage of event flow, the preventDefault
            method is called the event is canceled. Any default action associated
            with the event will not occur. Calling this method for a
            non-cancelable event has no effect. Once preventDefault has been
            called it will remain in effect throughout the remainder of the
            event&apos;s propagation. This method may be used during any stage of
            event flow.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.InitEvent(Gecko.nsAStringBase,System.Boolean,System.Boolean)">
            <summary>
            The initEvent method is used to initialize the value of an Event
            created through the DocumentEvent interface. This method may only be
            called before the Event has been dispatched via the dispatchEvent
            method, though it may be called multiple times during that phase if
            necessary. If called multiple times the final invocation takes
            precedence. If called from a subclass of Event interface only the
            values specified in the initEvent method are modified, all other
            attributes are left unchanged.
            </summary>
            <param name="eventTypeArg">
            Specifies the event type. This type may be
            any event type currently defined in this
            specification or a new event type.. The string
            must be an XML name.
            Any new event type must not begin with any
            upper, lower, or mixed case version of the
            string &quot;DOM&quot;. This prefix is reserved for
            future DOM event sets. It is also strongly
            recommended that third parties adding their
            own events use their own prefix to avoid
            confusion and lessen the probability of
            conflicts with other new events.
            </param>
            <param name="canBubbleArg">
            Specifies whether or not the event can bubble.
            </param>
            <param name="cancelableArg">
            Specifies whether or not the event&apos;s default
            action can be prevented.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetDefaultPreventedAttribute">
            <summary>
            Used to indicate whether preventDefault() has been called for this event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.StopImmediatePropagation">
            <summary>
            Prevents other event listeners from being triggered and,
            unlike Event.stopPropagation() its effect is immediate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetOriginalTargetAttribute">
            <summary>
            The original target of the event, before any retargetings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetExplicitOriginalTargetAttribute">
            <summary>
            The explicit original target of the event.  If the event was retargeted
            for some reason other than an anonymous boundary crossing, this will be set
            to the target before the retargeting occurs.  For example, mouse events
            are retargeted to their parent node when they happen over text nodes (bug
            185889), and in that case .target will show the parent and
            .explicitOriginalTarget will show the text node.
            .explicitOriginalTarget differs from .originalTarget in that it will never
            contain anonymous content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMTimeEvent.GetPreventDefault">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMTransitionEvent">
            <summary>
            Transition events are defined in:
            http://www.w3.org/TR/css3-transitions/#transition-events-
            http://dev.w3.org/csswg/css3-transitions/#transition-events-
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMValidityState">
            <summary>
            The nsIDOMValidityState interface is the interface to a ValidityState
            object which represents the validity states of an element.
            
            For more information on this interface please see
            http://www.whatwg.org/specs/web-apps/current-work/#validitystate
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMMozWakeLockListener.Callback(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            The callback will be called when a lock topic changes its lock
            state.
            
            Possible states are:
            
            - &quot;unlocked&quot; - nobody holds the wake lock.
            
            - &quot;locked-foreground&quot; - at least one window holds the wake lock,
            and it is visible.
            
            - &quot;locked-background&quot; - at least one window holds the wake lock,
            but all of them are hidden.
            </summary>
            <param name="aTopic">
            The resource name related to the wake lock.
            </param>
            <param name="aState">
            The wake lock state
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMWindow">
            <summary>
            Empty interface for compatibility with older versions.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMWindowInternal">
            <summary>
            Empty interface for compatibility with older versions.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMWindowCollection">
            <summary>
            The nsIDOMWindowCollection interface is an interface for a
            collection of DOM window objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowCollection.GetLengthAttribute">
            <summary>
            Accessor for the number of windows in this collection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowCollection.Item(System.UInt32)">
            <summary>
            Method for accessing an item in this collection by index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowCollection.NamedItem(Gecko.nsAStringBase)">
            <summary>
            Method for accessing an item in this collection by window name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetImageAnimationModeAttribute">
            <summary>
            Image animation mode of the window. When this attribute&apos;s value
            is changed, the implementation should set all images in the window
            to the given value. That is, when set to kDontAnimMode, all images
            will stop animating. The attribute&apos;s value must be one of the
            animationMode values from imgIContainer.
            </summary>
            <remarks>
            See imgIContainer
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetDocCharsetIsForcedAttribute">
            <summary>
            Whether the charset of the window&apos;s current document has been forced by
            the user.
            Cannot be accessed from unprivileged context (not content-accessible)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetCursorType">
            <summary>
            Get current cursor type from this window
            </summary>
            <returns>
            the current value of nsCursor
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetDocumentMetadata(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Function to get metadata associated with the window&apos;s current document
            </summary>
            <param name="aName">
            the name of the metadata.  This should be all lowercase.
            </param>
            <returns>
            the value of the metadata, or the empty string if it&apos;s not set
            
            Will throw a DOM security error if called without chrome privileges.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.Redraw(System.UInt32)">
            <summary>
            Force an immediate redraw of this window.  The parameter specifies
            the number of times to redraw, and the return value is the length,
            in milliseconds, that the redraws took.  If aCount is not specified
            or is 0, it is taken to be 1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.UpdateLayerTree">
            <summary>
            Force a synchronous layer transaction for this window if necessary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetLastTransactionIdAttribute">
            <summary>
            Get the last used layer transaction id for this window&apos;s refresh driver.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetViewportInfo(System.UInt32,System.UInt32,System.Double@,System.Boolean@,System.Double@,System.Double@,System.UInt32@,System.UInt32@,System.Boolean@)">
            <summary>
            Information retrieved from the &lt;meta name=&quot;viewport&quot;&gt; tag.
            See nsContentUtils::GetViewportInfo for more information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetContentViewerSize(System.UInt32@,System.UInt32@)">
            <summary>
            Information about the window size in device pixels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetDisplayPortForElement(System.Single,System.Single,System.Single,System.Single,Gecko.Interfaces.nsIDOMElement,System.UInt32)">
            <summary>
            For any scrollable element, this allows you to override the
            visible region and draw more than what is visible, which is
            useful for asynchronous drawing. The &quot;displayport&quot; will be
            &lt;xPx, yPx, widthPx, heightPx&gt; in units of CSS pixels,
            regardless of the size of the enclosing container.  This
            will *not* trigger reflow.
            
            For the root scroll area, pass in the root document element.
            For scrollable elements, pass in the container element (for
            instance, the element with overflow: scroll).
            
            &lt;x, y&gt; is relative to the top-left of what would normally be
            the visible area of the element. This means that the pixels
            rendered to the displayport take scrolling into account,
            for example.
            
            It&apos;s legal to set a displayport that extends beyond the overflow
            area in any direction (left/right/top/bottom).
            
            It&apos;s also legal to set a displayport that extends beyond the
            area&apos;s bounds.  No pixels are rendered outside the area bounds.
            
            The caller of this method must have chrome privileges.
            
            Calling this will always force a recomposite, so it should be
            avoided if at all possible. Client code should do checks before
            calling this so that duplicate sets are not made with the same
            displayport.
            
            aPriority is recorded along with the displayport rectangle. If this
            method is called with a lower priority than the current priority, the
            call is ignored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetDisplayPortMarginsForElement(System.Single,System.Single,System.Single,System.Single,Gecko.Interfaces.nsIDOMElement,System.UInt32)">
            <summary>
            An alternate way to represent a displayport rect as a set of margins and a
            base rect to apply those margins to. A consumer of pixels may ask for as
            many extra pixels as it would like in each direction. Layout then sets
            the base rect to the &quot;visible rect&quot; of the element, which is just the
            subrect of the element that is drawn (it does not take in account content
            covering the element).
            
            If both a displayport rect and displayport margins with corresponding base
            rect are set with the same priority then the margins will take precendence.
            
            Specifying an alignment value will ensure that after the base rect has
            been expanded by the displayport margins, it will be further expanded so
            that each edge is located at a multiple of the &quot;alignment&quot; value.
            
            Note that both the margin values and alignment are treated as values in
            ScreenPixels. Refer to layout/base/Units.h for a description of this unit.
            The base rect values are in app units.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetResolution(System.Single)">
            <summary>
            Get/set the resolution at which rescalable web content is drawn.
            
            Setting a new resolution does *not* trigger reflow.  This API is
            entirely separate from textZoom and fullZoom; a resolution scale
            can be applied together with both textZoom and fullZoom.
            
            The effect of this API is for gfx code to allocate more or fewer
            pixels for rescalable content by a factor of |resolution| in
            both dimensions.  The scale at which the content is displayed does
            not change; if that is desired, use setResolutionAndScaleTo() instead.
            
            The caller of this method must have chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetResolutionAndScaleTo(System.Single)">
            <summary>
            Similar to setResolution(), but also scales the content by the
            amount of the resolution, so that it is displayed at a
            correspondingly larger or smaller size, without the need for
            the caller to set an additional transform.
            
            This can be used to implement a non-reflowing scale-zoom, e.g.
            for pinch-zoom on mobile platforms.
            
            The caller of this method must have chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetRestoreResolution(System.Single,System.UInt32,System.UInt32)">
            <summary>
            Set a resolution on the presShell which is the &quot;restored&quot; from history.
            The display dimensions are compared to their current values and used
            to scale the resolution value if necessary, e.g. if the device was
            rotated between saving and restoring of the session data.
            This resolution should be used when painting for the first time. Calling
            this too late may have no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIsResolutionSetAttribute">
            <summary>
            Whether the resolution has been set by the user.
            This gives a way to check whether the provided resolution is the default
            value or restored from a previous session.
            
            Can only be accessed with chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIsFirstPaintAttribute">
            <summary>
            Whether the next paint should be flagged as the first paint for a document.
            This gives a way to track the next paint that occurs after the flag is
            set. The flag gets cleared after the next paint.
            
            Can only be accessed with chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendMouseEvent(Gecko.nsAStringBase,System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Boolean,System.Single,System.UInt16,System.Boolean,System.Boolean,System.Int32,System.Byte)">
            <summary>
            Synthesize a mouse event. The event types supported are:
            mousedown, mouseup, mousemove, mouseover, mouseout, mousecancel,
            contextmenu, MozMouseHittest
            
            Events are sent in coordinates offset by aX and aY from the window.
            
            Note that additional events may be fired as a result of this call. For
            instance, typically a click event will be fired as a result of a
            mousedown and mouseup in sequence.
            
            Normally at this level of events, the mouseover and mouseout events are
            only fired when the window is entered or exited. For inter-element
            mouseover and mouseout events, a movemove event fired on the new element
            should be sufficient to generate the correct over and out events as well.
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            
            The event is dispatched via the toplevel window, so it could go to any
            window under the toplevel window, in some cases it could never reach this
            window at all.
            
            NOTE: mousecancel is used to represent the vanishing of an input device
            such as a pen leaving its digitizer by synthesizing a WidgetMouseEvent,
            whose mMessage is eMouseExitFromWidget and mExitFrom is
            WidgetMouseEvent::eTopLevel.
            </summary>
            <param name="aType">
            event type
            </param>
            <param name="aX">
            x offset in CSS pixels
            </param>
            <param name="aY">
            y offset in CSS pixels
            </param>
            <param name="aButton">
            button to synthesize
            </param>
            <param name="aClickCount">
            number of clicks that have been performed
            </param>
            <param name="aModifiers">
            modifiers pressed, using constants defined as MODIFIER_
            </param>
            <param name="aIgnoreRootScrollFrame">
            whether the event should ignore viewport bounds
            during dispatch
            </param>
            <param name="aPressure">
            touch input pressure: 0.0 -&gt; 1.0
            </param>
            <param name="aInputSourceArg">
            input source, see nsIDOMMouseEvent for values,
            defaults to mouse input.
            </param>
            <param name="aIsDOMEventSynthesized">
            controls nsIDOMEvent.isSynthesized value
            that helps identifying test related events,
            defaults to true
            </param>
            <param name="aIsWidgetEventSynthesized">
            controls WidgetMouseEvent.mReason value
            defaults to false (WidgetMouseEvent::eReal)
            
            returns true if the page called prevent default on this event
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendPointerEvent(Gecko.nsAStringBase,System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Boolean,System.Single,System.UInt16,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            Synthesize a pointer event. The event types supported are:
            pointerdown, pointerup, pointermove, pointerover, pointerout
            
            Events are sent in coordinates offset by aX and aY from the window.
            
            Note that additional events may be fired as a result of this call. For
            instance, typically a click event will be fired as a result of a
            mousedown and mouseup in sequence.
            
            Normally at this level of events, the pointerover and pointerout events are
            only fired when the window is entered or exited. For inter-element
            pointerover and pointerout events, a movemove event fired on the new element
            should be sufficient to generate the correct over and out events as well.
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            
            The event is dispatched via the toplevel window, so it could go to any
            window under the toplevel window, in some cases it could never reach this
            window at all.
            </summary>
            <param name="aType">
            event type
            </param>
            <param name="aX">
            x offset in CSS pixels
            </param>
            <param name="aY">
            y offset in CSS pixels
            </param>
            <param name="aButton">
            button to synthesize
            </param>
            <param name="aClickCount">
            number of clicks that have been performed
            </param>
            <param name="aModifiers">
            modifiers pressed, using constants defined as MODIFIER_
            </param>
            <param name="aIgnoreRootScrollFrame">
            whether the event should ignore viewport bounds
            during dispatch
            </param>
            <param name="aPressure">
            touch input pressure: 0.0 -&gt; 1.0
            </param>
            <param name="aInputSourceArg">
            input source, see nsIDOMMouseEvent for values,
            defaults to mouse input.
            </param>
            <param name="aPointerId">
            A unique identifier for the pointer causing the event. default is 0
            </param>
            <param name="aWidth">
            The width (magnitude on the X axis), default is 0
            </param>
            <param name="aHeight">
            The height (magnitude on the Y axis), default is 0
            </param>
            <param name="aTilt">
            The plane angle between the Y-Z plane
            and the plane containing both the transducer (e.g. pen stylus) axis and the Y axis. default is 0
            </param>
            <param name="aTiltX">
            The plane angle between the X-Z plane
            and the plane containing both the transducer (e.g. pen stylus) axis and the X axis. default is 0
            </param>
            <param name="aIsPrimary">
            Indicates if the pointer represents the primary pointer of this pointer type.
            </param>
            <param name="aIsSynthesized">
            controls nsIDOMEvent.isSynthesized value
            that helps identifying test related events,
            defaults to true
            
            returns true if the page called prevent default on this event
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendTouchEvent(Gecko.nsAStringBase,System.UInt32[],System.Int32[],System.Int32[],System.UInt32[],System.UInt32[],System.Single[],System.Single[],System.UInt32,System.Int32,System.Boolean)">
            <summary>
            Synthesize a touch event. The event types supported are:
            touchstart, touchend, touchmove, and touchcancel
            
            Events are sent in coordinates offset by aX and aY from the window.
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            
            The event is dispatched via the toplevel window, so it could go to any
            window under the toplevel window, in some cases it could never reach this
            window at all.
            </summary>
            <param name="aType">
            event type
            </param>
            <param name="xs">
            array of offsets in CSS pixels for each touch to be sent
            </param>
            <param name="ys">
            array of offsets in CSS pixels for each touch to be sent
            </param>
            <param name="rxs">
            array of radii in CSS pixels for each touch to be sent
            </param>
            <param name="rys">
            array of radii in CSS pixels for each touch to be sent
            </param>
            <param name="rotationAngles">
            array of angles in degrees for each touch to be sent
            </param>
            <param name="forces">
            array of forces (floats from 0 to 1) for each touch to be sent
            </param>
            <param name="count">
            number of touches in this set
            </param>
            <param name="aModifiers">
            modifiers pressed, using constants defined as MODIFIER_
            </param>
            <param name="aIgnoreRootScrollFrame">
            whether the event should ignore viewport bounds
            during dispatch
            
            returns true if the page called prevent default on this touch event
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendMouseEventToWindow(Gecko.nsAStringBase,System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Boolean,System.Single,System.UInt16,System.Boolean,System.Boolean,System.Int32,System.Byte)">
            <summary>
            The same as sendMouseEvent but ensures that the event is dispatched to
            this DOM window or one of its children.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendPointerEventToWindow(Gecko.nsAStringBase,System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Boolean,System.Single,System.UInt16,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            The same as sendPointerEvent but ensures that the event
            is dispatched to this DOM window or one of its children.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendTouchEventToWindow(Gecko.nsAStringBase,System.UInt32[],System.Int32[],System.Int32[],System.UInt32[],System.UInt32[],System.Single[],System.Single[],System.UInt32,System.Int32,System.Boolean)">
            <summary>
            The same as sendTouchEvent but ensures that the event is dispatched to
            this DOM window or one of its children.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendNativeKeyEvent(System.Int32,System.Int32,System.Int32,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIObserver)">
            <summary>
            See nsIWidget::SynthesizeNativeKeyEvent
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            
            When you use this for tests, use the constants defined in NativeKeyCodes.js
            
            NOTE: The synthesized native event will be fired asynchronously, and upon
            completion the observer, if provided, will be notified with a &quot;keyevent&quot;
            topic.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendNativeMouseEvent(System.Int32,System.Int32,System.Int32,System.Int32,Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIObserver)">
            <summary>
            See nsIWidget::SynthesizeNativeMouseEvent
            
            Will be called on the widget that contains aElement.
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            
            NOTE: The synthesized native event will be fired asynchronously, and upon
            completion the observer, if provided, will be notified with a &quot;mouseevent&quot;
            topic.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendNativeMouseMove(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIObserver)">
            <summary>
            See nsIWidget::SynthesizeNativeMouseMove and sendNativeMouseEvent
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendNativeMouseScrollEvent(System.Int32,System.Int32,System.UInt32,System.Double,System.Double,System.Double,System.UInt32,System.UInt32,Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIObserver)">
            <summary>
            See nsIWidget::SynthesizeNativeMouseScrollEvent
            
            Will be called on the widget that contains aElement.
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            
            NOTE: The synthesized native event will be fired asynchronously, and upon
            completion the observer, if provided, will be notified with a
            &quot;mousescrollevent&quot; topic.
            </summary>
            <param name="aNativeMessage">
            On Windows:  WM_MOUSEWHEEL (0x020A), WM_MOUSEHWHEEL(0x020E),
            WM_VSCROLL (0x0115) or WM_HSCROLL (0x114).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendNativeTouchPoint(System.UInt32,System.UInt32,System.Int32,System.Int32,System.Double,System.UInt32,Gecko.Interfaces.nsIObserver)">
            <summary>
            Create a new or update an existing touch point on the digitizer.
            To trigger os level gestures, individual touch points should
            transition through a complete set of touch states which should be
            sent as individual calls. For example:
            tap - msg1:TOUCH_CONTACT, msg2:TOUCH_REMOVE
            drag - msg1-n:TOUCH_CONTACT (moving), msgn+1:TOUCH_REMOVE
            hover drag - msg1-n:TOUCH_HOVER (moving), msgn+1:TOUCH_REMOVE
            
            Widget support: Windows 8.0+, Winrt/Win32. Gonk supports CONTACT, REMOVE,
            and CANCEL but no HOVER. Other widgets will throw.
            
            NOTE: The synthesized native event will be fired asynchronously, and upon
            completion the observer, if provided, will be notified with a &quot;touchpoint&quot;
            topic.
            </summary>
            <param name="aPointerId">
            The touch point id to create or update.
            </param>
            <param name="aTouchState">
            one or more of the touch states listed above
            </param>
            <param name="aScreenX,">
            aScreenY screen coords of this event
            </param>
            <param name="aPressure">
            0.0 -&gt; 1.0 float val indicating pressure
            </param>
            <param name="aOrientation">
            0 -&gt; 359 degree value indicating the
            orientation of the pointer. Use 90 for normal taps.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendNativeTouchTap(System.Int32,System.Int32,System.Boolean,Gecko.Interfaces.nsIObserver)">
            <summary>
            Simulates native touch based taps on the input digitizer. Events
            triggered by this call are injected at the os level. Events do not
            bypass widget level input processing and as such can be used to
            test widget event logic and async pan-zoom controller functionality.
            Cannot be accessed from an unprivileged context.
            
            Long taps (based on the aLongTap parameter) will be completed
            asynchrnously after the call returns. Long tap delay is based on
            the ui.click_hold_context_menus.delay pref or 1500 msec if pref
            is not set.
            
            Widget support: Windows 8.0+, Winrt/Win32. Other widgets will
            throw.
            
            NOTE: The synthesized native event will be fired asynchronously, and upon
            completion the observer, if provided, will be notified, with a &quot;touchtap&quot;
            topic.
            </summary>
            <param name="aScreenX,">
            aScreenY screen coords of this event
            </param>
            <param name="aLongTap">
            true if the tap should be long, false for a short
            tap.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ClearNativeTouchSequence(Gecko.Interfaces.nsIObserver)">
            <summary>
            Cancel any existing touch points or long tap delays. Calling this is safe
            even if you&apos;re sure there aren&apos;t any pointers recorded. You should call
            this when tests shut down to reset the digitizer driver. Not doing so can
            leave the digitizer in an undetermined state which can screw up subsequent
            tests and native input.
            
            NOTE: The synthesized native event will be fired asynchronously, and upon
            completion the observer, if provided, will be notified with a &quot;cleartouch&quot;
            topic.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ActivateNativeMenuItemAt(Gecko.nsAStringBase)">
            <summary>
            See nsIWidget::ActivateNativeMenuItemAt
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ForceUpdateNativeMenuAt(Gecko.nsAStringBase)">
            <summary>
            See nsIWidget::ForceUpdateNativeMenuAt
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetSelectionAsPlaintext(Gecko.nsAStringBase)">
            <summary>
            Returns the current selection as plaintext. Note that the result may be
            different from the result of sendQueryContentEvent(QUERY_SELECTED_TEXT).
            This result is computed by native API with transferable data. In other
            words, when the OS treats the selection as plaintext, it treats current
            selection as this result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.Focus(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Focus the element aElement. The element should be in the same document
            that the window is displaying. Pass null to blur the element, if any,
            that currently has focus, and focus the document.
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            </summary>
            <param name="aElement">
            the element to focus
            
            Do not use this method. Just use element.focus if available or
            nsIFocusManager::SetFocus instead.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GarbageCollect(Gecko.Interfaces.nsICycleCollectorListener,System.Int32)">
            <summary>
            Force a garbage collection followed by a cycle collection.
            
            Will throw a DOM security error if called without chrome privileges in
            non-debug builds. Available to all callers in debug builds.
            </summary>
            <param name="aListener">
            listener that receives information about the CC graph
            (see @mozilla.org/cycle-collector-logger;1 for a logger
            component)
            </param>
            <param name="aExtraForgetSkippableCalls">
            indicates how many times
            nsCycleCollector_forgetSkippable will
            be called before running cycle collection.
            -1 prevents the default
            nsCycleCollector_forgetSkippable call
            which happens after garbage collection.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.CycleCollect(Gecko.Interfaces.nsICycleCollectorListener,System.Int32)">
            <summary>
            Force a cycle collection without garbage collection.
            
            Will throw a DOM security error if called without chrome privileges in
            non-debug builds. Available to all callers in debug builds.
            </summary>
            <param name="aListener">
            listener that receives information about the CC graph
            (see @mozilla.org/cycle-collector-logger;1 for a logger
            component)
            </param>
            <param name="aExtraForgetSkippableCalls">
            indicates how many times
            nsCycleCollector_forgetSkippable will
            be called before running cycle collection.
            -1 prevents the default
            nsCycleCollector_forgetSkippable call
            which happens after garbage collection.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RunNextCollectorTimer">
            <summary>
            Trigger whichever GC or CC timer is currently active and waiting to fire.
            Don&apos;t do this too much for initiating heavy actions, like the start of a IGC.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendSimpleGestureEvent(Gecko.nsAStringBase,System.Single,System.Single,System.UInt32,System.Double,System.Int32,System.UInt32)">
            <summary>
            Synthesize a simple gesture event for a window. The event types
            supported are: MozSwipeGestureMayStart, MozSwipeGestureStart,
            MozSwipeGestureUpdate, MozSwipeGestureEnd, MozSwipeGesture,
            MozMagnifyGestureStart, MozMagnifyGestureUpdate, MozMagnifyGesture,
            MozRotateGestureStart, MozRotateGestureUpdate, MozRotateGesture,
            MozPressTapGesture, MozTapGesture, and MozEdgeUIGesture.
            
            Cannot be accessed from unprivileged context (not
            content-accessible) Will throw a DOM security error if called
            without chrome privileges.
            </summary>
            <param name="aType">
            event type
            </param>
            <param name="aX">
            x offset in CSS pixels
            </param>
            <param name="aY">
            y offset in CSS pixels
            </param>
            <param name="aDirection">
            direction, using constants defined in nsIDOMSimpleGestureEvent
            </param>
            <param name="aDelta">
            amount of magnification or rotation for magnify and rotation events
            </param>
            <param name="aModifiers">
            modifiers pressed, using constants defined in nsIDOMNSEvent
            </param>
            <param name="aClickCount">
            For tap gestures, the number of taps.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ElementFromPoint(System.Single,System.Single,System.Boolean,System.Boolean)">
            <summary>
            Retrieve the element at point aX, aY in the window&apos;s document.
            </summary>
            <param name="aIgnoreRootScrollFrame">
            whether or not to ignore the root scroll
            frame when retrieving the element. If false, this method returns
            null for coordinates outside of the viewport.
            </param>
            <param name="aFlushLayout">
            flushes layout if true. Otherwise, no flush occurs.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.NodesFromRect(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean,System.Boolean)">
            <summary>
            Retrieve all nodes that intersect a rect in the window&apos;s document.
            </summary>
            <param name="aX">
            x reference for the rectangle in CSS pixels
            </param>
            <param name="aY">
            y reference for the rectangle in CSS pixels
            </param>
            <param name="aTopSize">
            How much to expand up the rectangle
            </param>
            <param name="aRightSize">
            How much to expand right the rectangle
            </param>
            <param name="aBottomSize">
            How much to expand down the rectangle
            </param>
            <param name="aLeftSize">
            How much to expand left the rectangle
            </param>
            <param name="aIgnoreRootScrollFrame">
            whether or not to ignore the root scroll
            frame when retrieving the element. If false, this method returns
            null for coordinates outside of the viewport.
            </param>
            <param name="aFlushLayout">
            flushes layout if true. Otherwise, no flush occurs.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetTranslationNodes(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Get a list of nodes that have meaningful textual content to
            be translated. The implementation of this algorithm is in flux
            as we experiment and refine which approach works best.
            
            This method requires chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.CompareCanvases(Gecko.Interfaces.nsIDOMHTMLCanvasElement,Gecko.Interfaces.nsIDOMHTMLCanvasElement,System.UInt32@)">
            <summary>
            Compare the two canvases, returning the number of differing pixels and
            the maximum difference in a channel.  This will throw an error if
            the dimensions of the two canvases are different.
            
            This method requires chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIsMozAfterPaintPendingAttribute">
            <summary>
            Returns true if a MozAfterPaint event has been queued but not yet
            fired.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SuppressEventHandling(System.Boolean)">
            <summary>
            Suppresses/unsuppresses user initiated event handling in window&apos;s document
            and subdocuments.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.DisableNonTestMouseEvents(System.Boolean)">
            <summary>
            Disable or enable non synthetic test mouse events on *all* windows.
            
            Cannot be accessed from unprivileged context (not content-accessible).
            Will throw a DOM security error if called without chrome privileges.
            </summary>
            <param name="aDisable">
            If true, disable all non synthetic test mouse events
            on all windows.  Otherwise, enable them.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetScrollXY(System.Boolean,System.Int32@,System.Int32@)">
            <summary>
            Returns the scroll position of the window&apos;s currently loaded document.
            </summary>
            <param name="aFlushLayout">
            flushes layout if true. Otherwise, no flush occurs.
            </param>
            <remarks>
            See nsIDOMWindow::scrollX/Y
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetScrollXYFloat(System.Boolean,System.Single@,System.Single@)">
            <summary>
            Returns the scroll position of the window&apos;s currently loaded document.
            </summary>
            <param name="aFlushLayout">
            flushes layout if true. Otherwise, no flush occurs.
            </param>
            <remarks>
            See nsIDOMWindow::scrollX/Y
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetScrollbarSize(System.Boolean,System.Int32@,System.Int32@)">
            <summary>
            Returns the scrollbar width of the window&apos;s scroll frame.
            </summary>
            <param name="aFlushLayout">
            flushes layout if true. Otherwise, no flush occurs.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetBoundsWithoutFlushing(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Returns the given element&apos;s bounds without flushing pending layout changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetRootBounds">
            <summary>
            Returns the bounds of the window&apos;s currently loaded document. This will
            generally be (0, 0, pageWidth, pageHeight) but in some cases (e.g. RTL
            documents) may have a negative left value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIMEIsOpenAttribute">
            <summary>
            Get IME open state. TRUE means &apos;Open&apos;, otherwise, &apos;Close&apos;.
            This property works only when IMEEnabled is IME_STATUS_ENABLED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIMEStatusAttribute">
            <summary>
            Get IME status, see above IME_STATUS_* definitions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetScreenPixelsPerCSSPixelAttribute">
            <summary>
            Get the number of screen pixels per CSS pixel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFullZoomAttribute">
            <summary>
            Get the current zoom factor.
            This is _approximately_ the same as nsIContentViewer.fullZoom,
            but takes into account Gecko&apos;s quantization of the zoom factor, which is
            implemented by adjusting the (integer) number of appUnits per devPixel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.DispatchDOMEventViaPresShell(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMEvent,System.Boolean)">
            <summary>
            Dispatches aEvent via the nsIPresShell object of the window&apos;s document.
            The event is dispatched to aTarget, which should be an object
            which implements nsIContent interface (#element, #text, etc).
            
            Cannot be accessed from unprivileged context (not
            content-accessible) Will throw a DOM security error if called
            without chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.DispatchEventToChromeOnly(Gecko.Interfaces.nsIDOMEventTarget,Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            Sets WidgetEvent::mFlags::mOnlyChromeDispatch to true to ensure that
            the event is propagated only to chrome.
            Event&apos;s .target property will be aTarget.
            Returns the same value as what EventTarget.dispatchEvent does.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetClassName(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Returns the real classname (possibly of the mostly-transparent security
            wrapper) of aObj.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendContentCommandEvent(Gecko.nsAStringBase,Gecko.Interfaces.nsITransferable)">
            <summary>
            Generate a content command event.
            
            Cannot be accessed from unprivileged context (not content-accessible)
            Will throw a DOM security error if called without chrome privileges.
            </summary>
            <param name="aType">
            Type of command content event to send.  Can be one of &quot;cut&quot;,
            &quot;copy&quot;, &quot;paste&quot;, &quot;delete&quot;, &quot;undo&quot;, &quot;redo&quot;, or &quot;pasteTransferable&quot;.
            </param>
            <param name="aTransferable">
            an instance of nsITransferable when aType is
            &quot;pasteTransferable&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendQueryContentEvent(System.UInt32,System.Int64,System.UInt32,System.Int32,System.Int32,System.UInt32)">
            <summary>
            Synthesize a query content event. Note that the result value returned here
            is in LayoutDevice pixels rather than CSS pixels.
            </summary>
            <param name="aType">
            One of the following const values.  And see also each comment
            for the other parameters and the result.
            </param>
            <param name="aAdditionalFlags">
            See the description of QUERY_CONTENT_FLAG_*.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RemoteFrameFullscreenChanged(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Called when the remote child frame has changed its fullscreen state,
            when entering fullscreen, and when the origin which is fullscreen changes.
            aFrameElement is the iframe element which contains the child-process
            fullscreen document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RemoteFrameFullscreenReverted">
            <summary>
            Called when the remote frame has popped all fullscreen elements off its
            stack, so that the operation can complete on the parent side.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.HandleFullscreenRequests">
            <summary>
            Calls the document to handle any pending fullscreen requests.
            It is called when the parent document has entered fullscreen, and
            we want to put the current document into fullscreen as well.
            The return value indicates whether there is any fullscreen request
            handled by this call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ExitFullscreen">
            <summary>
            Called when the child frame has fully exit fullscreen, so that the parent
            process can also fully exit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SendSelectionSetEvent(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Synthesize a selection set event to the window.
            
            This sets the selection as the specified information.
            </summary>
            <param name="aOffset">
            The caret offset of the selection start.
            </param>
            <param name="aLength">
            The length of the selection.  If this is too long, the
            extra length is ignored.
            </param>
            <param name="aAdditionalFlags">
            See the description of SELECTION_SET_FLAG_*.
            </param>
            <returns>
            True, if succeeded.  Otherwise, false.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SelectAtPoint(System.Single,System.Single,System.UInt32)">
            <summary>
            Select content at a client point based on a selection behavior if the
            underlying content is selectable. Selection will accumulate with any
            existing selection, callers should clear selection prior if needed.
            May fire selection changed events. Calls nsFrame&apos;s SelectByTypeAtPoint.
            </summary>
            <param name="aX,">
            aY The selection point in client coordinates.
            </param>
            <param name="aSelectType">
            The selection behavior requested.
            </param>
            <returns>
            True if a selection occured, false otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetVisitedDependentComputedStyle(Gecko.Interfaces.nsIDOMElement,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Perform the equivalent of:
            window.getComputedStyle(aElement, aPseudoElement).
            getPropertyValue(aPropertyName)
            except that, when the link whose presence in history is allowed to
            influence aElement&apos;s style is visited, get the value the property
            would have if allowed all properties to change as a result of
            :visited selectors (except for cases where getComputedStyle uses
            data from the frame).
            
            This is easier to implement than adding our property restrictions
            to this API, and is sufficient for the present testing
            requirements (which are essentially testing &apos;color&apos;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetOuterWindowIDAttribute">
            <summary>
            Get the id of the outer window of this window.  This will never throw.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetCurrentInnerWindowIDAttribute">
            <summary>
            Get the id of the current inner window of this window.  If there
            is no current inner window, throws NS_ERROR_NOT_AVAILABLE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.EnterModalState">
            <summary>
            Put the window into a state where scripts are frozen and events
            suppressed, for use when the window has launched a modal prompt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.LeaveModalState">
            <summary>
            Resume normal window state, where scripts can run and events are
            delivered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.IsInModalState">
            <summary>
            Is the window is in a modal state? [See enterModalState()]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetDesktopModeViewport(System.Boolean)">
            <summary>
            Request set internal desktopMode flag change.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SuspendTimeouts">
            <summary>
            Suspend/resume timeouts on this window and its descendant windows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetLayerManagerTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            What type of layer manager the widget associated with this window is
            using. &quot;Basic&quot; is unaccelerated; other types are accelerated. Throws an
            error if there is no widget associated with this window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetLayerManagerRemoteAttribute">
            <summary>
            True if the layer manager for the widget associated with this window is
            forwarding layers to a remote compositor, false otherwise. Throws an
            error if there is no widget associated with this window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetSupportsHardwareH264DecodingAttribute">
            <summary>
            Returns a Promise that will be resolved with a string once the capabilities
            of the h264 decoder have been determined.
            Success does not mean that all h264 video decoding will be done
            in hardware.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetCurrentAudioBackendAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the current audio backend as a free-form string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.StartFrameTimeRecording(System.UInt32@)">
            <summary>
            Returns a handle which represents current recording start position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.StopFrameTimeRecording(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns number of recorded frames since startIndex was issued,
            and allocates+populates 2 arraye with the recorded data.
            - Allocation is infallible. Should be released even if size is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.BeginTabSwitch">
            <summary>
            Signals that we&apos;re begining to tab switch. This is used by painting code to
            determine total tab switch time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetDisplayDPIAttribute">
            <summary>
            The DPI of the display
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetOuterWindowWithId(System.UInt64)">
            <summary>
            Return the outer window with the given ID, if any.  Can return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetContainerElementAttribute">
            <summary>
            Return this window&apos;s frame element.
            Ignores all chrome/content or mozbrowser boundaries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.AdvanceTimeAndRefresh(System.Int64)">
            <summary>
            advanceTimeAndRefresh allows the caller to take over the refresh
            driver timing for a window.  A call to advanceTimeAndRefresh does
            three things:
            (1) It marks the refresh driver for this presentation so that it
            no longer refreshes on its own, but is instead driven entirely
            by the caller (except for the refresh that happens when a
            document comes out of the bfcache).
            (2) It advances the refresh driver&apos;s current refresh time by the
            argument given.  Negative advances are permitted.
            (3) It does a refresh (i.e., notifies refresh observers) at that
            new time.
            
            Note that this affects other connected docshells of the same type
            in the same docshell tree, such as parent frames.
            
            When callers have completed their use of advanceTimeAndRefresh,
            they must call restoreNormalRefresh.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RestoreNormalRefresh">
            <summary>
            Undoes the effects of advanceTimeAndRefresh.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIsTestControllingRefreshesAttribute">
            <summary>
            Reports whether the current state is test-controlled refreshes
            (see advanceTimeAndRefresh and restoreNormalRefresh above).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetAsyncPanZoomEnabledAttribute">
            <summary>
            Reports whether APZ is enabled on the widget that this window is attached
            to. If there is no widget it will report the default platform value of
            whether or not APZ is enabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetAsyncScrollOffset(Gecko.Interfaces.nsIDOMNode,System.Single,System.Single)">
            <summary>
            Set async scroll offset on an element. The next composite will render
            with that offset if async scrolling is enabled, and then the offset
            will be removed. Only call this while test-controlled refreshes is enabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetAsyncZoom(Gecko.Interfaces.nsIDOMNode,System.Single)">
            <summary>
            Set async zoom value. aRootElement should be the document element of our
            document. The next composite will render with that zoom added to any
            existing zoom if async scrolling is enabled, and then the zoom will be
            removed. Only call this while test-controlled refreshes is enabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.FlushApzRepaints">
            <summary>
            Do a round-trip to the compositor to ensure any pending APZ repaint requests
            get flushed to the main thread. If the function returns true, the flush was
            triggered and an &quot;apz-repaints-flushed&quot; notification will be dispatched via
            the observer service once the flush is complete. If the function returns
            false, an error occurred or a flush is not needed, and the notification
            will not fire. This is intended to be used by test code only!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ZoomToFocusedInput">
            <summary>
            Ask APZ to pan and zoom to the focused input element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ComputeAnimationDistance(Gecko.Interfaces.nsIDOMElement,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Method for testing StyleAnimationValue::ComputeDistance.
            
            Returns the distance between the two values as reported by
            StyleAnimationValue::ComputeDistance for the given element and
            property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.WrapDOMFile(Gecko.Interfaces.nsIFile)">
            <summary>
            Wrap an nsIFile in an DOM File
            Returns a File object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFocusedInputTypeAttribute">
            <summary>
            Get the type of the currently focused html input, if any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetViewId(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Find the view ID for a given element. This is the reverse of
            findElementWithViewId().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.LeafLayersPartitionWindow">
            <summary>
            Checks the layer tree for this window and returns true
            if all layers have transforms that are translations by integers,
            no leaf layers overlap, and the union of the leaf layers is exactly
            the bounds of the window. Always returns true in non-DEBUG builds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.CheckAndClearPaintedState(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Check if any PaintedLayer painting has been done for this element,
            clears the painted flags if they have.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.IsPartOfOpaqueLayer(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Check whether all display items of the primary frame of aElement have been
            assigned to the same single PaintedLayer in the last paint. If that is the
            case, returns whether that PaintedLayer is opaque; if it&apos;s not the case, an
            exception is thrown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.NumberOfAssignedPaintedLayers(Gecko.Interfaces.nsIDOMElement[],System.UInt32)">
            <summary>
            Count the number of different PaintedLayers that the supplied elements have
            been assigned to in the last paint. Throws an exception if any of the
            elements doesn&apos;t have a primary frame, or if that frame&apos;s display items are
            assigned to any other layers than just a single PaintedLayer per element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFileId(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Get internal id of the stored blob, file or file handle.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFilePath(SpiderMonkey.JSVal@,System.IntPtr,Gecko.nsAStringBase)">
            <summary>
            Get internal file path of the stored file or file handle.
            
            TODO: File handle objects are actually not supported at the moment.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFileReferences(Gecko.nsAStringBase,System.Int64,SpiderMonkey.JSVal@,System.Int32@,System.Int32@,System.Int32@,System.IntPtr)">
            <summary>
            Get file ref count info for given database and file id.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.IsIncrementalGCEnabled(System.IntPtr)">
            <summary>
            Return whether incremental GC has been disabled due to a binary add-on.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.StartPCCountProfiling(System.IntPtr)">
            <summary>
            Begin opcode-level profiling of all JavaScript execution in the window&apos;s
            runtime.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.StopPCCountProfiling(System.IntPtr)">
            <summary>
            Stop opcode-level profiling of JavaScript execution in the runtime, and
            collect all counts for use by getPCCount methods.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.PurgePCCounts(System.IntPtr)">
            <summary>
            Purge collected PC counters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetPCCountScriptCount(System.IntPtr)">
            <summary>
            Get the number of scripts with opcode-level profiling information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetPCCountScriptSummary(System.Int32,System.IntPtr,Gecko.nsAStringBase)">
            <summary>
            Get a JSON string for a short summary of a script and the PC counts
            accumulated for it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetPCCountScriptContents(System.Int32,System.IntPtr,Gecko.nsAStringBase)">
            <summary>
            Get a JSON string with full information about a profiled script,
            including the decompilation of the script and placement of decompiled
            operations within it, and PC counts for each operation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetPaintingSuppressedAttribute">
            <summary>
            Returns true if painting is suppressed for this window and false
            otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetPluginsAttribute(System.IntPtr)">
            <summary>
            Returns an array of plugins on the page for opt-in activation.
            
            Cannot be accessed from unprivileged context (not content-accessible).
            Will throw a DOM security error if called without chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetScrollPositionClampingScrollPortSize(System.Single,System.Single)">
            <summary>
            Set the scrollport size for the purposes of clamping scroll positions for
            the root scroll frame of this document to be (aWidth,aHeight) in CSS pixels.
            
            The caller of this method must have chrome privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.DisableDialogs">
            <summary>
            These are used to control whether dialogs (alert, prompt, confirm) are
            allowed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.LoadSheet(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Synchronously loads a style sheet from |sheetURI| and adds it to the list
            of additional style sheets of the document.
            
            These additional style sheets are very much like user/agent sheets loaded
            with loadAndRegisterSheet. The only difference is that they are applied only
            on the document owned by this window.
            
            Sheets added via this API take effect immediately on the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.LoadSheetUsingURIString(Gecko.nsACStringBase,System.UInt32)">
            <summary>
            Same as the above method but allows passing the URI as a string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.AddSheet(Gecko.Interfaces.nsIDOMStyleSheet,System.UInt32)">
            <summary>
            Adds a style sheet to the list of additional style sheets of the document.
            
            Style sheets can be preloaded with nsIStyleSheetService.preloadSheet.
            
            Sheets added via this API take effect immediately on the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RemoveSheet(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Remove the document style sheet at |sheetURI| from the list of additional
            style sheets of the document.  The removal takes effect immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RemoveSheetUsingURIString(Gecko.nsACStringBase,System.UInt32)">
            <summary>
            Same as the above method but allows passing the URI as a string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIsHandlingUserInputAttribute">
            <summary>
            Returns true if a user input is being handled.
            
            This calls EventStateManager::IsHandlingUserInput().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetMillisSinceLastUserInputAttribute">
            <summary>
            Returns milliseconds elapsed since last user input was started
            
            This relies on EventStateManager::LatestUserInputStart()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.AllowScriptsToClose">
            <summary>
            After calling the method, the window for which this DOMWindowUtils
            was created can be closed using scripts.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetIsParentWindowMainWidgetVisibleAttribute">
            <summary>
            Is the parent window&apos;s main widget visible?  If it isn&apos;t, we probably
            don&apos;t want to display any dialogs etc it may request.  This corresponds
            to the visibility check in nsWindowWatcher::OpenWindowInternal().
            
            Will throw a DOM security error if called without chrome privileges or
            NS_ERROR_NOT_AVAILABLE in the unlikely event that the parent window&apos;s
            main widget can&apos;t be reached.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.IsNodeDisabledForEvents(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            In certain cases the event handling of nodes, form controls in practice,
            may be disabled. Such cases are for example the existence of disabled
            attribute or -moz-user-input: none/disabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetPaintFlashingAttribute">
            <summary>
            Setting paintFlashing to true will flash newly painted area.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RequestCompositorProperty(Gecko.nsAStringBase)">
            <summary>
            Special function that gets a property syncronously from the last composite
            that occured.
            
            Supported properties:
            &quot;overdraw&quot;: Report a percentage between 0 and 999 indicate how many times
            each pixels on the destination window have been touched.
            &quot;missed_hwc&quot;: Report a bool if hardware composer is supported but was
            not used for the last frame.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetHandlingUserInput(System.Boolean)">
            <summary>
            If aHandlingInput is true, this informs the event state manager that
            we&apos;re handling user input. Otherwise, this is a no-op (as by default
            we&apos;re not handling user input).
            Remember to call destruct() on the return value!
            See also nsIDOMWindowUtils::isHandlingUserInput.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetContentAPZTestData(System.IntPtr)">
            <summary>
            Get the content- and compositor-side APZ test data instances.
            The return values are of type APZTestData (see APZTestData.webidl).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.PostRestyleSelfEvent(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Posts an eRestyle_Self restyle event for the given element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetMediaSuspendAttribute">
            <summary>
            Used to pause or resume all media in this window. Use-cases are audio
            competing, remote media control and to prevent auto-playing media.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetAudioMutedAttribute">
            <summary>
            With this it&apos;s possible to mute all the MediaElements in this window.
            We have audioMuted and audioVolume to preserve the volume across
            mute/umute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetAudioVolumeAttribute">
            <summary>
            range: greater or equal to 0. The real volume level is affected by the
            volume of all ancestor windows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.XpconnectArgument(Gecko.Interfaces.nsIDOMWindowUtils)">
            <summary>
            This method doesn&apos;t do anything useful.  It was solely added for the
            purpose of the test for bug 503926.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.AskPermission(Gecko.Interfaces.nsIContentPermissionRequest)">
            <summary>
            Helper for JS components that need to send permission requests with
            e10s support properly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetElementsRestyledAttribute">
            <summary>
            Number of elements restyled for the curent document.
            
            Note that during a restyle operation we may restyle an element more
            than once (e.g., for an inline that contains blocks).  This also
            counts restyling of pseudo-elements and anonymous boxes.
            
            May throw NS_ERROR_NOT_AVAILABLE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFramesConstructedAttribute">
            <summary>
            Number of frames constructed (excluding breaking) for the curent
            document.
            
            May throw NS_ERROR_NOT_AVAILABLE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFramesReflowedAttribute">
            <summary>
            Number of frames reflowed for the curent document.
            
            May throw NS_ERROR_NOT_AVAILABLE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.SetChromeMargin(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Controls the amount of chrome that should be visible on each side of
            the window. Works like the chromemargin xul:window attribute.
            This should only be used with non-XUL windows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetServiceWorkersTestingEnabledAttribute">
            <summary>
            Enable some service workers testing features.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetFrameUniformityTestData(System.IntPtr)">
            <summary>
            Returns a JSObject which contains a list of frame uniformities
            when the pref gfx.vsync.collect-scroll-data is enabled.
            Every result contains a layer address and a frame uniformity for that layer.
            A negative frame uniformity value indicates an invalid frame uniformity and an error has occured.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.LeaveChaosMode">
            <summary>
            Decrease the chaos mode activation level. See enterChaosMode().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.HasRuleProcessorUsedByMultipleStyleSets(System.UInt32)">
            <summary>
            Returns whether the document&apos;s style set&apos;s rule processor for the
            specified level of the cascade is shared by multiple style sets.
            (Used by tests to ensure that certain optimizations do not regress.)
            </summary>
            <param name="aSheetType">
            One of the nsIStyleSheetService.*_SHEET constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.RespectDisplayPortSuppression(System.Boolean)">
            <summary>
            Enable or disable displayport suppression. This is intended to be used by
            testing code, to provide more deterministic behaviour over the displayport
            suppression during tests. Note that this updates a flag, so whatever value
            was last provided is what will be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.ForceReflowInterrupt">
            <summary>
            Set a flag that forces the next reflow interrupt check to return true. This
            can be used by tests to force execution of the interrupted reflow codepaths.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.TerminateGPUProcess">
            <summary>
            Terminate the GPU process. Used for testing GPU process restarts.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMWindowUtils.GetGpuProcessPidAttribute">
            <summary>
            Returns the GPU process pid, or -1 if there is no GPU process.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJSRAIIHelper">
            <summary>
            JS doesn&apos;t do RAII very well. We can use this interface to make remembering
            to destruct an object in a finally clause easier.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULCommandEvent.GetCtrlKeyAttribute">
            <summary>
            Command events support the same set of modifier keys as mouse and key
            events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULCommandEvent.GetSourceEventAttribute">
            <summary>
            If the command event was redispatched because of a command= attribute
            on the original target, sourceEvent will be set to the original DOM Event.
            Otherwise, sourceEvent is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULCommandEvent.InitCommandEvent(Gecko.nsAStringBase,System.Boolean,System.Boolean,Gecko.Interfaces.mozIDOMWindow,System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean,Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            Creates a new command event with the given attributes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerItemElement.GetParentContainerAttribute">
            <summary>
            Returns the parent container if any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerElement.GetParentContainerAttribute">
            <summary>
            Returns the parent container if any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerElement.AppendItem(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Creates an item for the given label and value and appends it to the
            container.
            </summary>
            <param name="aLabel">
            - the label for the new item
            </param>
            <param name="aValue">
            - the value of the new item
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerElement.InsertItemAt(System.Int32,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Creates an item for the given label and value and inserts it into the
            container at the specified position.
            </summary>
            <param name="aIndex">
            - the index where the new item will be inserted
            </param>
            <param name="aLabel">
            - the label for the new item
            </param>
            <param name="aValue">
            - the value of the new item
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerElement.RemoveItemAt(System.Int32)">
            <summary>
            Removes an item from the container.
            </summary>
            <param name="aIndex">
            - index of the item to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerElement.GetItemCountAttribute">
            <summary>
            Returns a count of items in the container.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerElement.GetIndexOfItem(Gecko.Interfaces.nsIDOMXULElement)">
            <summary>
            Returns the index of an item or -1 if the item is not in the container.
            </summary>
            <param name="aItem">
            - the item to determine the index of
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULContainerElement.GetItemAtIndex(System.Int32)">
            <summary>
            Returns the item at a given index or null if the item is not is the
            container.
            </summary>
            <param name="aIndex">
            - the index of the item to return
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.CreateRange">
            <summary>
            Create a range
            </summary>
            <remarks>
            See http://html5.org/specs/dom-range.html#dom-document-createrange
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetDefaultViewAttribute">
            <summary>
            The window associated with this document.
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-defaultview
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetCharacterSetAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-characterset
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetDirAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-dir
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetLocationAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-location
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#document.title
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetReadyStateAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-readystate
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetLastModifiedAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-lastmodified
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetReferrerAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-referrer
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.HasFocus">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-hasfocus
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetActiveElementAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-activeelement
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetElementsByClassName(Gecko.nsAStringBase)">
            <summary>
            Retrieve elements matching all classes listed in a
            space-separated string.
            </summary>
            <remarks>
            See http://www.whatwg.org/html/#dom-document-getelementsbyclassname
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetStyleSheetsAttribute">
            <summary>
            
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-stylesheets
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetPreferredStyleSheetSetAttribute(Gecko.nsAStringBase)">
            <summary>
            This attribute must return the preferred style sheet set as set by the
            author. It is determined from the order of style sheet declarations and
            the Default-Style HTTP headers, as eventually defined elsewhere in the Web
            Apps 1.0 specification. If there is no preferred style sheet set, this
            attribute must return the empty string. The case of this attribute must
            exactly match the case given by the author where the preferred style sheet
            is specified or implied. This attribute must never return null.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-preferredStyleSheetSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetSelectedStyleSheetSetAttribute(Gecko.nsAStringBase)">
            <summary>
            This attribute indicates which style sheet set is in use. This attribute
            is live; changing the disabled attribute on style sheets directly will
            change the value of this attribute.
            
            If all the sheets that are enabled and have a title have the same title
            (by case-sensitive comparisons) then the value of this attribute must be
            exactly equal to the title of the first enabled style sheet with a title
            in the styleSheets list. Otherwise, if style sheets from different sets
            are enabled, then the return value must be null (there is no way to
            determine what the currently selected style sheet set is in those
            conditions). Otherwise, either all style sheets that have a title are
            disabled, or there are no alternate style sheets, and
            selectedStyleSheetSet must return the empty string.
            
            Setting this attribute to the null value must have no effect.
            
            Setting this attribute to a non-null value must call
            enableStyleSheetsForSet() with that value as the function&apos;s argument, and
            set lastStyleSheetSet to that value.
            
            From the DOM&apos;s perspective, all views have the same
            selectedStyleSheetSet. If a UA supports multiple views with different
            selected alternate style sheets, then this attribute (and the StyleSheet
            interface&apos;s disabled attribute) must return and set the value for the
            default view.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-selectedStyleSheetSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetStyleSheetSetsAttribute">
            <summary>
            This must return the live list of the currently available style sheet
            sets. This list is constructed by enumerating all the style sheets for
            this document available to the implementation, in the order they are
            listed in the styleSheets attribute, adding the title of each style sheet
            with a title to the list, avoiding duplicates by dropping titles that
            match (case-sensitively) titles that have already been added to the
            list.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-styleSheetSets
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.EnableStyleSheetsForSet(Gecko.nsAStringBase)">
            <summary>
            Calling this method must change the disabled attribute on each StyleSheet
            object with a title attribute with a length greater than 0 in the
            styleSheets attribute, so that all those whose title matches the name
            argument are enabled, and all others are disabled. Title matches must be
            case-sensitive. Calling this method with the empty string disables all
            alternate and preferred style sheets (but does not change the state of
            persistent style sheets, that is those with no title attribute).
            
            Calling this method with a null value must have no effect.
            
            Style sheets that do not have a title are never affected by this
            method. This method does not change the values of the lastStyleSheetSet or
            preferredStyleSheetSet attributes.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom/#dom-document-enableStyleSheetsForSet
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.ElementFromPoint(System.Single,System.Single)">
            <summary>
            Returns the element from the caller&apos;s document at the given point,
            relative to the upper-left-most point in the (possibly scrolled)
            window or frame.
            
            If the element at the given point belongs to another document (such as
            an iframe&apos;s subdocument), the element in the calling document&apos;s DOM
            (e.g. the iframe) is returned. If the element at the given point is
            anonymous or XBL generated content, such as a textbox&apos;s scrollbars, then
            the first non-anonymous parent element (that is, the textbox) is returned.
            
            This method returns null if either coordinate is negative, or if the
            specified point lies outside the visible bounds of the document.
            
            Callers from XUL documents should wait until the onload event has fired
            before calling this method.
            </summary>
            <remarks>
            See http://dev.w3.org/csswg/cssom-view/#dom-document-elementfrompoint
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetContentTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.contentType
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetMozSyntheticDocumentAttribute">
            <summary>
            True if this document is synthetic : stand alone image, video, audio file,
            etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetCurrentScriptAttribute">
            <summary>
            Returns the script element whose script is currently being processed.
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.currentScript
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.ReleaseCapture">
            <summary>
            Release the current mouse capture if it is on an element within this
            document.
            </summary>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.releaseCapture
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.MozSetImageElement(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Use the given DOM element as the source image of target |-moz-element()|.
            
            This function introduces a new special ID (called &quot;image element ID&quot;),
            which is only used by |-moz-element()|, and associates it with the given
            DOM element.  Image elements ID&apos;s have the higher precedence than general
            HTML id&apos;s, so if |document.mozSetImageElement(&lt;id&gt;, &lt;element&gt;)| is called,
            |-moz-element(#&lt;id&gt;)| uses |&lt;element&gt;| as the source image even if there
            is another element with id attribute = |&lt;id&gt;|.  To unregister an image
            element ID |&lt;id&gt;|, call |document.mozSetImageElement(&lt;id&gt;, null)|.
            
            Example:
            &lt;script&gt;
            canvas = document.createElement(&quot;canvas&quot;);
            canvas.setAttribute(&quot;width&quot;, 100);
            canvas.setAttribute(&quot;height&quot;, 100);
            draw to canvas
            document.mozSetImageElement(&quot;canvasbg&quot;, canvas);
            &lt;/script&gt;
            &lt;div style=&quot;background-image: -moz-element(#canvasbg);&quot;&gt;&lt;/div&gt;
            </summary>
            <param name="aImageElementId">
            an image element ID to associate with
            |aImageElement|
            </param>
            <param name="aImageElement">
            a DOM element to be used as the source image of
            |-moz-element(#aImageElementId)|. If this is null, the function will
            unregister the image element ID |aImageElementId|.
            </param>
            <remarks>
            See https://developer.mozilla.org/en/DOM/document.mozSetImageElement
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetMozFullScreenElementAttribute">
            <summary>
            Element which is currently the full-screen element as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.MozCancelFullScreen">
            <summary>
            Causes the document to leave DOM full-screen mode, if it&apos;s in
            full-screen mode, as per the DOM full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetMozFullScreenAttribute">
            <summary>
            Denotes whether this document is in DOM full-screen mode, as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetMozFullScreenEnabledAttribute">
            <summary>
            Denotes whether the full-screen-api.enabled is true, no windowed
            plugins are present, and all ancestor documents have the
            allowfullscreen attribute set.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetMozPointerLockElementAttribute">
            <summary>
            The element to which the mouse pointer is locked, if any, as per the
            DOM pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.CaretPositionFromPoint(System.Single,System.Single)">
            <summary>
            Retrieve the location of the caret position (DOM node and character
            offset within that node), given a point.
            </summary>
            <param name="x">
            Horizontal point at which to determine the caret position, in
            page coordinates.
            </param>
            <param name="y">
            Vertical point at which to determine the caret position, in
            page coordinates.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.MozExitPointerLock">
            <summary>
            Exit pointer is lock if locked, as per the DOM pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetHiddenAttribute">
            <summary>
            Visibility API implementation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetCompatModeAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns &quot;BackCompat&quot; if we&apos;re in quirks mode or &quot;CSS1Compat&quot; if we&apos;re in
            strict mode.  (XML documents are always in strict mode.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.GetPopupRangeParentAttribute">
            <summary>
            These attributes correspond to trustedGetPopupNode().rangeOffset and
            rangeParent. They will help you find where in the DOM the popup is
            happening. Can be accessed from chrome only, and only during a popup
            event. Accessing any other time will be an error.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULDocument.LoadOverlay(Gecko.nsAStringBase,Gecko.Interfaces.nsIObserver)">
            <summary>
            Loads a XUL overlay and merges it with the current document, notifying an
            observer when the merge is complete.
            </summary>
            <param name="url">
            The URL of the overlay to load and merge
            </param>
            <param name="observer">
            An object implementing nsIObserver that will be notified with a
            message of topic &quot;xul-overlay-merged&quot; when the merge is complete.
            The subject parameter of |observe| will QI to a nsIURI - the URI
            of the merged overlay. This parameter is optional and may be null.
            
            NOTICE:  In the 2.0 timeframe this API will change such that the
            implementation will fire a DOMXULOverlayMerged event upon merge
            completion rather than notifying an observer. Do not rely on this
            API&apos;s behavior _not_ to change because it will!
            - Ben Goodger (8/23/2005)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetClassListAttribute">
            <summary>
            Returns a DOMTokenList object reflecting the class attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetElementsByClassName(Gecko.nsAStringBase)">
            <summary>
            Retrieve elements matching all classes listed in a
            space-separated string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetChildrenAttribute">
            <summary>
            Returns a live nsIDOMNodeList of the current child elements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetFirstElementChildAttribute">
            <summary>
            Similar as the attributes on nsIDOMNode, but navigates just elements
            rather than all nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetChildElementCountAttribute">
            <summary>
            Returns the number of child nodes that are nsIDOMElements.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetClientRects">
            <summary>
            Retrieve a list of rectangles, one for each CSS border-box associated with
            the element. The coordinates are in CSS pixels, and relative to
            the top-left of the document&apos;s viewport, unless the document
            has an SVG foreignobject ancestor, in which case the coordinates are
            relative to the top-left of the content box of the nearest SVG foreignobject
            ancestor. The coordinates are calculated as if every scrollable element
            is scrolled to its default position.
            
            Note: the boxes of overflowing children do not affect these rectangles.
            Note: some elements have empty CSS boxes. Those return empty rectangles,
            but the coordinates may still be meaningful.
            Note: some elements have no CSS boxes (including display:none elements,
            HTML AREA elements, and SVG elements that do not render). Those return
            an empty list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetBoundingClientRect">
            <summary>
            Returns the union of all rectangles in the getClientRects() list. Empty
            rectangles are ignored, except that if all rectangles are empty,
            we return an empty rectangle positioned at the top-left of the first
            rectangle in getClientRects().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetScrollTopAttribute">
            <summary>
            The vertical scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            vertical scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetScrollLeftAttribute">
            <summary>
            The horizontal scroll position of the element, or 0 if the element is not
            scrollable. This property may be assigned a value to change the
            horizontal scroll position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetScrollWidthAttribute">
            <summary>
            The width of the scrollable area of the element. If the element is not
            scrollable, scrollWidth is equivalent to the offsetWidth.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetScrollHeightAttribute">
            <summary>
            The height of the scrollable area of the element. If the element is not
            scrollable, scrollHeight is equivalent to the offsetHeight.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetClientTopAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s top border.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetClientLeftAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s left border and scrollbar
            if it is present on the left side.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetClientWidthAttribute">
            <summary>
            The height in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this width.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.GetClientHeightAttribute">
            <summary>
            The width in CSS pixels of the element&apos;s padding box. If the element is
            scrollable, the scroll bars are included inside this height.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.MozMatchesSelector(Gecko.nsAStringBase)">
            <summary>
            Returns whether this element would be selected by the given selector
            string.
            
            See &lt;http://dev.w3.org/2006/webapi/selectors-api2/#matchesselector&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.SetCapture(System.Boolean)">
            <summary>
            Set this during a mousedown event to grab and retarget all mouse events
            to this element until the mouse button is released or releaseCapture is
            called. If retargetToElement is true, then all events are targetted at
            this element. If false, events can also fire at descendants of this
            element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.ReleaseCapture">
            <summary>
            If this element has captured the mouse, release the capture. If another
            element has captured the mouse, this method has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.MozRequestFullScreen">
            <summary>
            Requests that this element be made the full-screen element, as per the DOM
            full-screen api.
            </summary>
            <remarks>
            See https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.MozRequestPointerLock">
            <summary>
            Requests that this element be made the pointer-locked element, as per the DOM
            pointer lock api.
            </summary>
            <remarks>
            See http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULElement.QuerySelector(Gecko.nsAStringBase)">
            <summary>
            Return nodes that match a given CSS selector.
            </summary>
            <remarks>
            See http://dev.w3.org/2006/webapi/selectors-api/
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDOMXULRelatedElement.GetRelatedElement(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Retrun an element associated with the given element. It&apos;s implemented
            by container elements having relation between their items. For example,
            this interface is implemented by XUL tabs and XUL tabpanels elements
            and used to get XUL tab element by linked tab panel and vice versa.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDOMXULTreeElement">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDownload">
            <summary>
            Represents a download object.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebProgressListener2">
            <summary>
            An extended version of nsIWebProgressListener.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebProgressListener">
            <summary>
            The nsIWebProgressListener interface is implemented by clients wishing to
            listen in on the progress associated with the loading of asynchronous
            requests in the context of a nsIWebProgress instance as well as any child
            nsIWebProgress instances.  nsIWebProgress.idl describes the parent-child
            relationship of nsIWebProgress instances.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener.OnStateChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32,System.Int32)">
            <summary>
            Notification indicating the state has changed for one of the requests
            associated with aWebProgress.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification
            </param>
            <param name="aRequest">
            The nsIRequest that has changed state.
            </param>
            <param name="aStateFlags">
            Flags indicating the new state.  This value is a combination of one
            of the State Transition Flags and one or more of the State Type
            Flags defined above.  Any undefined bits are reserved for future
            use.
            </param>
            <param name="aStatus">
            Error status code associated with the state change.  This parameter
            should be ignored unless aStateFlags includes the STATE_STOP bit.
            The status code indicates success or failure of the request
            associated with the state change.  NOTE: aStatus may be a success
            code even for server generated errors, such as the HTTP 404 error.
            In such cases, the request itself should be queried for extended
            error information (e.g., for HTTP requests see nsIHttpChannel).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener.OnProgressChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, or if its value would exceed the
            maximum value of type long, then its value is replaced with -1.
            
            NOTE: If the object also implements nsIWebProgressListener2 and the caller
            knows about that interface, this function will not be called. Instead,
            nsIWebProgressListener2::onProgressChange64 will be called.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener.OnLocationChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Called when the location of the window being watched changes.  This is not
            when a load is requested, but rather once it is verified that the load is
            going to occur in the given window.  For instance, a load that starts in a
            window might send progress and status messages for the new site, but it
            will not send the onLocationChange until we are sure that we are loading
            this new page here.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The associated nsIRequest.  This may be null in some cases.
            </param>
            <param name="aLocation">
            The URI of the location that is being loaded.
            </param>
            <param name="aFlags">
            This is a value which explains the situation or the reason why
            the location has changed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener.OnStatusChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.String)">
            <summary>
            Notification that the status of a request has changed.  The status message
            is intended to be displayed to the user (e.g., in the status bar of the
            browser).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new status.
            </param>
            <param name="aStatus">
            This value is not an error code.  Instead, it is a numeric value
            that indicates the current status of the request.  This interface
            does not define the set of possible status codes.  NOTE: Some
            status values are defined by nsITransport and nsISocketTransport.
            </param>
            <param name="aMessage">
            Localized text corresponding to aStatus.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener.OnSecurityChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32)">
            <summary>
            Notification called for security progress.  This method will be called on
            security transitions (eg HTTP -&gt; HTTPS, HTTPS -&gt; HTTP, FOO -&gt; HTTPS) and
            after document load completion.  It might also be called if an error
            occurs during network loading.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new security state.
            </param>
            <param name="aState">
            A value composed of the Security State Flags and the Security
            Strength Flags listed above.  Any undefined bits are reserved for
            future use.
            
            NOTE: These notifications will only occur if a security package is
            installed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener2.OnStateChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32,System.Int32)">
            <summary>
            Notification indicating the state has changed for one of the requests
            associated with aWebProgress.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification
            </param>
            <param name="aRequest">
            The nsIRequest that has changed state.
            </param>
            <param name="aStateFlags">
            Flags indicating the new state.  This value is a combination of one
            of the State Transition Flags and one or more of the State Type
            Flags defined above.  Any undefined bits are reserved for future
            use.
            </param>
            <param name="aStatus">
            Error status code associated with the state change.  This parameter
            should be ignored unless aStateFlags includes the STATE_STOP bit.
            The status code indicates success or failure of the request
            associated with the state change.  NOTE: aStatus may be a success
            code even for server generated errors, such as the HTTP 404 error.
            In such cases, the request itself should be queried for extended
            error information (e.g., for HTTP requests see nsIHttpChannel).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener2.OnProgressChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, or if its value would exceed the
            maximum value of type long, then its value is replaced with -1.
            
            NOTE: If the object also implements nsIWebProgressListener2 and the caller
            knows about that interface, this function will not be called. Instead,
            nsIWebProgressListener2::onProgressChange64 will be called.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener2.OnLocationChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Called when the location of the window being watched changes.  This is not
            when a load is requested, but rather once it is verified that the load is
            going to occur in the given window.  For instance, a load that starts in a
            window might send progress and status messages for the new site, but it
            will not send the onLocationChange until we are sure that we are loading
            this new page here.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The associated nsIRequest.  This may be null in some cases.
            </param>
            <param name="aLocation">
            The URI of the location that is being loaded.
            </param>
            <param name="aFlags">
            This is a value which explains the situation or the reason why
            the location has changed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener2.OnStatusChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.String)">
            <summary>
            Notification that the status of a request has changed.  The status message
            is intended to be displayed to the user (e.g., in the status bar of the
            browser).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new status.
            </param>
            <param name="aStatus">
            This value is not an error code.  Instead, it is a numeric value
            that indicates the current status of the request.  This interface
            does not define the set of possible status codes.  NOTE: Some
            status values are defined by nsITransport and nsISocketTransport.
            </param>
            <param name="aMessage">
            Localized text corresponding to aStatus.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener2.OnSecurityChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32)">
            <summary>
            Notification called for security progress.  This method will be called on
            security transitions (eg HTTP -&gt; HTTPS, HTTPS -&gt; HTTP, FOO -&gt; HTTPS) and
            after document load completion.  It might also be called if an error
            occurs during network loading.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new security state.
            </param>
            <param name="aState">
            A value composed of the Security State Flags and the Security
            Strength Flags listed above.  Any undefined bits are reserved for
            future use.
            
            NOTE: These notifications will only occur if a security package is
            installed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener2.OnProgressChange64(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int64,System.Int64,System.Int64,System.Int64)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            
            This function is identical to nsIWebProgressListener::onProgressChange,
            except that this function supports 64-bit values.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, then its value is replaced with -1.
            </param>
            <remarks>
            See nsIWebProgressListener2::onProgressChange64
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgressListener2.OnRefreshAttempted(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIURI,System.Int32,System.Boolean)">
            <summary>
            Notification that a refresh or redirect has been requested in aWebProgress
            For example, via a &lt;meta http-equiv=&quot;refresh&quot;&gt; or an HTTP Refresh: header
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRefreshURI">
            The new URI that aWebProgress has requested redirecting to.
            </param>
            <param name="aMillis">
            The delay (in milliseconds) before refresh.
            </param>
            <param name="aSameURI">
            True if aWebProgress is requesting a refresh of the
            current URI.
            False if aWebProgress is requesting a redirection to
            a different URI.
            </param>
            <returns>
            True if the refresh may proceed.
            False if the refresh should be aborted.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.OnStateChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32,System.Int32)">
            <summary>
            Notification indicating the state has changed for one of the requests
            associated with aWebProgress.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification
            </param>
            <param name="aRequest">
            The nsIRequest that has changed state.
            </param>
            <param name="aStateFlags">
            Flags indicating the new state.  This value is a combination of one
            of the State Transition Flags and one or more of the State Type
            Flags defined above.  Any undefined bits are reserved for future
            use.
            </param>
            <param name="aStatus">
            Error status code associated with the state change.  This parameter
            should be ignored unless aStateFlags includes the STATE_STOP bit.
            The status code indicates success or failure of the request
            associated with the state change.  NOTE: aStatus may be a success
            code even for server generated errors, such as the HTTP 404 error.
            In such cases, the request itself should be queried for extended
            error information (e.g., for HTTP requests see nsIHttpChannel).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.OnProgressChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, or if its value would exceed the
            maximum value of type long, then its value is replaced with -1.
            
            NOTE: If the object also implements nsIWebProgressListener2 and the caller
            knows about that interface, this function will not be called. Instead,
            nsIWebProgressListener2::onProgressChange64 will be called.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.OnLocationChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Called when the location of the window being watched changes.  This is not
            when a load is requested, but rather once it is verified that the load is
            going to occur in the given window.  For instance, a load that starts in a
            window might send progress and status messages for the new site, but it
            will not send the onLocationChange until we are sure that we are loading
            this new page here.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The associated nsIRequest.  This may be null in some cases.
            </param>
            <param name="aLocation">
            The URI of the location that is being loaded.
            </param>
            <param name="aFlags">
            This is a value which explains the situation or the reason why
            the location has changed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.OnStatusChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.String)">
            <summary>
            Notification that the status of a request has changed.  The status message
            is intended to be displayed to the user (e.g., in the status bar of the
            browser).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new status.
            </param>
            <param name="aStatus">
            This value is not an error code.  Instead, it is a numeric value
            that indicates the current status of the request.  This interface
            does not define the set of possible status codes.  NOTE: Some
            status values are defined by nsITransport and nsISocketTransport.
            </param>
            <param name="aMessage">
            Localized text corresponding to aStatus.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.OnSecurityChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32)">
            <summary>
            Notification called for security progress.  This method will be called on
            security transitions (eg HTTP -&gt; HTTPS, HTTPS -&gt; HTTP, FOO -&gt; HTTPS) and
            after document load completion.  It might also be called if an error
            occurs during network loading.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new security state.
            </param>
            <param name="aState">
            A value composed of the Security State Flags and the Security
            Strength Flags listed above.  Any undefined bits are reserved for
            future use.
            
            NOTE: These notifications will only occur if a security package is
            installed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.OnProgressChange64(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int64,System.Int64,System.Int64,System.Int64)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            
            This function is identical to nsIWebProgressListener::onProgressChange,
            except that this function supports 64-bit values.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, then its value is replaced with -1.
            </param>
            <remarks>
            See nsIWebProgressListener2::onProgressChange64
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.OnRefreshAttempted(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIURI,System.Int32,System.Boolean)">
            <summary>
            Notification that a refresh or redirect has been requested in aWebProgress
            For example, via a &lt;meta http-equiv=&quot;refresh&quot;&gt; or an HTTP Refresh: header
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRefreshURI">
            The new URI that aWebProgress has requested redirecting to.
            </param>
            <param name="aMillis">
            The delay (in milliseconds) before refresh.
            </param>
            <param name="aSameURI">
            True if aWebProgress is requesting a refresh of the
            current URI.
            False if aWebProgress is requesting a redirection to
            a different URI.
            </param>
            <returns>
            True if the refresh may proceed.
            False if the refresh should be aborted.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITransfer.Init(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,Gecko.Interfaces.nsIMIMEInfo,System.UInt64,Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsICancelable,System.Boolean)">
            <summary>
            Initializes the transfer with certain properties.  This function must
            be called prior to accessing any properties on this interface.
            </summary>
            <param name="aSource">
            The source URI of the transfer. Must not be null.
            </param>
            <param name="aTarget">
            The target URI of the transfer. Must not be null.
            </param>
            <param name="aDisplayName">
            The user-readable description of the transfer.
            Can be empty.
            </param>
            <param name="aMIMEInfo">
            The MIME info associated with the target,
            including MIME type and helper app when appropriate.
            This parameter is optional.
            </param>
            <param name="startTime">
            Time when the download started (ie, when the first
            response from the server was received)
            XXX presumably wbp and exthandler do this differently
            </param>
            <param name="aTempFile">
            The location of a temporary file; i.e. a file in which
            the received data will be stored, but which is not
            equal to the target file. (will be moved to the real
            target by the caller, when the download is finished)
            May be null.
            </param>
            <param name="aCancelable">
            An object that can be used to abort the download.
            Must not be null.
            Implementations are expected to hold a strong
            reference to this object until the download is
            finished, at which point they should release the
            reference.
            </param>
            <param name="aIsPrivate">
            Used to determine the privacy status of the new transfer.
            If true, indicates that the transfer was initiated from
            a source that desires privacy.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.OnStateChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32,System.Int32)">
            <summary>
            Notification indicating the state has changed for one of the requests
            associated with aWebProgress.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification
            </param>
            <param name="aRequest">
            The nsIRequest that has changed state.
            </param>
            <param name="aStateFlags">
            Flags indicating the new state.  This value is a combination of one
            of the State Transition Flags and one or more of the State Type
            Flags defined above.  Any undefined bits are reserved for future
            use.
            </param>
            <param name="aStatus">
            Error status code associated with the state change.  This parameter
            should be ignored unless aStateFlags includes the STATE_STOP bit.
            The status code indicates success or failure of the request
            associated with the state change.  NOTE: aStatus may be a success
            code even for server generated errors, such as the HTTP 404 error.
            In such cases, the request itself should be queried for extended
            error information (e.g., for HTTP requests see nsIHttpChannel).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.OnProgressChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, or if its value would exceed the
            maximum value of type long, then its value is replaced with -1.
            
            NOTE: If the object also implements nsIWebProgressListener2 and the caller
            knows about that interface, this function will not be called. Instead,
            nsIWebProgressListener2::onProgressChange64 will be called.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.OnLocationChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Called when the location of the window being watched changes.  This is not
            when a load is requested, but rather once it is verified that the load is
            going to occur in the given window.  For instance, a load that starts in a
            window might send progress and status messages for the new site, but it
            will not send the onLocationChange until we are sure that we are loading
            this new page here.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The associated nsIRequest.  This may be null in some cases.
            </param>
            <param name="aLocation">
            The URI of the location that is being loaded.
            </param>
            <param name="aFlags">
            This is a value which explains the situation or the reason why
            the location has changed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.OnStatusChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.String)">
            <summary>
            Notification that the status of a request has changed.  The status message
            is intended to be displayed to the user (e.g., in the status bar of the
            browser).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new status.
            </param>
            <param name="aStatus">
            This value is not an error code.  Instead, it is a numeric value
            that indicates the current status of the request.  This interface
            does not define the set of possible status codes.  NOTE: Some
            status values are defined by nsITransport and nsISocketTransport.
            </param>
            <param name="aMessage">
            Localized text corresponding to aStatus.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.OnSecurityChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32)">
            <summary>
            Notification called for security progress.  This method will be called on
            security transitions (eg HTTP -&gt; HTTPS, HTTPS -&gt; HTTP, FOO -&gt; HTTPS) and
            after document load completion.  It might also be called if an error
            occurs during network loading.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new security state.
            </param>
            <param name="aState">
            A value composed of the Security State Flags and the Security
            Strength Flags listed above.  Any undefined bits are reserved for
            future use.
            
            NOTE: These notifications will only occur if a security package is
            installed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.OnProgressChange64(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int64,System.Int64,System.Int64,System.Int64)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            
            This function is identical to nsIWebProgressListener::onProgressChange,
            except that this function supports 64-bit values.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, then its value is replaced with -1.
            </param>
            <remarks>
            See nsIWebProgressListener2::onProgressChange64
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.OnRefreshAttempted(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIURI,System.Int32,System.Boolean)">
            <summary>
            Notification that a refresh or redirect has been requested in aWebProgress
            For example, via a &lt;meta http-equiv=&quot;refresh&quot;&gt; or an HTTP Refresh: header
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRefreshURI">
            The new URI that aWebProgress has requested redirecting to.
            </param>
            <param name="aMillis">
            The delay (in milliseconds) before refresh.
            </param>
            <param name="aSameURI">
            True if aWebProgress is requesting a refresh of the
            current URI.
            False if aWebProgress is requesting a redirection to
            a different URI.
            </param>
            <returns>
            True if the refresh may proceed.
            False if the refresh should be aborted.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.Init(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,Gecko.Interfaces.nsIMIMEInfo,System.UInt64,Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsICancelable,System.Boolean)">
            <summary>
            Initializes the transfer with certain properties.  This function must
            be called prior to accessing any properties on this interface.
            </summary>
            <param name="aSource">
            The source URI of the transfer. Must not be null.
            </param>
            <param name="aTarget">
            The target URI of the transfer. Must not be null.
            </param>
            <param name="aDisplayName">
            The user-readable description of the transfer.
            Can be empty.
            </param>
            <param name="aMIMEInfo">
            The MIME info associated with the target,
            including MIME type and helper app when appropriate.
            This parameter is optional.
            </param>
            <param name="startTime">
            Time when the download started (ie, when the first
            response from the server was received)
            XXX presumably wbp and exthandler do this differently
            </param>
            <param name="aTempFile">
            The location of a temporary file; i.e. a file in which
            the received data will be stored, but which is not
            equal to the target file. (will be moved to the real
            target by the caller, when the download is finished)
            May be null.
            </param>
            <param name="aCancelable">
            An object that can be used to abort the download.
            Must not be null.
            Implementations are expected to hold a strong
            reference to this object until the download is
            finished, at which point they should release the
            reference.
            </param>
            <param name="aIsPrivate">
            Used to determine the privacy status of the new transfer.
            If true, indicates that the transfer was initiated from
            a source that desires privacy.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetTargetFileAttribute">
            <summary>
            The target of a download is always a file on the local file system.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetPercentCompleteAttribute">
            <summary>
            The percentage of transfer completed.
            If the file size is unknown it&apos;ll be -1 here.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetAmountTransferredAttribute">
            <summary>
            The amount of bytes downloaded so far.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetSizeAttribute">
            <summary>
            The size of file in bytes.
            Unknown size is represented by -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetSourceAttribute">
            <summary>
            The source of the transfer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetTargetAttribute">
            <summary>
            The target of the transfer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetCancelableAttribute">
            <summary>
            Object that can be used to cancel the download.
            Will be null after the download is finished.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetDisplayNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The user-readable description of the transfer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetStartTimeAttribute">
            <summary>
            The time a transfer was started.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetSpeedAttribute">
            <summary>
            The speed of the transfer in bytes/sec.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetMIMEInfoAttribute">
            <summary>
            Optional. If set, it will contain the target&apos;s relevant MIME information.
            This includes its MIME Type, helper app, and whether that helper should be
            executed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetIdAttribute">
            <summary>
            The id of the download that is stored in the database - not globally unique.
            For example, a private download and a public one might have identical ids.
            Can only be safely used for direct database manipulation in the database that
            contains this download. Use the guid property instead for safe, database-agnostic
            searching and manipulation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The guid of the download that is stored in the database.
            Has the form of twelve alphanumeric characters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetStateAttribute">
            <summary>
            The state of the download.
            </summary>
            <remarks>
            See nsIDownloadManager and nsIXPInstallManagerUI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetReferrerAttribute">
            <summary>
            The referrer uri of the download.  This is only valid for HTTP downloads,
            and can be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetResumableAttribute">
            <summary>
            Indicates if the download can be resumed after being paused or not.  This
            is only the case if the download is over HTTP/1.1 or FTP and if the
            server supports it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.GetIsPrivateAttribute">
            <summary>
            Indicates if the download was initiated from a context marked as private,
            controlling whether it should be stored in a permanent manner or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.Cancel">
            <summary>
            Cancel this download if it&apos;s currently in progress.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.Pause">
            <summary>
            Pause this download if it is in progress.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if it cannot be paused.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.Resume">
            <summary>
            Resume this download if it is paused.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if it cannot be resumed or is not paused.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.Remove">
            <summary>
            Instruct the download manager to remove this download. Whereas
            cancel simply cancels the transfer, but retains information about it,
            remove removes all knowledge of it.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the download is active.
            </exception>
            <remarks>
            See nsIDownloadManager.removeDownload for more detail
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownload.Retry">
            <summary>
            Instruct the download manager to retry this failed download
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the download is not known.
            NS_ERROR_FAILURE: if the download is not in the following states:
            nsIDownloadManager::DOWNLOAD_CANCELED
            nsIDownloadManager::DOWNLOAD_FAILED
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIDownloader">
            <summary>
            nsIDownloader
            
            A downloader is a special implementation of a nsIStreamListener that will
            make the contents of the stream available as a file.  This may utilize the
            disk cache as an optimization to avoid an extra copy of the data on disk.
            The resulting file is valid from the time the downloader completes until
            the last reference to the downloader is released.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloader.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloader.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloader.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloader.Init(Gecko.Interfaces.nsIDownloadObserver,Gecko.Interfaces.nsIFile)">
            <summary>
            Initialize this downloader
            </summary>
            <param name="observer">
            the observer to be notified when the download completes.
            </param>
            <param name="downloadLocation">
            the location where the stream contents should be written.
            if null, the downloader will select a location and the
            resulting file will be deleted (or otherwise made invalid)
            when the downloader object is destroyed.  if an explicit
            download location is specified then the resulting file will
            not be deleted, and it will be the callers responsibility
            to keep track of the file, etc.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadObserver.OnDownloadComplete(Gecko.Interfaces.nsIDownloader,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32,Gecko.Interfaces.nsIFile)">
            <summary>
            Called to signal a download that has completed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDownloadHistory">
            <summary>
            This interface can be used to add a download to history.  There is a separate
            interface specifically for downloads in case embedders choose to track
            downloads differently from other types of history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadHistory.AddDownload(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.UInt64,Gecko.Interfaces.nsIURI)">
            <summary>
            Adds a download to history.  This will also notify observers that the
            URI aSource is visited with the topic NS_LINK_VISITED_EVENT_TOPIC if
            aSource has not yet been visited.
            </summary>
            <param name="aSource">
            The source of the download we are adding to history.  This cannot be
            null.
            </param>
            <param name="aReferrer">
            [optional] The referrer of source URI.
            </param>
            <param name="aStartTime">
            [optional] The time the download was started.  If the start time
            is not given, the current time is used.
            </param>
            <param name="aDestination">
            [optional] The target where the download is to be saved on the local
            filesystem.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: In a situation where a history implementation is not available,
            where 'history implementation' refers to something like
            nsIGlobalHistory and friends.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadHistory.RemoveAllDownloads">
            <summary>
            Remove all downloads from history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManagerResult.HandleResult(System.Int32,Gecko.Interfaces.nsIDownload)">
            <summary>
            Process an asynchronous result from getDownloadByGUID.
            </summary>
            <param name="aStatus">
            The result code of the operation:
            NS_OK: an item was found. No other success values are returned.
            NS_ERROR_NOT_AVAILABLE: no such item was found.
            Other error values are possible, but less well-defined.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.AddDownload(System.Int16,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,Gecko.Interfaces.nsIMIMEInfo,System.UInt64,Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsICancelable,System.Boolean)">
            <summary>
            Creates an nsIDownload and adds it to be managed by the download manager.
            </summary>
            <param name="aSource">
            The source URI of the transfer. Must not be null.
            </param>
            <param name="aTarget">
            The target URI of the transfer. Must not be null.
            </param>
            <param name="aDisplayName">
            The user-readable description of the transfer.
            Can be empty.
            </param>
            <param name="aMIMEInfo">
            The MIME info associated with the target,
            including MIME type and helper app when appropriate.
            This parameter is optional.
            </param>
            <param name="startTime">
            Time when the download started
            </param>
            <param name="aTempFile">
            The location of a temporary file; i.e. a file in which
            the received data will be stored, but which is not
            equal to the target file. (will be moved to the real
            target by the DownloadManager, when the download is
            finished). This will be null for all callers except for
            nsExternalHelperAppHandler. Addons should generally pass
            null for aTempFile. This will be moved to the real target
            by the download manager when the download is finished,
            and the action indicated by aMIMEInfo will be executed.
            </param>
            <param name="aCancelable">
            An object that can be used to abort the download.
            Must not be null.
            </param>
            <param name="aIsPrivate">
            Used to determine the privacy status of the new download.
            If true, the download is stored in a manner that leaves
            no permanent trace outside of the current private session.
            </param>
            <returns>
            The newly created download item with the passed-in properties.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetDownload(System.UInt32)">
            <summary>
            Retrieves a download managed by the download manager.  This can be one that
            is in progress, or one that has completed in the past and is stored in the
            database.
            </summary>
            <param name="aID">
            The unique ID of the download.
            </param>
            <returns>
            The download with the specified ID.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the download is not in the database.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetDownloadByGUID(Gecko.nsACStringBase,Gecko.Interfaces.nsIDownloadManagerResult)">
            <summary>
            Retrieves a download managed by the download manager.  This can be one that
            is in progress, or one that has completed in the past and is stored in the
            database.  The result of this method is returned via an asynchronous callback,
            the parameter of which will be an nsIDownload object, or null if none exists
            with the provided GUID.
            </summary>
            <param name="aGUID">
            The unique GUID of the download.
            </param>
            <param name="aCallback">
            The callback to invoke with the result of the search.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.CancelDownload(System.UInt32)">
            <summary>
            Cancels the download with the specified ID if it's currently in-progress.
            This calls cancel(NS_BINDING_ABORTED) on the nsICancelable provided by the
            download.
            </summary>
            <param name="aID">
            The unique ID of the download.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the download is not in-progress.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.RemoveDownload(System.UInt32)">
            <summary>
            Removes the download with the specified id if it's not currently
            in-progress.  Whereas cancelDownload simply cancels the transfer, but
            retains information about it, removeDownload removes all knowledge of it.
            
            Also notifies observers of the "download-manager-remove-download-guid"
            topic with the download guid as the subject to allow any DM consumers to
            react to the removal.
            
            Also may notify observers of the "download-manager-remove-download" topic
            with the download id as the subject, if the download removed is public
            or if global private browsing mode is in use. This notification is deprecated;
            the guid notification should be relied upon instead.
            </summary>
            <param name="aID">
            The unique ID of the download.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the download is active.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.RemoveDownloadsByTimeframe(System.Int64,System.Int64)">
            <summary>
            Removes all inactive downloads that were started inclusively within the
            specified time frame.
            </summary>
            <param name="aBeginTime">
            The start time to remove downloads by in microseconds.
            </param>
            <param name="aEndTime">
            The end time to remove downloads by in microseconds.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.PauseDownload(System.UInt32)">
            <summary>
            Pause the specified download.
            </summary>
            <param name="aID">
            The unique ID of the download.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the download is not in-progress.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.ResumeDownload(System.UInt32)">
            <summary>
            Resume the specified download.
            </summary>
            <param name="aID">
            The unique ID of the download.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the download is not in-progress.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.RetryDownload(System.UInt32)">
            <summary>
            Retries a failed download.
            </summary>
            <param name="aID">
            The unique ID of the download.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILALE: if the download id is not known.
            NS_ERROR_FAILURE: if the download is not in the following states:
            nsIDownloadManager::DOWNLOAD_CANCELED
            nsIDownloadManager::DOWNLOAD_FAILED
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetDBConnectionAttribute">
            <summary>
            The database connection to the downloads database.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetCanCleanUpAttribute">
            <summary>
            Whether or not there are downloads that can be cleaned up (removed)
            i.e. downloads that have completed, have failed or have been canceled.
            In global private browsing mode, this reports the status of the relevant
            private or public downloads. In per-window mode, it only reports for
            public ones.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetCanCleanUpPrivateAttribute">
            <summary>
            Whether or not there are private downloads that can be cleaned up (removed)
            i.e. downloads that have completed, have failed or have been canceled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.CleanUp">
            <summary>
            Removes completed, failed, and canceled downloads from the list.
            In global private browsing mode, this operates on the relevant
            private or public downloads. In per-window mode, it only operates
            on public ones.
            
            Also notifies observers of the &quot;download-manager-remove-download-gui&quot;
            and &quot;download-manager-remove-download&quot; topics with a null subject to
            allow any DM consumers to react to the removals.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.CleanUpPrivate">
            <summary>
            Removes completed, failed, and canceled downloads from the list
            of private downloads.
            
            Also notifies observers of the &quot;download-manager-remove-download-gui&quot;
            and &quot;download-manager-remove-download&quot; topics with a null subject to
            allow any DM consumers to react to the removals.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetActiveDownloadCountAttribute">
            <summary>
            The number of files currently being downloaded.
            
            In global private browsing mode, this reports the status of the relevant
            private or public downloads. In per-window mode, it only reports public
            ones.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetActivePrivateDownloadCountAttribute">
            <summary>
            The number of private files currently being downloaded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetActiveDownloadsAttribute">
            <summary>
            An enumeration of active nsIDownloads
            
            In global private browsing mode, this reports the status of the relevant
            private or public downloads. In per-window mode, it only reports public
            ones.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetActivePrivateDownloadsAttribute">
            <summary>
            An enumeration of active private nsIDownloads
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.AddListener(Gecko.Interfaces.nsIDownloadProgressListener)">
            <summary>
            Adds a listener to the download manager. It is expected that this
            listener will only access downloads via their deprecated integer id attribute,
            and when global private browsing compatibility mode is disabled, this listener
            will receive no notifications for downloads marked private.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.AddPrivacyAwareListener(Gecko.Interfaces.nsIDownloadProgressListener)">
            <summary>
            Adds a listener to the download manager. This listener must be able to
            understand and use the guid attribute of downloads for all interactions
            with the download manager.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.RemoveListener(Gecko.Interfaces.nsIDownloadProgressListener)">
            <summary>
            Removes a listener from the download manager.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetDefaultDownloadsDirectoryAttribute">
            <summary>
            Returns the platform default downloads directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManager.GetUserDownloadsDirectoryAttribute">
            <summary>
            Returns the user configured downloads directory.
            The path is dependent on two user configurable prefs
            set in preferences:
            
            browser.download.folderList
            Indicates the location users wish to save downloaded
            files too.
            Values:
            0 - The desktop is the default download location.
            1 - The system&apos;s downloads folder is the default download location.
            2 - The default download location is elsewhere as specified in
            browser.download.dir. If invalid, userDownloadsDirectory
            will fallback on defaultDownloadsDirectory.
            
            browser.download.dir -
            A local path the user may have selected at some point
            where downloaded files are saved. The use of which is
            enabled when folderList equals 2.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManagerUI.Show(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.Interfaces.nsIDownload,System.Int16,System.Boolean)">
            <summary>
            Shows the Download Manager&apos;s UI to the user.
            </summary>
            <param name="[optional]">
            aUsePrivateUI
            Pass true as this argument to hint to the implementation that it
            should only display private downloads in the UI, if possible.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManagerUI.GetVisibleAttribute">
            <summary>
            Indicates if the UI is visible or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadManagerUI.GetAttention">
            <summary>
            Brings attention to the UI if it is already visible
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if the UI is not visible.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadProgressListener.GetDocumentAttribute">
            <summary>
            document
            The document of the download manager frontend.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDownloadProgressListener.OnDownloadStateChange(System.Int16,Gecko.Interfaces.nsIDownload)">
            <summary>
            Dispatched whenever the state of the download changes.
            </summary>
            <param name="aState">
            The previous download sate.
            </param>
            <param name="aDownload">
            The download object.
            </param>
            <remarks>
            See nsIDownloadManager for download states.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.InvokeDragSession(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIArray,Gecko.Interfaces.nsIScriptableRegion,System.UInt32,System.UInt32)">
            <summary>
            Starts a modal drag session with an array of transaferables.
            
            Note: This method is deprecated for non-native code.
            </summary>
            <param name="aTransferables">
            - an array of transferables to be dragged
            </param>
            <param name="aRegion">
            - a region containing rectangles for cursor feedback,
            in window coordinates.
            </param>
            <param name="aActionType">
            - specified which of copy/move/link are allowed
            </param>
            <param name="aContentPolicyType">
            - the contentPolicyType that will be
            passed to the loadInfo when creating a new channel
            (defaults to TYPE_OTHER)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.InvokeDragSessionWithImage(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIArray,Gecko.Interfaces.nsIScriptableRegion,System.UInt32,Gecko.Interfaces.nsIDOMNode,System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDragEvent,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Starts a modal drag session using an image. The first four arguments are
            the same as invokeDragSession.
            
            Note: This method is deprecated for non-native code.
            
            A custom image may be specified using the aImage argument. If this is
            supplied, the aImageX and aImageY arguments specify the offset within
            the image where the cursor would be positioned. That is, when the image
            is drawn, it is offset up and left the amount so that the cursor appears
            at that location within the image.
            
            If aImage is null, aImageX and aImageY are not used and the image is instead
            determined from the source node aDOMNode, and the offset calculated so that
            the initial location for the image appears in the same screen position as
            where the element is located. The node must be within a document.
            
            Currently, supported images are all DOM nodes. If this is an HTML &lt;image&gt; or
            &lt;canvas&gt;, the drag image is taken from the image data. If the element is in
            a document, it will be rendered at its displayed size, othewise, it will be
            rendered at its real size. For other types of elements, the element is
            rendered into an offscreen buffer in the same manner as it is currently
            displayed. The document selection is hidden while drawing.
            
            The aDragEvent must be supplied as the current screen coordinates of the
            event are needed to calculate the image location.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.InvokeDragSessionWithSelection(Gecko.Interfaces.nsISelection,Gecko.Interfaces.nsIArray,System.UInt32,Gecko.Interfaces.nsIDOMDragEvent,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Start a modal drag session using the selection as the drag image.
            The aDragEvent must be supplied as the current screen coordinates of the
            event are needed to calculate the image location.
            
            Note: This method is deprecated for non-native code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.GetCurrentSession">
            <summary>
            Returns the current Drag Session
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.StartDragSession">
            <summary>
            Tells the Drag Service to start a drag session. This is called when
            an external drag occurs
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.EndDragSession(System.Boolean)">
            <summary>
            Tells the Drag Service to end a drag session. This is called when
            an external drag occurs
            
            If aDoneDrag is true, the drag has finished, otherwise the drag has
            just left the window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.FireDragEventAtSource(System.IntPtr)">
            <summary>
            Fire a drag event at the source of the drag
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.Suppress">
            <summary>
            Increase/decrease dragging suppress level by one.
            If level is greater than one, dragging is disabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragService.DragMoved(System.Int32,System.Int32)">
            <summary>
            aX and aY are in LayoutDevice pixels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetCanDropAttribute">
            <summary>
            Set the current state of the drag, whether it can be dropped or not.
            usually the target &quot;frame&quot; sets this so the native system can render the correct feedback
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetOnlyChromeDropAttribute">
            <summary>
            Indicates if the drop event should be dispatched only to chrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetDragActionAttribute">
            <summary>
            Sets the action (copy, move, link, et.c) for the current drag
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetTargetSizeAttribute">
            <summary>
            Sets the current width and height of the drag target area.
            It will contain the current size of the Frame that the drag is currently in
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetNumDropItemsAttribute">
            <summary>
            Get the number of items that were dropped
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetSourceDocumentAttribute">
            <summary>
            The document where the drag was started, which will be null if the
            drag originated outside the application. Useful for determining if a drop
            originated in the same document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetSourceNodeAttribute">
            <summary>
            The dom node that was originally dragged to start the session, which will be null if the
            drag originated outside the application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetDataTransferAttribute">
            <summary>
            The data transfer object for the current drag.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.GetData(Gecko.Interfaces.nsITransferable,System.UInt32)">
            <summary>
            Get data from a Drag&amp;Drop. Can be called while the drag is in process
            or after the drop has completed.
            </summary>
            <param name="aTransferable">
            the transferable for the data to be put into
            </param>
            <param name="aItemIndex">
            which of multiple drag items, zero-based
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDragSession.IsDataFlavorSupported(System.String)">
            <summary>
            Check to set if any of the native data on the clipboard matches this data flavor
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDroppedLinkItem.GetUrlAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the URL of the link.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDroppedLinkItem.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the link name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDroppedLinkItem.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the MIME-Type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDroppedLinkHandler.CanDropLink(Gecko.Interfaces.nsIDOMDragEvent,System.Boolean)">
            <summary>
            Determines if a link being dragged can be dropped and returns true if so.
            aEvent should be a dragenter or dragover event.
            
            If aAllowSameDocument is false, drops are only allowed if the document
            of the source of the drag is different from the destination. This check
            includes any parent, sibling and child frames in the same content tree.
            If true, the source is not checked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDroppedLinkHandler.DropLink(Gecko.Interfaces.nsIDOMDragEvent,Gecko.nsAStringBase,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            Given a drop event aEvent, determines the link being dragged and returns
            it. If a uri is returned the caller can, for instance, load it. If null
            is returned, there is no valid link to be dropped.
            
            A NS_ERROR_DOM_SECURITY_ERR error will be thrown and the event cancelled if
            the receiving target should not load the uri for security reasons. This
            will occur if any of the following conditions are true:
            - the source of the drag initiated a link for dragging that
            it itself cannot access. This prevents a source document from tricking
            the user into a dragging a chrome url, for example.
            - aDisallowInherit is true, and the URI being dropped would inherit the
            current document&apos;s security context (URI_INHERITS_SECURITY_CONTEXT).
            
            aName is filled in with the link title if it exists, or an empty string
            otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDroppedLinkHandler.DropLinks(Gecko.Interfaces.nsIDOMDragEvent,System.Boolean,System.UInt32@,System.IntPtr@)">
            <summary>
            Given a drop event aEvent, determines links being dragged and returns
            them. If links are returned the caller can, for instance, load them. If
            the count of links is 0, there is no valid link to be dropped.
            
            A NS_ERROR_DOM_SECURITY_ERR error will be thrown and the event cancelled if
            the receiving target should not load the uri for security reasons. This
            will occur if any of the following conditions are true:
            - the source of the drag initiated a link for dragging that
            it itself cannot access. This prevents a source document from tricking
            the user into a dragging a chrome url, for example.
            - aDisallowInherit is true, and the URI being dropped would inherit the
            current document&apos;s security context (URI_INHERITS_SECURITY_CONTEXT).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIEditActionListener">
            <summary>
            A generic editor action listener interface.
            &lt;P&gt;
            nsIEditActionListener is the interface used by applications wishing to be notified
            when the editor modifies the DOM tree.
            
            Note:  this is the wrong class to implement if you are interested in generic
            change notifications.  For generic notifications, you should implement
            nsIDocumentObserver.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillCreateNode(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Called before the editor creates a node.
            </summary>
            <param name="aTag">
            The tag name of the DOM Node to create.
            </param>
            <param name="aParent">
            The node to insert the new object into
            </param>
            <param name="aPosition">
            The place in aParent to insert the new node
            0=first child, 1=second child, etc.
            any number &gt; number of current children = last child
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidCreateNode(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,System.Int32,System.Int32)">
            <summary>
            Called after the editor creates a node.
            </summary>
            <param name="aTag">
            The tag name of the DOM Node to create.
            </param>
            <param name="aNode">
            The DOM Node that was created.
            </param>
            <param name="aParent">
            The node to insert the new object into
            </param>
            <param name="aPosition">
            The place in aParent to insert the new node
            0=first child, 1=second child, etc.
            any number &gt; number of current children = last child
            </param>
            <param name="aResult">
            The result of the create node operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillInsertNode(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Called before the editor inserts a node.
            </summary>
            <param name="aNode">
            The DOM Node to insert.
            </param>
            <param name="aParent">
            The node to insert the new object into
            </param>
            <param name="aPosition">
            The place in aParent to insert the new node
            0=first child, 1=second child, etc.
            any number &gt; number of current children = last child
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidInsertNode(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,System.Int32,System.Int32)">
            <summary>
            Called after the editor inserts a node.
            </summary>
            <param name="aNode">
            The DOM Node to insert.
            </param>
            <param name="aParent">
            The node to insert the new object into
            </param>
            <param name="aPosition">
            The place in aParent to insert the new node
            0=first child, 1=second child, etc.
            any number &gt; number of current children = last child
            </param>
            <param name="aResult">
            The result of the insert node operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillDeleteNode(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Called before the editor deletes a node.
            </summary>
            <param name="aChild">
            The node to delete
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidDeleteNode(Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Called after the editor deletes a node.
            </summary>
            <param name="aChild">
            The node to delete
            </param>
            <param name="aResult">
            The result of the delete node operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillSplitNode(Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Called before the editor splits a node.
            </summary>
            <param name="aExistingRightNode">
            the node to split.  It will become the new node&apos;s next sibling.
            </param>
            <param name="aOffset">
            the offset of aExistingRightNode&apos;s content|children to do the split at
            </param>
            <param name="aNewLeftNode">
            [OUT] the new node resulting from the split, becomes aExistingRightNode&apos;s previous sibling.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidSplitNode(Gecko.Interfaces.nsIDOMNode,System.Int32,Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Called after the editor splits a node.
            </summary>
            <param name="aExistingRightNode">
            the node to split.  It will become the new node&apos;s next sibling.
            </param>
            <param name="aOffset">
            the offset of aExistingRightNode&apos;s content|children to do the split at
            </param>
            <param name="aNewLeftNode">
            [OUT] the new node resulting from the split, becomes aExistingRightNode&apos;s previous sibling.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillJoinNodes(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Called before the editor joins 2 nodes.
            </summary>
            <param name="aLeftNode">
            This node will be merged into the right node
            </param>
            <param name="aRightNode">
            The node that will be merged into.
            There is no requirement that the two nodes be of
            the same type.
            </param>
            <param name="aParent">
            The parent of aRightNode
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidJoinNodes(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Called after the editor joins 2 nodes.
            </summary>
            <param name="aLeftNode">
            This node will be merged into the right node
            </param>
            <param name="aRightNode">
            The node that will be merged into.
            There is no requirement that the two nodes be of
            the same type.
            </param>
            <param name="aParent">
            The parent of aRightNode
            </param>
            <param name="aResult">
            The result of the join operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillInsertText(Gecko.Interfaces.nsIDOMCharacterData,System.Int32,Gecko.nsAStringBase)">
            <summary>
            Called before the editor inserts text.
            </summary>
            <param name="aTextNode">
            This node getting inserted text
            </param>
            <param name="aOffset">
            The offset in aTextNode to insert at.
            </param>
            <param name="aString">
            The string that gets inserted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidInsertText(Gecko.Interfaces.nsIDOMCharacterData,System.Int32,Gecko.nsAStringBase,System.Int32)">
            <summary>
            Called after the editor inserts text.
            </summary>
            <param name="aTextNode">
            This node getting inserted text
            </param>
            <param name="aOffset">
            The offset in aTextNode to insert at.
            </param>
            <param name="aString">
            The string that gets inserted.
            </param>
            <param name="aResult">
            The result of the insert text operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillDeleteText(Gecko.Interfaces.nsIDOMCharacterData,System.Int32,System.Int32)">
            <summary>
            Called before the editor deletes text.
            </summary>
            <param name="aTextNode">
            This node getting text deleted
            </param>
            <param name="aOffset">
            The offset in aTextNode to delete at.
            </param>
            <param name="aLength">
            The amount of text to delete.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidDeleteText(Gecko.Interfaces.nsIDOMCharacterData,System.Int32,System.Int32,System.Int32)">
            <summary>
            Called before the editor deletes text.
            </summary>
            <param name="aTextNode">
            This node getting text deleted
            </param>
            <param name="aOffset">
            The offset in aTextNode to delete at.
            </param>
            <param name="aLength">
            The amount of text to delete.
            </param>
            <param name="aResult">
            The result of the delete text operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.WillDeleteSelection(Gecko.Interfaces.nsISelection)">
            <summary>
            Called before the editor deletes the selection.
            </summary>
            <param name="aSelection">
            The selection to be deleted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditActionListener.DidDeleteSelection(Gecko.Interfaces.nsISelection)">
            <summary>
            Called after the editor deletes the selection.
            </summary>
            <param name="aSelection">
            The selection, after deletion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.GetEditorStatusAttribute">
            <summary>
            Status after editor creation and document loading
            Value is one of the above error codes
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.MakeWindowEditable(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Make this window editable
            </summary>
            <param name="aWindow">
            nsIDOMWindow, the window the embedder needs to make editable
            </param>
            <param name="aEditorType">
            string, &quot;html&quot; &quot;htmlsimple&quot; &quot;text&quot; &quot;textsimple&quot;
            </param>
            <param name="aMakeWholeDocumentEditable">
            if PR_TRUE make the whole document in
            aWindow editable, otherwise it&apos;s the
            embedder who should make the document
            (or part of it) editable.
            </param>
            <param name="aInteractive">
            if PR_FALSE turn off scripting and plugins
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.WindowIsEditable(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Test whether a specific window has had its editable flag set; it may have an editor
            now, or will get one after the uri load.
            
            Use this, passing the content root window, to test if we&apos;ve set up editing
            for this content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.GetEditorForWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Get the editor for this window. May return null
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.SetupEditorOnWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Setup editor and related support objects
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.TearDownEditorOnWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Destroy editor and related support objects
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.DisableJSAndPlugins(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Disable scripts and plugins in aWindow.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.RestoreJSAndPlugins(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Restore JS and plugins (enable/disable them) according to the state they
            were before the last call to disableJSAndPlugins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.DetachFromWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Removes all the editor&apos;s controllers/listeners etc and makes the window
            uneditable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.ReattachToWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Undos detachFromWindow(), reattaches this editing session/editor
            to the window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditingSession.GetJsAndPluginsDisabledAttribute">
            <summary>
            Whether this session has disabled JS and plugins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.FinalizeSelection">
            <summary>
            Finalizes selection and caret for the editor.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.Init(Gecko.Interfaces.nsIDOMDocument,System.IntPtr,Gecko.Interfaces.nsISelectionController,System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Init is to tell the implementation of nsIEditor to begin its services
            </summary>
            <param name="aDoc">
            The dom document interface being observed
            </param>
            <param name="aRoot">
            This is the root of the editable section of this
            document. If it is null then we get root
            from document body.
            </param>
            <param name="aSelCon">
            this should be used to get the selection location
            (will be null for HTML editors)
            </param>
            <param name="aFlags">
            A bitmask of flags for specifying the behavior
            of the editor.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.PostCreate">
            <summary>
            postCreate should be called after Init, and is the time that the editor
            tells its documentStateObservers that the document has been created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.PreDestroy(System.Boolean)">
            <summary>
            preDestroy is called before the editor goes away, and gives the editor a
            chance to tell its documentStateObservers that the document is going away.
            </summary>
            <param name="aDestroyingFrames">
            set to true when the frames being edited
            are being destroyed (so there is no need to modify any nsISelections,
            nor is it safe to do so)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetFlagsAttribute">
            <summary>
            edit flags for this editor.  May be set at any time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetContentsMIMETypeAttribute">
            <summary>
            the MimeType of the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetIsDocumentEditableAttribute">
            <summary>
            Returns true if we have a document that is not marked read-only
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetIsSelectionEditableAttribute">
            <summary>
            Returns true if the current selection anchor is editable
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetDocumentAttribute">
            <summary>
            the DOM Document this editor is associated with, refcounted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetRootElementAttribute">
            <summary>
            the body element, i.e. the root of the editable document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetSelectionControllerAttribute">
            <summary>
            the selection controller for the current presentation, refcounted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.DeleteSelection(System.Int16,System.Int16)">
            <summary>
            DeleteSelection removes all nodes in the current selection.
            </summary>
            <param name="aDir">
            if eNext, delete to the right (for example, the DEL key)
            if ePrevious, delete to the left (for example, the BACKSPACE key)
            </param>
            <param name="stripWrappers">
            If eStrip, strip any empty inline elements left
            behind after the deletion; if eNoStrip, don&apos;t.  If in
            doubt, pass eStrip -- eNoStrip is only for if you&apos;re
            about to insert text or similar right after.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetDocumentIsEmptyAttribute">
            <summary>
            Returns true if the document has no *meaningful* content
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetDocumentModifiedAttribute">
            <summary>
            Returns true if the document is modifed and needs saving
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetDocumentCharacterSetAttribute(Gecko.nsACStringBase)">
            <summary>
            Sets the current &apos;Save&apos; document character set
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.ResetModificationCount">
            <summary>
            to be used ONLY when we need to override the doc&apos;s modification
            state (such as when it&apos;s saved).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetModificationCount">
            <summary>
            Gets the modification count of the document we are editing.
            </summary>
            <returns>
            the modification count of the document being edited.
            Zero means unchanged.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.IncrementModificationCount(System.Int32)">
            <summary>
            called each time we modify the document.
            Increments the modification count of the document.
            </summary>
            <param name="aModCount">
            the number of modifications by which
            to increase or decrease the count
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetTransactionManagerAttribute">
            <summary>
            transactionManager Get the transaction manager the editor is using.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.DoTransaction(Gecko.Interfaces.nsITransaction)">
            <summary>
            doTransaction() fires a transaction.
            It is provided here so clients can create their own transactions.
            If a transaction manager is present, it is used.
            Otherwise, the transaction is just executed directly.
            </summary>
            <param name="aTxn">
            the transaction to execute
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.EnableUndo(System.Boolean)">
            <summary>
            turn the undo system on or off
            </summary>
            <param name="aEnable">
            if PR_TRUE, the undo system is turned on if available
            if PR_FALSE the undo system is turned off if it
            was previously on
            </param>
            <returns>
            if aEnable is PR_TRUE, returns NS_OK if
            the undo system could be initialized properly
            if aEnable is PR_FALSE, returns NS_OK.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetNumberOfUndoItemsAttribute">
            <summary>
            The number of items on the undo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetNumberOfRedoItemsAttribute">
            <summary>
            The number of items on the redo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.Undo(System.UInt32)">
            <summary>
            undo reverses the effects of the last Do operation,
            if Undo is enabled in the editor.
            It is provided here so clients need no knowledge of whether
            the editor has a transaction manager or not.
            If a transaction manager is present, it is told to undo,
            and the result of that undo is returned.
            Otherwise, the Undo request is ignored and an
            error NS_ERROR_NOT_AVAILABLE is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CanUndo(System.Boolean@,System.Boolean@)">
            <summary>
            returns state information about the undo system.
            </summary>
            <param name="aIsEnabled">
            [OUT] PR_TRUE if undo is enabled
            </param>
            <param name="aCanUndo">
            [OUT] PR_TRUE if at least one transaction is
            currently ready to be undone.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.Redo(System.UInt32)">
            <summary>
            redo reverses the effects of the last Undo operation
            It is provided here so clients need no knowledge of whether
            the editor has a transaction manager or not.
            If a transaction manager is present, it is told to redo and the
            result of the previously undone transaction is reapplied to the document.
            If no transaction is available for Redo, or if the document
            has no transaction manager, the Redo request is ignored and an
            error NS_ERROR_NOT_AVAILABLE is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CanRedo(System.Boolean@,System.Boolean@)">
            <summary>
            returns state information about the redo system.
            </summary>
            <param name="aIsEnabled">
            [OUT] PR_TRUE if redo is enabled
            </param>
            <param name="aCanRedo">
            [OUT] PR_TRUE if at least one transaction is
            currently ready to be redone.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.BeginTransaction">
            <summary>
            beginTransaction is a signal from the caller to the editor that
            the caller will execute multiple updates to the content tree
            that should be treated as a single logical operation,
            in the most efficient way possible.&lt;br&gt;
            All transactions executed between a call to beginTransaction and
            endTransaction will be undoable as an atomic action.&lt;br&gt;
            endTransaction must be called after beginTransaction.&lt;br&gt;
            Calls to beginTransaction can be nested, as long as endTransaction
            is called once per beginUpdate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.EndTransaction">
            <summary>
            endTransaction is a signal to the editor that the caller is
            finished updating the content model.&lt;br&gt;
            beginUpdate must be called before endTransaction is called.&lt;br&gt;
            Calls to beginTransaction can be nested, as long as endTransaction
            is called once per beginTransaction.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.SetShouldTxnSetSelection(System.Boolean)">
            <summary>
            Set the flag that prevents insertElementTxn from changing the selection
            </summary>
            <param name="should">
            Set false to suppress changing the selection;
            i.e., before using InsertElement() to insert
            under &lt;head&gt; element
            WARNING: You must be very careful to reset back to PR_TRUE after
            setting PR_FALSE, else selection/caret is trashed
            for further editing.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetInlineSpellChecker(System.Boolean)">
            <summary>
            Returns the inline spell checker associated with this object. The spell
            checker is lazily created, so this function may create the object for
            you during this call.
            </summary>
            <param name="autoCreate">
            If true, this will create a spell checker object
            if one does not exist yet for this editor. If false
            and the object has not been created, this function
            WILL RETURN NULL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.SyncRealTimeSpell">
            <summary>
            Resyncs spellchecking state (enabled/disabled).  This should be called
            when anything that affects spellchecking state changes, such as the
            spellcheck attribute value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.SetSpellcheckUserOverride(System.Boolean)">
            <summary>
            Called when the user manually overrides the spellchecking state for this
            editor.
            </summary>
            <param name="enable">
            The new state of spellchecking in this editor, as
            requested by the user.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.Cut">
            <summary>
            cut the currently selected text, putting it into the OS clipboard
            What if no text is selected?
            What about mixed selections?
            What are the clipboard formats?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CanCut">
            <summary>
            Can we cut? True if the doc is modifiable, and we have a non-
            collapsed selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.Copy">
            <summary>
            copy the currently selected text, putting it into the OS clipboard
            What if no text is selected?
            What about mixed selections?
            What are the clipboard formats?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CanCopy">
            <summary>
            Can we copy? True if we have a non-collapsed selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CanDelete">
            <summary>
            Can we delete? True if we have a non-collapsed selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.Paste(System.Int32)">
            <summary>
            paste the text in the OS clipboard at the cursor position, replacing
            the selected text (if any)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.PasteTransferable(Gecko.Interfaces.nsITransferable)">
            <summary>
            Paste the text in |aTransferable| at the cursor position, replacing the
            selected text (if any).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CanPaste(System.Int32)">
            <summary>
            Can we paste? True if the doc is modifiable, and we have
            pasteable data in the clipboard.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CanPasteTransferable(Gecko.Interfaces.nsITransferable)">
            <summary>
            Can we paste |aTransferable| or, if |aTransferable| is null, will a call
            to pasteTransferable later possibly succeed if given an instance of
            nsITransferable then? True if the doc is modifiable, and, if
            |aTransfeable| is non-null, we have pasteable data in |aTransfeable|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.SelectAll">
            <summary>
            sets the document selection to the entire contents of the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.BeginningOfDocument">
            <summary>
            sets the document selection to the beginning of the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.EndOfDocument">
            <summary>
            sets the document selection to the end of the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.SetAttribute(Gecko.Interfaces.nsIDOMElement,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            setAttribute() sets the attribute of aElement.
            No checking is done to see if aAttribute is a legal attribute of the node,
            or if aValue is a legal value of aAttribute.
            </summary>
            <param name="aElement">
            the content element to operate on
            </param>
            <param name="aAttribute">
            the string representation of the attribute to set
            </param>
            <param name="aValue">
            the value to set aAttribute to
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetAttributeValue(Gecko.Interfaces.nsIDOMElement,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            getAttributeValue() retrieves the attribute&apos;s value for aElement.
            </summary>
            <param name="aElement">
            the content element to operate on
            </param>
            <param name="aAttribute">
            the string representation of the attribute to get
            </param>
            <param name="aResultValue">
            [OUT] the value of aAttribute.
            Only valid if aResultIsSet is PR_TRUE
            </param>
            <returns>
            PR_TRUE if aAttribute is set on the current node,
            PR_FALSE if it is not.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.RemoveAttribute(Gecko.Interfaces.nsIDOMElement,Gecko.nsAStringBase)">
            <summary>
            removeAttribute() deletes aAttribute from the attribute list of aElement.
            If aAttribute is not an attribute of aElement, nothing is done.
            </summary>
            <param name="aElement">
            the content element to operate on
            </param>
            <param name="aAttribute">
            the string representation of the attribute to get
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CloneAttribute(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            cloneAttribute() copies the attribute from the source node to
            the destination node and delete those not in the source.
            
            The supplied nodes MUST BE ELEMENTS (most callers are working with nodes)
            </summary>
            <param name="aAttribute">
            the name of the attribute to copy
            </param>
            <param name="aDestNode">
            the destination element to operate on
            </param>
            <param name="aSourceNode">
            the source element to copy attributes from
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CloneAttributes(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            cloneAttributes() is similar to nsIDOMNode::cloneNode(),
            it assures the attribute nodes of the destination are identical
            with the source node by copying all existing attributes from the
            source and deleting those not in the source.
            This is used when the destination node (element) already exists
            
            The supplied nodes MUST BE ELEMENTS (most callers are working with nodes)
            </summary>
            <param name="aDestNode">
            the destination element to operate on
            </param>
            <param name="aSourceNode">
            the source element to copy attributes from
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.CreateNode(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            createNode instantiates a new element of type aTag and inserts it
            into aParent at aPosition.
            </summary>
            <param name="aTag">
            The type of object to create
            </param>
            <param name="aParent">
            The node to insert the new object into
            </param>
            <param name="aPosition">
            The place in aParent to insert the new node
            </param>
            <returns>
            The node created.  Caller must release aNewNode.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.InsertNode(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            insertNode inserts aNode into aParent at aPosition.
            No checking is done to verify the legality of the insertion.
            That is the responsibility of the caller.
            </summary>
            <param name="aNode">
            The DOM Node to insert.
            </param>
            <param name="aParent">
            The node to insert the new object into
            </param>
            <param name="aPosition">
            The place in aParent to insert the new node
            0=first child, 1=second child, etc.
            any number &gt; number of current children = last child
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.SplitNode(Gecko.Interfaces.nsIDOMNode,System.Int32,Gecko.Interfaces.nsIDOMNode@)">
            <summary>
            splitNode() creates a new node identical to an existing node,
            and split the contents between the two nodes
            </summary>
            <param name="aExistingRightNode">
            the node to split.
            It will become the new node&apos;s next sibling.
            </param>
            <param name="aOffset">
            the offset of aExistingRightNode&apos;s
            content|children to do the split at
            </param>
            <param name="aNewLeftNode">
            [OUT] the new node resulting from the split,
            becomes aExistingRightNode&apos;s previous sibling.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.JoinNodes(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            joinNodes() takes 2 nodes and merge their content|children.
            </summary>
            <param name="aLeftNode">
            The left node.  It will be deleted.
            </param>
            <param name="aRightNode">
            The right node. It will remain after the join.
            </param>
            <param name="aParent">
            The parent of aExistingRightNode
            
            There is no requirement that the two nodes be
            of the same type.  However, a text node can be
            merged only with another text node.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.DeleteNode(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            deleteNode removes aChild from aParent.
            </summary>
            <param name="aChild">
            The node to delete
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.OutputsMozDirty">
            <summary>
            Returns true if markNodeDirty() has any effect.  Returns false if
            markNodeDirty() is a no-op.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.MarkNodeDirty(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            markNodeDirty() sets a special dirty attribute on the node.
            Usually this will be called immediately after creating a new node.
            </summary>
            <param name="aNode">
            The node for which to insert formatting.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.SwitchTextDirection">
            <summary>
            Switches the editor element direction; from &quot;Left-to-Right&quot; to
            &quot;Right-to-Left&quot;, and vice versa.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.OutputToString(Gecko.nsAStringBase,System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Output methods:
            aFormatType is a mime type, like text/plain.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.AddEditorObserver(Gecko.Interfaces.nsIEditorObserver)">
            <summary>
            add an EditorObserver to the editors list of observers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.RemoveEditorObserver(Gecko.Interfaces.nsIEditorObserver)">
            <summary>
            Remove an EditorObserver from the editor&apos;s list of observers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.AddEditActionListener(Gecko.Interfaces.nsIEditActionListener)">
            <summary>
            add an EditActionListener to the editors list of listeners.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.RemoveEditActionListener(Gecko.Interfaces.nsIEditActionListener)">
            <summary>
            Remove an EditActionListener from the editor&apos;s list of listeners.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.AddDocumentStateListener(Gecko.Interfaces.nsIDocumentStateListener)">
            <summary>
            Add a DocumentStateListener to the editors list of doc state listeners.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.RemoveDocumentStateListener(Gecko.Interfaces.nsIDocumentStateListener)">
            <summary>
            Remove a DocumentStateListener to the editors list of doc state listeners.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.DumpContentTree">
            <summary>
            And a debug method -- show us what the tree looks like right now
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.DebugDumpContent">
            <summary>
            Dumps a text representation of the content tree to standard out
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditor.GetIsInEditActionAttribute">
            <summary>
            True if an edit action is being handled (in other words, between calls of
            nsIEditorObserver::BeforeEditAction() and nsIEditorObserver::EditAction()
            or nsIEditorObserver::CancelEditAction().  Otherwise, false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorIMESupport.ForceCompositionEnd">
            <summary>
            forceCompositionEnd() force the composition end
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorIMESupport.GetPreferredIMEState">
            <summary>
            Get preferred IME status of current widget.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorIMESupport.GetComposingAttribute">
            <summary>
            whether this editor has active IME transaction
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.PasteAsQuotation(System.Int32)">
            <summary>
            Paste the text in the OS clipboard at the cursor position,
            as a quotation (whose representation is dependant on the editor type),
            replacing the selected text (if any).
            </summary>
            <param name="aSelectionType">
            Text or html?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.InsertAsQuotation(Gecko.nsAStringBase)">
            <summary>
            Insert a string as quoted text
            (whose representation is dependant on the editor type),
            replacing the selected text (if any).
            </summary>
            <param name="aQuotedText">
            The actual text to be quoted
            </param>
            <returns>
            The node which was inserted
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.InsertTextWithQuotations(Gecko.nsAStringBase)">
            <summary>
            Inserts a plaintext string at the current location,
            with special processing for lines beginning with &quot;&gt;&quot;,
            which will be treated as mail quotes and inserted
            as plaintext quoted blocks.
            If the selection is not collapsed, the selection is deleted
            and the insertion takes place at the resulting collapsed selection.
            </summary>
            <param name="aString">
            the string to be inserted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.PasteAsCitedQuotation(Gecko.nsAStringBase,System.Int32)">
            <summary>
            Paste a string as quoted text,
            whose representation is dependant on the editor type,
            replacing the selected text (if any)
            </summary>
            <param name="aCitation">
            The &quot;mid&quot; URL of the source message
            </param>
            <param name="aSelectionType">
            Text or html?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.InsertAsCitedQuotation(Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Insert a string as quoted text
            (whose representation is dependant on the editor type),
            replacing the selected text (if any),
            including, if possible, a &quot;cite&quot; attribute.
            </summary>
            <param name="aQuotedText">
            The actual text to be quoted
            </param>
            <param name="aCitation">
            The &quot;mid&quot; URL of the source message
            </param>
            <param name="aInsertHTML">
            Insert as html?  (vs plaintext)
            </param>
            <returns>
            The node which was inserted
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.Rewrap(System.Boolean)">
            <summary>
            Rewrap the selected part of the document, re-quoting if necessary.
            </summary>
            <param name="aRespectNewlines">
            Try to maintain newlines in the original?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.StripCites">
            <summary>
            Strip any citations in the selected part of the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorMailSupport.GetEmbeddedObjects">
            <summary>
            Get a list of IMG and OBJECT tags in the current document.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIEditorObserver">
            <summary>
            A generic editor observer interface.
            &lt;P&gt;
            nsIEditorObserver is the interface used by applications wishing to be notified
            when the editor has completed a user action.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorObserver.EditAction">
            <summary>
            Called after the editor completes a user action.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorObserver.BeforeEditAction">
            <summary>
            Called when editor starts to handle a user action.  I.e., This must be
            called before the first DOM change.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorObserver.CancelEditAction">
            <summary>
            Called after BeforeEditAction() is called but EditorAction() won&apos;t be
            called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.CanSpellCheck">
            <summary>
            Returns true if we can enable spellchecking. If there are no available
            dictionaries, this will return false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.InitSpellChecker(Gecko.Interfaces.nsIEditor,System.Boolean,Gecko.Interfaces.nsIEditorSpellCheckCallback)">
            <summary>
            Turns on the spell checker for the given editor. enableSelectionChecking
            set means that we only want to check the current selection in the editor,
            (this controls the behavior of GetNextMisspelledWord). For spellchecking
            clients with no modal UI (such as inline spellcheckers), this flag doesn&apos;t
            matter.  Initialization is asynchronous and is not complete until the given
            callback is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.GetNextMisspelledWord">
            <summary>
            When interactively spell checking the document, this will return the
            value of the next word that is misspelled. This also computes the
            suggestions which you can get by calling GetSuggestedWord.
            </summary>
            <remarks>
            See nsISpellChecker::GetNextMisspelledWord
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.GetSuggestedWord">
            <summary>
            Used to get suggestions for the last word that was checked and found to
            be misspelled. The first call will give you the first (best) suggestion.
            Subsequent calls will iterate through all the suggestions, allowing you
            to build a list. When there are no more suggestions, an empty string
            (not a null pointer) will be returned.
            </summary>
            <remarks>
            See nsISpellChecker::GetSuggestedWord
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.CheckCurrentWord(System.String)">
            <summary>
            Check a given word. In spite of the name, this function checks the word
            you give it, returning true if the word is misspelled. If the word is
            misspelled, it will compute the suggestions which you can get from
            GetSuggestedWord().
            </summary>
            <remarks>
            See nsISpellChecker::CheckCurrentWord
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.ReplaceWord(System.String,System.String,System.Boolean)">
            <summary>
            Use when modally checking the document to replace a word.
            </summary>
            <remarks>
            See nsISpellChecker::CheckCurrentWord
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.IgnoreWordAllOccurrences(System.String)">
            <summary>
            
            </summary>
            <remarks>
            See nsISpellChecker::IgnoreAll
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.GetPersonalDictionary">
            <summary>
            Fills an internal list of words added to the personal dictionary. These
            words can be retrieved using GetPersonalDictionaryWord()
            </summary>
            <remarks>
            See GetPersonalDictionaryWord
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.GetPersonalDictionaryWord">
            <summary>
            Used after you call GetPersonalDictionary() to iterate through all the
            words added to the personal dictionary. Will return the empty string when
            there are no more words.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.AddWordToDictionary(System.String)">
            <summary>
            Adds a word to the current personal dictionary.
            </summary>
            <remarks>
            See nsISpellChecker::AddWordToDictionary
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.RemoveWordFromDictionary(System.String)">
            <summary>
            Removes a word from the current personal dictionary.
            </summary>
            <remarks>
            See nsISpellChecker::RemoveWordFromPersonalDictionary
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.GetDictionaryList(System.IntPtr@,System.UInt32@)">
            <summary>
            Retrieves a list of the currently available dictionaries. The strings will
            typically be language IDs, like &quot;en-US&quot;.
            </summary>
            <remarks>
            See mozISpellCheckingEngine::GetDictionaryList
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.GetCurrentDictionary(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See nsISpellChecker::GetCurrentDictionary
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.SetCurrentDictionary(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See nsISpellChecker::SetCurrentDictionary
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.UninitSpellChecker">
            <summary>
            Call this to free up the spell checking object. It will also save the
            current selected language as the default for future use.
            
            If you have called CanSpellCheck but not InitSpellChecker, you can still
            call this function to clear the cached spell check object, and no
            preference saving will happen.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.SetFilter(Gecko.Interfaces.nsITextServicesFilter)">
            <summary>
            Used to filter the content (for example, to skip blockquotes in email from
            spellchecking. Call this before calling InitSpellChecker; calling it
            after initialization will have no effect.
            </summary>
            <remarks>
            See nsITextServicesDocument::setFilter
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.CheckCurrentWordNoSuggest(System.String)">
            <summary>
            Like CheckCurrentWord, checks the word you give it, returning true if it&apos;s
            misspelled. This is faster than CheckCurrentWord because it does not
            compute any suggestions.
            
            Watch out: this does not clear any suggestions left over from previous
            calls to CheckCurrentWord, so there may be suggestions, but they will be
            invalid.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorSpellCheck.UpdateCurrentDictionary(Gecko.Interfaces.nsIEditorSpellCheckCallback)">
            <summary>
            Update the dictionary in use to be sure it corresponds to what the editor
            needs.  The update is asynchronous and is not complete until the given
            callback is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorStyleSheets.ReplaceStyleSheet(Gecko.nsAStringBase)">
            <summary>
            Load and apply the style sheet, specified by aURL, to the
            editor&apos;s document, replacing the last style sheet added (if any).
            This is always asynchronous, and may cause network I/O.
            </summary>
            <param name="aURL">
            The style sheet to be loaded and applied.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorStyleSheets.AddStyleSheet(Gecko.nsAStringBase)">
            <summary>
            Add the given style sheet to the editor&apos;s document,
            on top of any that are already there.
            This is always asynchronous, and may cause network I/O.
            </summary>
            <param name="aURL">
            The style sheet to be loaded and applied.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorStyleSheets.ReplaceOverrideStyleSheet(Gecko.nsAStringBase)">
            <summary>
            Load and apply the override style sheet, specified by aURL, to the
            editor&apos;s document, replacing the last override style sheet added (if any).
            This is always synchronous, so aURL should be a local file with only
            local @imports. This action is not undoable. It is not intended for
            &quot;user&quot; style sheets, only for editor developers to add sheets to change
            display behavior for editing (like showing special cursors) that will
            not be affected by loading &quot;document&quot; style sheets with addStyleSheet or
            especially replaceStyleSheet.
            </summary>
            <param name="aURL">
            The style sheet to be loaded and applied.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorStyleSheets.AddOverrideStyleSheet(Gecko.nsAStringBase)">
            <summary>
            Load and apply an override style sheet, specified by aURL, to
            the editor&apos;s document, on top of any that are already there.
            This is always synchronous, so the same caveats about local files and no
            non-local @import as replaceOverrideStyleSheet apply here, too.
            </summary>
            <param name="aURL">
            The style sheet to be loaded and applied.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorStyleSheets.RemoveStyleSheet(Gecko.nsAStringBase)">
            <summary>
            Remove the given style sheet from the editor&apos;s document
            This is always synchronous
            </summary>
            <param name="aURL">
            The style sheet to be removed
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorStyleSheets.RemoveOverrideStyleSheet(Gecko.nsAStringBase)">
            <summary>
            Remove the given override style sheet from the editor&apos;s document
            This is always synchronous
            </summary>
            <param name="aURL">
            The style sheet to be removed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEditorStyleSheets.EnableStyleSheet(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Enable or disable the given style sheet from the editor&apos;s document
            This is always synchronous
            </summary>
            <param name="aURL">
            The style sheet to be enabled or disabled
            </param>
            <param name="aEnable">
            true to enable, or false to disable the style sheet
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEffectiveTLDService.GetPublicSuffix(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase)">
            <summary>
            Returns the public suffix of a URI. A public suffix is the highest-level domain
            under which individual domains may be registered; it may therefore contain one
            or more dots. For example, the public suffix for "www.bbc.co.uk" is "co.uk",
            because the .uk TLD does not allow the registration of domains at the
            second level ("bbc.uk" is forbidden).
            
            The public suffix will be returned encoded in ASCII/ACE and will be normalized
            according to RFC 3454, i.e. the same encoding returned by nsIURI::GetAsciiHost().
            If consumers wish to compare the result of this method against the host from
            another nsIURI, the host should be obtained using nsIURI::GetAsciiHost().
            In the case of nested URIs, the innermost URI will be used.
            </summary>
            <param name="aURI">
            The URI to be analyzed
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: or other error returned by nsIIDNService::normalize when
            the hostname contains characters disallowed in URIs
            NS_ERROR_HOST_IS_IP_ADDRESS: if the host is a numeric IPv4 or IPv6 address (as determined by
            the success of a call to PR_StringToNetAddr()).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIEffectiveTLDService.GetBaseDomain(Gecko.Interfaces.nsIURI,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Returns the base domain of a URI; that is, the public suffix with a given
            number of additional domain name parts. For example, the result of this method
            for "www.bbc.co.uk", depending on the value of aAdditionalParts parameter, will
            be:
            
            0 (default) -&gt; bbc.co.uk
            1           -&gt; www.bbc.co.uk
            
            Similarly, the public suffix for "www.developer.mozilla.org" is "org", and the base
            domain will be:
            
            0 (default) -&gt; mozilla.org
            1           -&gt; developer.mozilla.org
            2           -&gt; www.developer.mozilla.org
            
            The base domain will be returned encoded in ASCII/ACE and will be normalized
            according to RFC 3454, i.e. the same encoding returned by nsIURI::GetAsciiHost().
            If consumers wish to compare the result of this method against the host from
            another nsIURI, the host should be obtained using nsIURI::GetAsciiHost().
            In the case of nested URIs, the innermost URI will be used.
            </summary>
            <param name="aURI">
            The URI to be analyzed
            </param>
            <param name="aAdditionalParts">
            Number of domain name parts to be
            returned in addition to the public suffix
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: or other error returned by nsIIDNService::normalize when
            the hostname contains characters disallowed in URIs
            NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS: when there are insufficient subdomain levels in the hostname to satisfy the
            requested aAdditionalParts value.
            NS_ERROR_HOST_IS_IP_ADDRESS: if aHost is a numeric IPv4 or IPv6 address (as determined by
            the success of a call to PR_StringToNetAddr()).
            </exception>
            <remarks>
            See getPublicSuffix()
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEffectiveTLDService.GetPublicSuffixFromHost(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase)">
            <summary>
            NOTE: It is strongly recommended to use getPublicSuffix() above if a suitable
            nsIURI is available. Only use this method if this is not the case.
            
            Returns the public suffix of a host string. Otherwise identical to getPublicSuffix().
            </summary>
            <param name="aHost">
            The host to be analyzed. Any additional parts (e.g. scheme,
            port, or path) will cause this method to throw. ASCII/ACE and
            UTF8 encodings are acceptable as input; normalization will
            be performed as specified in getBaseDomain().
            </param>
            <remarks>
            See getPublicSuffix()
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEffectiveTLDService.GetBaseDomainFromHost(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            NOTE: It is strongly recommended to use getBaseDomain() above if a suitable
            nsIURI is available. Only use this method if this is not the case.
            
            Returns the base domain of a host string. Otherwise identical to getBaseDomain().
            </summary>
            <param name="aHost">
            The host to be analyzed. Any additional parts (e.g. scheme,
            port, or path) will cause this method to throw. ASCII/ACE and
            UTF8 encodings are acceptable as input; normalization will
            be performed as specified in getBaseDomain().
            </param>
            <remarks>
            See getBaseDomain()
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEffectiveTLDService.GetNextSubDomain(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase)">
            <summary>
            Returns the parent sub-domain of a host string. If the host is a base
            domain, it will throw NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS.
            
            For example: &quot;player.bbc.co.uk&quot; would return &quot;bbc.co.uk&quot; and
            &quot;bbc.co.uk&quot; would throw NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS.
            </summary>
            <param name="aHost">
            The host to be analyzed. Any additional parts (e.g. scheme,
            port, or path) will cause this method to throw. ASCII/ACE and
            UTF8 encodings are acceptable as input; normalization will
            be performed as specified in getBaseDomain().
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIEmbeddingSiteWindow">
            <summary>
            The nsIEmbeddingSiteWindow is implemented by the embedder to provide
            Gecko with the means to call up to the host to resize the window,
            hide or show it and set/get its title.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEmbeddingSiteWindow.SetDimensions(System.UInt32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets the dimensions for the window; the position &amp; size. The
            flags to indicate what the caller wants to set and whether the size
            refers to the inner or outer area. The inner area refers to just
            the embedded area, wheras the outer area can also include any
            surrounding chrome, window frame, title bar, and so on.
            </summary>
            <param name="flags">
            Combination of position, inner and outer size flags.
            The ignore flags are telling the parent to use the
            current values for those dimensions and ignore the
            corresponding parameters the child sends.
            </param>
            <param name="x">
            Left hand corner of the outer area.
            </param>
            <param name="y">
            Top corner of the outer area.
            </param>
            <param name="cx">
            Width of the inner or outer area.
            </param>
            <param name="cy">
            Height of the inner or outer area.
            </param>
            <returns>
            &lt;code&gt;NS_OK&lt;/code&gt; if operation was performed correctly;
            &lt;code&gt;NS_ERROR_UNEXPECTED&lt;/code&gt; if window could not be
            destroyed;
            &lt;code&gt;NS_ERROR_INVALID_ARG&lt;/code&gt; for bad flag combination
            or illegal dimensions.
            </returns>
            <remarks>
            See DIM_FLAGS_SIZE_INNER
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEmbeddingSiteWindow.GetDimensions(System.UInt32,System.Int32*,System.Int32*,System.Int32*,System.Int32*)">
            <summary>
            Gets the dimensions of the window. The caller may pass
            &lt;CODE&gt;nullptr&lt;/CODE&gt; for any value it is uninterested in receiving.
            </summary>
            <param name="flags">
            Combination of position, inner and outer size flag .
            </param>
            <param name="x">
            Left hand corner of the outer area; or &lt;CODE&gt;nullptr&lt;/CODE&gt;.
            </param>
            <param name="y">
            Top corner of the outer area; or &lt;CODE&gt;nullptr&lt;/CODE&gt;.
            </param>
            <param name="cx">
            Width of the inner or outer area; or &lt;CODE&gt;nullptr&lt;/CODE&gt;.
            </param>
            <param name="cy">
            Height of the inner or outer area; or &lt;CODE&gt;nullptr&lt;/CODE&gt;.
            </param>
            <remarks>
            See DIM_FLAGS_SIZE_INNER
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIEmbeddingSiteWindow.SetFocus">
            <summary>
            Give the window focus.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEmbeddingSiteWindow.GetVisibilityAttribute">
            <summary>
            Visibility of the window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEmbeddingSiteWindow.GetTitleAttribute">
            <summary>
            Title of the window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEmbeddingSiteWindow.GetSiteWindowAttribute">
            <summary>
            Native window for the site&apos;s window. The implementor should copy the
            native window object into the address supplied by the caller. The
            type of the native window that the address refers to is  platform
            and OS specific as follows:
            
            &lt;ul&gt;
            &lt;li&gt;On Win32 it is an &lt;CODE&gt;HWND&lt;/CODE&gt;.&lt;/li&gt;
            &lt;li&gt;On MacOS this is a &lt;CODE&gt;WindowPtr&lt;/CODE&gt;.&lt;/li&gt;
            &lt;li&gt;On GTK this is a &lt;CODE&gt;GtkWidget*&lt;/CODE&gt;.&lt;/li&gt;
            &lt;/ul&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEmbeddingSiteWindow.Blur">
            <summary>
            Blur the window. This should unfocus the window and send an onblur event.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIEncodedChannel">
            <summary>
            A channel interface which allows special handling of encoded content
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEncodedChannel.GetContentEncodingsAttribute">
            <summary>
            This attribute holds the MIME types corresponding to the content
            encodings on the channel.  The enumerator returns nsISupportsCString
            objects.  The first one corresponds to the outermost encoding on the
            channel and then we work our way inward.  &quot;identity&quot; is skipped and not
            represented on the list.  Unknown encodings make the enumeration stop.
            If you want the actual Content-Encoding value, use
            getResponseHeader(&quot;Content-Encoding&quot;).
            
            When there is no Content-Encoding header, this property is null.
            
            Modifying the Content-Encoding header on the channel will cause
            this enumerator to have undefined behavior.  Don&apos;t do it.
            
            Also note that contentEncodings only exist during or after OnStartRequest.
            Calling contentEncodings before OnStartRequest is an error.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEncodedChannel.GetApplyConversionAttribute">
            <summary>
            This attribute controls whether or not content conversion should be
            done per the Content-Encoding response header.  applyConversion can only
            be set before or during OnStartRequest.  Calling this during
            OnDataAvailable is an error.
            
            TRUE by default.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEncodedChannel.DoApplyContentConversions(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsIStreamListener@,Gecko.Interfaces.nsISupports)">
            <summary>
            This function will start converters if they are available.
            aNewNextListener will be nullptr if no converter is available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEnumerator.First">
            <summary>
            First will reset the list. will return NS_FAILED if no items
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEnumerator.Next">
            <summary>
            Next will advance the list. will return failed if already at end
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEnumerator.CurrentItem">
            <summary>
            CurrentItem will return the CurrentItem item it will fail if the
            list is empty
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEnumerator.IsDone">
            <summary>
            return if the collection is at the end.  that is the beginning following
            a call to Prev and it is the end of the list following a call to next
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalEnumerator.First">
            <summary>
            First will reset the list. will return NS_FAILED if no items
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalEnumerator.Next">
            <summary>
            Next will advance the list. will return failed if already at end
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalEnumerator.CurrentItem">
            <summary>
            CurrentItem will return the CurrentItem item it will fail if the
            list is empty
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalEnumerator.IsDone">
            <summary>
            return if the collection is at the end.  that is the beginning following
            a call to Prev and it is the end of the list following a call to next
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalEnumerator.Last">
            <summary>
            Last will reset the list to the end. will return NS_FAILED if no items
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalEnumerator.Prev">
            <summary>
            Prev will decrement the list. will return failed if already at beginning
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIEnvironment">
            <summary>
            Scriptable access to the current process environment.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEnvironment.Set(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Set the value of an environment variable.
            </summary>
            <param name="aName">
            the variable name to set.
            </param>
            <param name="aValue">
            the value to set.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIEnvironment.Get(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Get the value of an environment variable.
            </summary>
            <param name="aName">
            the variable name to retrieve.
            </param>
            <returns>
            returns the value of the env variable. An empty string
            will be returned when the env variable does not exist or
            when the value itself is an empty string - please use
            |exists()| to probe whether the env variable exists
            or not.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIEnvironment.Exists(Gecko.nsAStringBase)">
            <summary>
            Check the existence of an environment variable.
            This method checks whether an environment variable is present in
            the environment or not.
            
            - For Unix/Linux platforms we follow the Unix definition:
            An environment variable exists when |getenv()| returns a non-NULL value.
            An environment variable does not exist when |getenv()| returns NULL.
            - For non-Unix/Linux platforms we have to fall back to a
            &quot;portable&quot; definition (which is incorrect for Unix/Linux!!!!)
            which simply checks whether the string returned by |Get()| is empty
            or not.
            </summary>
            <param name="aName">
            the variable name to probe.
            </param>
            <returns>
            if the variable has been set, the value returned is
            PR_TRUE. If the variable was not defined in the
            environment PR_FALSE will be returned.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIErrorService">
            <summary>
            nsIErrorService: This is an interim service that allows nsresult codes to be mapped to
            string bundles that can be used to look up error messages. String bundle keys can also
            be mapped.
            
            This service will eventually get replaced by extending xpidl to allow errors to be defined.
            (http://bugzilla.mozilla.org/show_bug.cgi?id=13423).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIErrorService.RegisterErrorStringBundle(System.Int16,System.String)">
            <summary>
            Registers a string bundle URL for an error module. Error modules are obtained from
            nsresult code with NS_ERROR_GET_MODULE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIErrorService.UnregisterErrorStringBundle(System.Int16)">
            <summary>
            Unregisters a string bundle URL for an error module.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIErrorService.GetErrorStringBundle(System.Int16)">
            <summary>
            Retrieves a string bundle URL for an error module.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIEventListenerChange">
            <summary>
            Contains an event target along with an array of nsIAtom in form &quot;oneventname&quot;
            representing changed event listener names.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIEventListenerInfo">
            <summary>
            An instance of this interface describes how an event listener
            was added to an event target.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerInfo.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The type of the event for which the listener was added.
            Null if the listener is for all the events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerInfo.GetListenerObjectAttribute(System.IntPtr)">
            <summary>
            The underlying JS object of the event listener, if this listener
            has one.  Null otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerInfo.ToSource(Gecko.nsAStringBase)">
            <summary>
            Tries to serialize event listener to a string.
            Returns null if serialization isn&apos;t possible
            (for example with C++ listeners).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerService.GetListenerInfoFor(Gecko.Interfaces.nsIDOMEventTarget,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of nsIEventListenerInfo objects.
            If aEventTarget doesn&apos;t have any listeners, this returns null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerService.GetEventTargetChainFor(Gecko.Interfaces.nsIDOMEventTarget,System.Boolean,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of event targets.
            aEventTarget will be at index 0.
            The objects are the ones that would be used as DOMEvent.currentTarget while
            dispatching an event to aEventTarget
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerService.HasListenersFor(Gecko.Interfaces.nsIDOMEventTarget,Gecko.nsAStringBase)">
            <summary>
            Returns true if a event target has any listener for the given type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerService.AddSystemEventListener(Gecko.Interfaces.nsIDOMEventTarget,Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            Add a system-group eventlistener to a event target.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventListenerService.RemoveSystemEventListener(Gecko.Interfaces.nsIDOMEventTarget,Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            Remove a system-group eventlistener from a event target.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventTarget.IsOnCurrentThread">
            <summary>
            Check to see if this event target is associated with the current thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventTarget.DispatchFromC(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target.  This function may be called from
            any thread, and it may be called re-entrantly.
            </summary>
            <param name="event">
            The alreadyAddRefed&lt;&gt; event to dispatch.
            NOTE that the event will be leaked if it fails to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventTarget.Dispatch(Gecko.Interfaces.nsIRunnable,System.UInt32)">
            <summary>
            Version of Dispatch to expose to JS, which doesn't require an alreadyAddRefed&lt;&gt;
            (it will be converted to that internally)
            </summary>
            <param name="event">
            The (raw) event to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIEventTarget.DelayedDispatch(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target, but do not run it before delay
            milliseconds have passed.  This function may be called from any thread.
            </summary>
            <param name="event">
            The alreadyAddrefed&lt;&gt; event to dispatch.
            </param>
            <param name="delay">
            The delay (in ms) before running the event.  If event does not rise to
            the top of the event queue before the delay has passed, it will be set
            aside to execute once the delay has passed.  Otherwise, it will be
            executed immediately.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched, or
            that delay is zero.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIExpatSink">
            <summary>
            This interface should be implemented by any content sink that wants
            to get output from expat and do something with it; in other words,
            by any sink that handles some sort of XML dialect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleStartElement(System.String,System.IntPtr[],System.UInt32,System.UInt32)">
            <summary>
            Called to handle the opening tag of an element.
            </summary>
            <param name="aName">
            the fully qualified tagname of the element
            </param>
            <param name="aAtts">
            the array of attribute names and values.  There are
            aAttsCount/2 names and aAttsCount/2 values, so the total number of
            elements in the array is aAttsCount.  The names and values
            alternate.  Thus, if we number attributes starting with 0,
            aAtts[2*k] is the name of the k-th attribute and aAtts[2*k+1] is
            the value of that attribute  Both explicitly specified attributes
            and attributes that are defined to have default values in a DTD are
            present in aAtts.
            </param>
            <param name="aAttsCount">
            the number of elements in aAtts.
            </param>
            <param name="aLineNumber">
            the line number of the start tag in the data stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleEndElement(System.String)">
            <summary>
            Called to handle the closing tag of an element.
            </summary>
            <param name="aName">
            the fully qualified tagname of the element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleComment(System.String)">
            <summary>
            Called to handle a comment
            </summary>
            <param name="aCommentText">
            the text of the comment (not including the
            &quot;&lt;!--&quot; and &quot;--&gt;&quot;)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleCDataSection(System.String,System.UInt32)">
            <summary>
            Called to handle a CDATA section
            </summary>
            <param name="aData">
            the text in the CDATA section.  This is null-terminated.
            </param>
            <param name="aLength">
            the length of the aData string
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleDoctypeDecl(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to handle the doctype declaration
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleCharacterData(System.String,System.UInt32)">
            <summary>
            Called to handle character data.  Note that this does NOT get
            called for the contents of CDATA sections.
            </summary>
            <param name="aData">
            the data to handle.  aData is NOT NULL-TERMINATED.
            </param>
            <param name="aLength">
            the length of the aData string
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleProcessingInstruction(System.String,System.String)">
            <summary>
            Called to handle a processing instruction
            </summary>
            <param name="aTarget">
            the PI target (e.g. xml-stylesheet)
            </param>
            <param name="aData">
            all the rest of the data in the PI
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.HandleXMLDeclaration(System.String,System.String,System.Int32)">
            <summary>
            Handle the XML Declaration.
            </summary>
            <param name="aVersion">
            The version string, can be null if not specified.
            </param>
            <param name="aEncoding">
            The encoding string, can be null if not specified.
            </param>
            <param name="aStandalone">
            -1, 0, or 1 indicating respectively that there was no
            standalone parameter in the declaration, that it was
            given as no, or that it was given as yes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpatSink.ReportError(System.String,System.String,Gecko.Interfaces.nsIScriptError)">
            <summary>
            Ask the content sink if the expat driver should log an error to the console.
            </summary>
            <param name="aErrorText">
            Error message to pass to content sink.
            </param>
            <param name="aSourceText">
            Source text of the document we&apos;re parsing.
            </param>
            <param name="aError">
            Script error object with line number &amp; column number
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIExtendedExpatSink">
            <summary>
            This interface provides notification of syntax-level events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleStartElement(System.String,System.IntPtr[],System.UInt32,System.UInt32)">
            <summary>
            Called to handle the opening tag of an element.
            </summary>
            <param name="aName">
            the fully qualified tagname of the element
            </param>
            <param name="aAtts">
            the array of attribute names and values.  There are
            aAttsCount/2 names and aAttsCount/2 values, so the total number of
            elements in the array is aAttsCount.  The names and values
            alternate.  Thus, if we number attributes starting with 0,
            aAtts[2*k] is the name of the k-th attribute and aAtts[2*k+1] is
            the value of that attribute  Both explicitly specified attributes
            and attributes that are defined to have default values in a DTD are
            present in aAtts.
            </param>
            <param name="aAttsCount">
            the number of elements in aAtts.
            </param>
            <param name="aLineNumber">
            the line number of the start tag in the data stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleEndElement(System.String)">
            <summary>
            Called to handle the closing tag of an element.
            </summary>
            <param name="aName">
            the fully qualified tagname of the element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleComment(System.String)">
            <summary>
            Called to handle a comment
            </summary>
            <param name="aCommentText">
            the text of the comment (not including the
            &quot;&lt;!--&quot; and &quot;--&gt;&quot;)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleCDataSection(System.String,System.UInt32)">
            <summary>
            Called to handle a CDATA section
            </summary>
            <param name="aData">
            the text in the CDATA section.  This is null-terminated.
            </param>
            <param name="aLength">
            the length of the aData string
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleDoctypeDecl(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to handle the doctype declaration
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleCharacterData(System.String,System.UInt32)">
            <summary>
            Called to handle character data.  Note that this does NOT get
            called for the contents of CDATA sections.
            </summary>
            <param name="aData">
            the data to handle.  aData is NOT NULL-TERMINATED.
            </param>
            <param name="aLength">
            the length of the aData string
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleProcessingInstruction(System.String,System.String)">
            <summary>
            Called to handle a processing instruction
            </summary>
            <param name="aTarget">
            the PI target (e.g. xml-stylesheet)
            </param>
            <param name="aData">
            all the rest of the data in the PI
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleXMLDeclaration(System.String,System.String,System.Int32)">
            <summary>
            Handle the XML Declaration.
            </summary>
            <param name="aVersion">
            The version string, can be null if not specified.
            </param>
            <param name="aEncoding">
            The encoding string, can be null if not specified.
            </param>
            <param name="aStandalone">
            -1, 0, or 1 indicating respectively that there was no
            standalone parameter in the declaration, that it was
            given as no, or that it was given as yes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.ReportError(System.String,System.String,Gecko.Interfaces.nsIScriptError)">
            <summary>
            Ask the content sink if the expat driver should log an error to the console.
            </summary>
            <param name="aErrorText">
            Error message to pass to content sink.
            </param>
            <param name="aSourceText">
            Source text of the document we&apos;re parsing.
            </param>
            <param name="aError">
            Script error object with line number &amp; column number
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleStartDTD(System.String,System.String,System.String)">
            <summary>
            Called at the beginning of the DTD, before any entity or notation
            events.
            </summary>
            <param name="aDoctypeName">
            The document type name.
            </param>
            <param name="aSysid">
            The declared system identifier for the external DTD subset,
            or null if none was declared.
            </param>
            <param name="aPubid">
            The declared public identifier for the external DTD subset,
            or null if none was declared.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleStartNamespaceDecl(System.String,System.String)">
            <summary>
            Called when a prefix mapping starts to be in-scope, before any
            startElement events.
            </summary>
            <param name="aPrefix">
            The Namespace prefix being declared. An empty string
            is used for the default element namespace, which has
            no prefix.
            </param>
            <param name="aUri">
            The Namespace URI the prefix is mapped to.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleEndNamespaceDecl(System.String)">
            <summary>
            Called when a prefix mapping is no longer in-scope, after any
            endElement events.
            </summary>
            <param name="aPrefix">
            The prefix that was being mapped. This is the empty string
            when a default mapping scope ends.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleNotationDecl(System.String,System.String,System.String)">
            <summary>
            This is called for a declaration of notation.  The base argument is
            whatever was set by XML_SetBase. aNotationName will never be
            null. The other arguments can be.
            </summary>
            <param name="aNotationName">
            The notation name.
            </param>
            <param name="aSysId">
            The notation&apos;s system identifier, or null if none was given.
            </param>
            <param name="aPubId">
            The notation&apos;s pubilc identifier, or null if none was given.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExtendedExpatSink.HandleUnparsedEntityDecl(System.String,System.String,System.String,System.String)">
            <summary>
            This is called for a declaration of an unparsed (NDATA) entity.
            aName, aSysid and aNotationName arguments will never be
            null. The other arguments may be.
            </summary>
            <param name="aName">
            The unparsed entity&apos;s name.
            </param>
            <param name="aSysId">
            The notation&apos;s system identifier.
            </param>
            <param name="aPubId">
            The notation&apos;s pubilc identifier, or null if none was given.
            </param>
            <param name="aNotationName">
            The name of the associated notation.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIExternalHelperAppService">
            <summary>
            The external helper app service is used for finding and launching
            platform specific external applications for a given mime content type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalHelperAppService.DoContent(Gecko.nsACStringBase,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsIInterfaceRequestor,System.Boolean,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Binds an external helper application to a stream listener. The caller
            should pump data into the returned stream listener. When the OnStopRequest
            is issued, the stream listener implementation will launch the helper app
            with this data.
            </summary>
            <param name="aMimeContentType">
            The content type of the incoming data
            </param>
            <param name="aRequest">
            The request corresponding to the incoming data
            </param>
            <param name="aContentContext">
            Used in processing content document refresh
            headers after target content is downloaded. Note in e10s land
            this is likely a CPOW that points to a window in the child process.
            </param>
            <param name="aForceSave">
            True to always save this content to disk, regardless of
            nsIMIMEInfo and other such influences.
            </param>
            <param name="aWindowContext">
            Used in parenting helper app dialogs, usually
            points to the parent browser window. This parameter may be null,
            in which case dialogs will be parented to aContentContext.
            </param>
            <returns>
            A nsIStreamListener which the caller should pump the data into.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalHelperAppService.ApplyDecodingForExtension(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase)">
            <summary>
            Returns true if data from a URL with this extension combination
            is to be decoded from aEncodingType prior to saving or passing
            off to helper apps, false otherwise.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsPIExternalAppLauncher">
            <summary>
            This is a private interface shared between external app handlers and the platform specific
            external helper app service
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIExternalAppLauncher.DeleteTemporaryFileOnExit(Gecko.Interfaces.nsIFile)">
            <summary>
            mscott --&gt; eventually I should move this into a new service so other
            consumers can add temporary files they want deleted on exit.
            </summary>
            <param name="aTemporaryFile">
            A temporary file we should delete on exit.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsPIExternalAppLauncher.DeleteTemporaryPrivateFileWhenPossible(Gecko.Interfaces.nsIFile)">
            <summary>
            Delete a temporary file created inside private browsing mode when
            the private browsing mode has ended.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHelperAppLauncher">
            <summary>
            A helper app launcher is a small object created to handle the launching
            of an external application.
            
            Note that cancelling the load via the nsICancelable interface will release
            the reference to the launcher dialog.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.Cancel(System.Int32)">
            <summary>
            Call this method to request that this object abort whatever operation it
            may be performing.
            </summary>
            <param name="aReason">
            Pass a failure code to indicate the reason why this operation is
            being canceled.  It is an error to pass a success code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.GetMIMEInfoAttribute">
            <summary>
            The mime info object associated with the content type this helper app
            launcher is currently attempting to load
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.GetSourceAttribute">
            <summary>
            The source uri
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.GetSuggestedFileNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The suggested name for this file
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.SaveToDisk(Gecko.Interfaces.nsIFile,System.Boolean)">
            <summary>
            Saves the final destination of the file. Does not actually perform the
            save.
            NOTE: This will release the reference to the
            nsIHelperAppLauncherDialog.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.LaunchWithApplication(Gecko.Interfaces.nsIFile,System.Boolean)">
            <summary>
            Remembers that aApplication should be used to launch this content. Does
            not actually launch the application.
            NOTE: This will release the reference to the nsIHelperAppLauncherDialog.
            </summary>
            <param name="aApplication">
            nsIFile corresponding to the location of the application to use.
            </param>
            <param name="aRememberThisPreference">
            TRUE if we should remember this choice.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.SaveDestinationAvailable(Gecko.Interfaces.nsIFile)">
            <summary>
            Callback invoked by nsIHelperAppLauncherDialog::promptForSaveToFileAsync
            after the user has chosen a file through the File Picker (or dismissed it).
            </summary>
            <param name="aFile">
            The file that was chosen by the user (or null if dialog was dismissed).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.SetWebProgressListener(Gecko.Interfaces.nsIWebProgressListener2)">
            <summary>
            The following methods are used by the progress dialog to get or set
            information on the current helper app launcher download.
            This reference will be released when the download is finished (after the
            listener receives the STATE_STOP notification).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.GetTargetFileAttribute">
            <summary>
            The file we are saving to
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.GetTargetFileIsExecutableAttribute">
            <summary>
            The executable-ness of the target file
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.GetTimeDownloadStartedAttribute">
            <summary>
            Time when the download started
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncher.GetContentLengthAttribute">
            <summary>
            The download content length, or -1 if the length is not available.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtocolHandler">
            <summary>
            nsIProtocolHandler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolHandler.ExternalAppExistsForScheme(Gecko.nsACStringBase)">
            <summary>
            This method checks if the external handler exists for a given scheme.
            </summary>
            <param name="scheme">
            external scheme.
            </param>
            <returns>
            TRUE if the external handler exists for the input scheme, FALSE otherwise.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIExternalProtocolService">
            <summary>
            The external protocol service is used for finding and launching
            web handlers (a la registerProtocolHandler in the HTML5 draft) or
            platform-specific applications for handling particular protocols.
            
            You can ask the external protocol service if it has an external
            handler for a given protocol scheme. And you can ask it to load
            the url using the default handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.ExternalProtocolHandlerExists(System.String)">
            <summary>
            Check whether a handler for a specific protocol exists.  Specifically,
            this looks to see whether there are any known possible application handlers
            in either the nsIHandlerService datastore or registered with the OS.
            </summary>
            <param name="aProtocolScheme">
            The scheme from a url: http, ftp, mailto, etc.
            </param>
            <returns>
            true if we have a handler and false otherwise.
            
            XXX shouldn&apos;t aProtocolScheme be an ACString like nsIURI::scheme?
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.IsExposedProtocol(System.String)">
            <summary>
            Check whether a handler for a specific protocol is &quot;exposed&quot; as a visible
            feature of the current application.
            
            An exposed protocol handler is one that can be used in all contexts.  A
            non-exposed protocol handler is one that can only be used internally by the
            application.  For example, a non-exposed protocol would not be loaded by the
            application in response to a link click or a X-remote openURL command.
            Instead, it would be deferred to the system&apos;s external protocol handler.
            XXX shouldn&apos;t aProtocolScheme be an ACString like nsIURI::scheme?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.GetProtocolHandlerInfo(Gecko.nsACStringBase)">
            <summary>
            Retrieve the handler for the given protocol.  If neither the application
            nor the OS knows about a handler for the protocol, the object this method
            returns will represent a default handler for unknown content.
            </summary>
            <param name="aProtocolScheme">
            the scheme from a URL: http, ftp, mailto, etc.
            
            Note: aProtocolScheme should not include a trailing colon, which is part
            of the URI syntax, not part of the scheme itself (i.e. pass &quot;mailto&quot; not
            &quot;mailto:&quot;).
            </param>
            <returns>
            the handler, if any; otherwise a default handler
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.GetProtocolHandlerInfoFromOS(Gecko.nsACStringBase,System.Boolean@)">
            <summary>
            Given a scheme, looks up the protocol info from the OS.  This should be
            overridden by each OS&apos;s implementation.
            </summary>
            <param name="aScheme">
            The protocol scheme we are looking for.
            </param>
            <param name="aFound">
            Was an OS default handler for this scheme found?
            </param>
            <returns>
            An nsIHanderInfo for the protocol.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.SetProtocolHandlerDefaults(Gecko.Interfaces.nsIHandlerInfo,System.Boolean)">
            <summary>
            Set some sane defaults for a protocol handler object.
            </summary>
            <param name="aHandlerInfo">
            nsIHandlerInfo object, as returned by
            getProtocolHandlerInfoFromOS
            </param>
            <param name="aOSHandlerExists">
            was the object above created for an extant
            OS default handler?  This is generally the
            value of the aFound out param from
            getProtocolHandlerInfoFromOS.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.LoadUrl(Gecko.Interfaces.nsIURI)">
            <summary>
            Used to load a url via an external protocol handler (if one exists)
            </summary>
            <param name="aURL">
            The url to load
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.LoadURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Used to load a URI via an external application. Might prompt the user for
            permission to load the external application.
            </summary>
            <param name="aURI">
            The URI to load
            </param>
            <param name="aWindowContext">
            The window to parent the dialog against, and, if a web handler
            is chosen, it is loaded in this window as well.  This parameter
            may be ultimately passed nsIURILoader.openURI in the case of a
            web handler, and aWindowContext is null or not present, web
            handlers will fail.  We need to do better than that; bug 394483
            filed in order to track.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalProtocolService.GetApplicationDescription(Gecko.nsAUTF8StringBase,Gecko.nsAStringBase)">
            <summary>
            Gets a human-readable description for the application responsible for
            handling a specific protocol.
            </summary>
            <param name="aScheme">
            The scheme to look up. For example, &quot;mms&quot;.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIHandlerApp">
            <summary>
            nsIHandlerApp represents an external application that can handle content
            of some sort (either a MIME type or a protocol).
            
            FIXME: now that we&apos;ve made nsIWebHandlerApp inherit from nsIHandlerApp,
            we should also try to make nsIWebContentHandlerInfo inherit from or possibly
            be replaced by nsIWebHandlerApp (bug 394710).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerApp.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Human readable name for the handler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerApp.GetDetailedDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            Detailed description for this handler. Suitable for
            a tooltip or short informative sentence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerApp.Equals(Gecko.Interfaces.nsIHandlerApp)">
            <summary>
            Whether or not the given handler app is logically equivalent to the
            invokant (i.e. they represent the same app).
            
            Two apps are the same if they are both either local or web handlers
            and their executables/URI templates and command line parameters are
            the same.
            </summary>
            <param name="aHandlerApp">
            the handler app to compare to the invokant
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerApp.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            Currently only relevant to web-handler apps.  If given, this
            represents the docshell to load the handler in and is passed
            through to nsIURILoader.openURI.  If this parameter is null or
            not present, the web handler app implementation will attempt to
            find/create a place to load the handler and do so.  As of this
            writing, it tries to load the web handler in a new window using
            nsIBrowserDOMWindow.openURI.  In the future, it may attempt to
            have a more comprehensive strategy which could include handing
            off to the system default browser (bug 394479).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISharingHandlerApp.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Human readable name for the handler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISharingHandlerApp.GetDetailedDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            Detailed description for this handler. Suitable for
            a tooltip or short informative sentence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISharingHandlerApp.Equals(Gecko.Interfaces.nsIHandlerApp)">
            <summary>
            Whether or not the given handler app is logically equivalent to the
            invokant (i.e. they represent the same app).
            
            Two apps are the same if they are both either local or web handlers
            and their executables/URI templates and command line parameters are
            the same.
            </summary>
            <param name="aHandlerApp">
            the handler app to compare to the invokant
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISharingHandlerApp.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            Currently only relevant to web-handler apps.  If given, this
            represents the docshell to load the handler in and is passed
            through to nsIURILoader.openURI.  If this parameter is null or
            not present, the web handler app implementation will attempt to
            find/create a place to load the handler and do so.  As of this
            writing, it tries to load the web handler in a new window using
            nsIBrowserDOMWindow.openURI.  In the future, it may attempt to
            have a more comprehensive strategy which could include handing
            off to the system default browser (bug 394479).
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIExternalURLHandlerService">
            <summary>
            The external URL handler service is used for finding
            platform-specific applications for handling particular URLs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExternalURLHandlerService.GetURLHandlerInfoFromOS(Gecko.Interfaces.nsIURI,System.Boolean@)">
            <summary>
            Given a URL, looks up the handler info from the OS. This should be
            overridden by each OS&apos;s implementation.
            </summary>
            <param name="aURL">
            The URL we are looking for.
            </param>
            <param name="aFound">
            Was an OS default handler for this URL found?
            </param>
            <returns>
            An nsIHanderInfo for the protocol.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIFactory">
            <summary>
            A class factory allows the creation of nsISupports derived
            components without specifying a concrete base class.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFactory.CreateInstance(Gecko.Interfaces.nsISupports,System.Guid@)">
            <summary>
            Creates an instance of a component.
            </summary>
            <param name="aOuter">
            Pointer to a component that wishes to be aggregated
            in the resulting instance. This will be nullptr if no
            aggregation is requested.
            </param>
            <param name="iid">
            The IID of the interface being requested in
            the component which is being currently created.
            </param>
            <param name="result">
            [out] Pointer to the newly created instance, if successful.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_NOINTERFACE: - Interface not accessible.
            NS_ERROR_NO_AGGREGATION: - if an 'outer' object is supplied, but the
            component is not aggregatable.
            NS_ERROR* - Method failure.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFactory.LockFactory(System.Boolean)">
            <summary>
            LockFactory provides the client a way to keep the component
            in memory until it is finished with it. The client can call
            LockFactory(PR_TRUE) to lock the factory and LockFactory(PR_FALSE)
            to release the factory.
            </summary>
            <param name="lock">
            - Must be PR_TRUE or PR_FALSE
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR*: - Method failure.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFaviconService.GetFaviconLinkForIcon(Gecko.Interfaces.nsIURI)">
            <summary>
            For a given icon URI, this will return a URI that will result in the image.
            In most cases, this is an annotation URI.  For chrome URIs, this will do
            nothing but returning the input URI.
            
            No validity checking is done. If you pass an icon URI that we&apos;ve never
            seen, you&apos;ll get back a URI that references an invalid icon. The moz-anno
            protocol handler&apos;s special case for &quot;favicon&quot; annotations will resolve
            invalid icons to the default icon, although without caching.
            For invalid chrome URIs, you&apos;ll get a broken image.
            </summary>
            <param name="aFaviconURI">
            The URI of an icon in the favicon service.
            </param>
            <returns>
            A URI that will give you the icon image.  This is NOT the URI of
            the icon as set on the page, but a URI that will give you the
            data out of the favicon service.  For a normal page with a
            favicon we&apos;ve stored, this will be an annotation URI which will
            then cause the corresponding favicon data to be loaded async from
            this service.  For pages where we don&apos;t have a favicon, this will
            be a chrome URI of the default icon. For chrome URIs, the
            output will be the same as the input.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFaviconService.ExpireAllFavicons">
            <summary>
            Expire all known favicons from the database.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFaviconService.AddFailedFavicon(Gecko.Interfaces.nsIURI)">
            <summary>
            Adds a given favicon&apos;s URI to the failed favicon cache.
            
            The lifespan of the favicon cache is up to the caching system.  This cache
            will also be written when setAndLoadFaviconForPage hits an error while
            fetching an icon.
            </summary>
            <param name="aFaviconURI">
            The URI of an icon in the favicon service.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFaviconService.RemoveFailedFavicon(Gecko.Interfaces.nsIURI)">
            <summary>
            Removes the given favicon from the failed favicon cache.  If the icon is
            not in the cache, it will silently succeed.
            </summary>
            <param name="aFaviconURI">
            The URI of an icon in the favicon service.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFaviconService.IsFailedFavicon(Gecko.Interfaces.nsIURI)">
            <summary>
            Checks to see if a favicon is in the failed favicon cache.
            A positive return value means the icon is in the failed cache and you
            probably shouldn&apos;t try to load it.  A false return value means that it&apos;s
            worth trying to load it.
            This allows you to avoid trying to load &quot;foo.com/favicon.ico&quot; for every
            page on a site that doesn&apos;t have a favicon.
            </summary>
            <param name="aFaviconURI">
            The URI of an icon in the favicon service.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFaviconService.GetDefaultFaviconAttribute">
            <summary>
            The default favicon URI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFaviconDataCallback.OnComplete(Gecko.Interfaces.nsIURI,System.UInt32,System.Byte[],Gecko.nsAUTF8StringBase)">
            <summary>
            Called when the required favicon&apos;s information is available.
            
            It&apos;s up to the invoking method to state if the callback is always invoked,
            or called on success only.  Check the method documentation to ensure that.
            
            The caller will receive the most information we can gather on the icon,
            but it&apos;s not guaranteed that all of them will be set.  For some method
            we could not know the favicon&apos;s data (it could just be too expensive to
            get it, or the method does not require we actually have any data).
            It&apos;s up to the caller to check aDataLen &gt; 0 before using any data-related
            information like mime-type or data itself.
            </summary>
            <param name="aFaviconURI">
            Receives the &quot;favicon URI&quot; (not the &quot;favicon link URI&quot;) associated
            to the requested page.  This can be null if there is no associated
            favicon URI, or the callback is notifying a failure.
            </param>
            <param name="aDataLen">
            Size of the icon data in bytes.  Notice that a value of 0 does not
            necessarily mean that we don&apos;t have an icon.
            </param>
            <param name="aData">
            Icon data, or an empty array if aDataLen is 0.
            </param>
            <param name="aMimeType">
            Mime type of the icon, or an empty string if aDataLen is 0.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeed">
            <summary>
            An nsIFeed represents a single Atom or RSS feed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedContainer">
            <summary>
            A shared base for feeds and items, which are pretty similar,
            but they have some divergent attributes and require
            different convenience methods.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedElementBase">
            <summary>
            An nsIFeedGenerator represents the software used to create a feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedElementBase.GetAttributesAttribute">
            <summary>
            The attributes found on the element. Most interfaces provide convenience
            accessors for their standard fields, so this useful only when looking for
            an extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedElementBase.GetBaseURIAttribute">
            <summary>
            The baseURI for the Entry or Feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetAttributesAttribute">
            <summary>
            The attributes found on the element. Most interfaces provide convenience
            accessors for their standard fields, so this useful only when looking for
            an extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetBaseURIAttribute">
            <summary>
            The baseURI for the Entry or Feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetIdAttribute(Gecko.nsAStringBase)">
            <summary>
            Many feeds contain an ID distinct from their URI, and
            entries have standard fields for this in all major formats.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetFieldsAttribute">
            <summary>
            The fields found in the document. Common Atom
            and RSS fields are normalized. This includes some namespaced
            extensions such as dc:subject and content:encoded.
            Consumers can avoid normalization by checking the feed type
            and accessing specific fields.
            
            Common namespaces are accessed using prefixes, like get(&quot;dc:subject&quot;);.
            See nsIFeedResult::registerExtensionPrefix.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetTitleAttribute">
            <summary>
            Sometimes there&apos;s no title, or the title contains markup, so take
            care in decoding the attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetLinkAttribute">
            <summary>
            Returns the primary link for the feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetLinksAttribute">
            <summary>
            Returns all links for a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetCategoriesAttribute">
            <summary>
            Returns the categories found in a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetRightsAttribute">
            <summary>
            The rights or license associated with a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetAuthorsAttribute">
            <summary>
            A list of nsIFeedPersons that authored the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetContributorsAttribute">
            <summary>
            A list of nsIFeedPersons that contributed to the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.GetUpdatedAttribute(Gecko.nsAStringBase)">
            <summary>
            The date the feed was updated, in RFC822 form. Parsable by JS
            and mail code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedContainer.Normalize">
            <summary>
            Syncs a container&apos;s fields with its convenience attributes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetAttributesAttribute">
            <summary>
            The attributes found on the element. Most interfaces provide convenience
            accessors for their standard fields, so this useful only when looking for
            an extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetBaseURIAttribute">
            <summary>
            The baseURI for the Entry or Feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetIdAttribute(Gecko.nsAStringBase)">
            <summary>
            Many feeds contain an ID distinct from their URI, and
            entries have standard fields for this in all major formats.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetFieldsAttribute">
            <summary>
            The fields found in the document. Common Atom
            and RSS fields are normalized. This includes some namespaced
            extensions such as dc:subject and content:encoded.
            Consumers can avoid normalization by checking the feed type
            and accessing specific fields.
            
            Common namespaces are accessed using prefixes, like get(&quot;dc:subject&quot;);.
            See nsIFeedResult::registerExtensionPrefix.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetTitleAttribute">
            <summary>
            Sometimes there&apos;s no title, or the title contains markup, so take
            care in decoding the attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetLinkAttribute">
            <summary>
            Returns the primary link for the feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetLinksAttribute">
            <summary>
            Returns all links for a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetCategoriesAttribute">
            <summary>
            Returns the categories found in a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetRightsAttribute">
            <summary>
            The rights or license associated with a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetAuthorsAttribute">
            <summary>
            A list of nsIFeedPersons that authored the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetContributorsAttribute">
            <summary>
            A list of nsIFeedPersons that contributed to the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetUpdatedAttribute(Gecko.nsAStringBase)">
            <summary>
            The date the feed was updated, in RFC822 form. Parsable by JS
            and mail code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.Normalize">
            <summary>
            Syncs a container&apos;s fields with its convenience attributes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetSubtitleAttribute">
            <summary>
            Uses description, subtitle, and extensions
            to generate a summary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetTypeAttribute">
            <summary>
            The type of feed. For example, a podcast would be TYPE_AUDIO.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetEnclosureCountAttribute">
            <summary>
            The total number of enclosures found in the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetItemsAttribute">
            <summary>
            The items or entries in feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetCloudAttribute">
            <summary>
            No one really knows what cloud is for.
            
            It supposedly enables some sort of interaction with an XML-RPC or
            SOAP service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetGeneratorAttribute">
            <summary>
            Information about the software that produced the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetImageAttribute">
            <summary>
            An image url and some metadata (as defined by RSS2).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetTextInputAttribute">
            <summary>
            No one really knows what textInput is for.
            
            See
            &lt;http://www.cadenhead.org/workbench/news/2894/rss-joy-textinput&gt;
            for more details.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetSkipDaysAttribute">
            <summary>
            Days to skip fetching. This field was supposed to designate
            intervals for feed fetching. It&apos;s not generally implemented. For
            example, if this array contained &quot;Monday&quot;, aggregators should not
            fetch the feed on Mondays.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeed.GetSkipHoursAttribute">
            <summary>
            Hours to skip fetching. This field was supposed to designate
            intervals for feed fetching. It&apos;s not generally implemented. See
            &lt;http://blogs.law.harvard.edu/tech/rss&gt; for more information.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedEntry">
            <summary>
            An nsIFeedEntry represents an Atom or RSS entry/item. Summary
            and/or full-text content may be available, but callers will have to
            check both.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetAttributesAttribute">
            <summary>
            The attributes found on the element. Most interfaces provide convenience
            accessors for their standard fields, so this useful only when looking for
            an extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetBaseURIAttribute">
            <summary>
            The baseURI for the Entry or Feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetIdAttribute(Gecko.nsAStringBase)">
            <summary>
            Many feeds contain an ID distinct from their URI, and
            entries have standard fields for this in all major formats.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetFieldsAttribute">
            <summary>
            The fields found in the document. Common Atom
            and RSS fields are normalized. This includes some namespaced
            extensions such as dc:subject and content:encoded.
            Consumers can avoid normalization by checking the feed type
            and accessing specific fields.
            
            Common namespaces are accessed using prefixes, like get(&quot;dc:subject&quot;);.
            See nsIFeedResult::registerExtensionPrefix.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetTitleAttribute">
            <summary>
            Sometimes there&apos;s no title, or the title contains markup, so take
            care in decoding the attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetLinkAttribute">
            <summary>
            Returns the primary link for the feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetLinksAttribute">
            <summary>
            Returns all links for a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetCategoriesAttribute">
            <summary>
            Returns the categories found in a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetRightsAttribute">
            <summary>
            The rights or license associated with a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetAuthorsAttribute">
            <summary>
            A list of nsIFeedPersons that authored the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetContributorsAttribute">
            <summary>
            A list of nsIFeedPersons that contributed to the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetUpdatedAttribute(Gecko.nsAStringBase)">
            <summary>
            The date the feed was updated, in RFC822 form. Parsable by JS
            and mail code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.Normalize">
            <summary>
            Syncs a container&apos;s fields with its convenience attributes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetSummaryAttribute">
            <summary>
            Uses description, subtitle, summary, content and extensions
            to generate a summary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetPublishedAttribute(Gecko.nsAStringBase)">
            <summary>
            The date the entry was published, in RFC822 form. Parsable by JS
            and mail code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetContentAttribute">
            <summary>
            Uses atom:content and content:encoded to provide
            a &apos;full text&apos; view of an entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetEnclosuresAttribute">
            <summary>
            Enclosures are podcasts, photocasts, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedEntry.GetMediaContentAttribute">
            <summary>
            Enclosures, etc. that might be displayed inline.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedGenerator">
            <summary>
            An nsIFeedGenerator represents the software used to create a feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedGenerator.GetAttributesAttribute">
            <summary>
            The attributes found on the element. Most interfaces provide convenience
            accessors for their standard fields, so this useful only when looking for
            an extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedGenerator.GetBaseURIAttribute">
            <summary>
            The baseURI for the Entry or Feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedGenerator.GetAgentAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the software.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedGenerator.GetVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            The version of the software.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedGenerator.GetUriAttribute">
            <summary>
            A URI associated with the software.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedResultListener">
            <summary>
            nsIFeedResultListener defines a callback used when feed processing
            completes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResultListener.HandleResult(Gecko.Interfaces.nsIFeedResult)">
            <summary>
            Always called, even after an error. There could be new feed-level
            data available at this point, if it followed or was interspersed
            with the items. Fire-and-Forget implementations only need this.
            </summary>
            <param name="result">
            An object implementing nsIFeedResult representing the feed
            and its metadata.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedProgressListener">
            <summary>
            nsIFeedProgressListener defines callbacks used during feed
            processing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProgressListener.HandleResult(Gecko.Interfaces.nsIFeedResult)">
            <summary>
            Always called, even after an error. There could be new feed-level
            data available at this point, if it followed or was interspersed
            with the items. Fire-and-Forget implementations only need this.
            </summary>
            <param name="result">
            An object implementing nsIFeedResult representing the feed
            and its metadata.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProgressListener.ReportError(Gecko.nsAStringBase,System.Int32,System.Boolean)">
            <summary>
            ReportError will be called in the event of fatal
            XML errors, or if the document is not a feed. The bozo
            bit will be set if the error was due to a fatal error.
            </summary>
            <param name="errorText">
            A short description of the error.
            </param>
            <param name="lineNumber">
            The line on which the error occurred.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProgressListener.HandleStartFeed(Gecko.Interfaces.nsIFeedResult)">
            <summary>
            StartFeed will be called as soon as a reasonable start to
            a feed is detected.
            </summary>
            <param name="result">
            An object implementing nsIFeedResult representing the feed
            and its metadata. At this point, the result has version
            information.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProgressListener.HandleFeedAtFirstEntry(Gecko.Interfaces.nsIFeedResult)">
            <summary>
            Called when the first entry/item is encountered. In Atom, all
            feed data is required to preceed the entries. In RSS, the data
            usually does. If the type is one of the entry/item-only types,
            this event will not be called.
            </summary>
            <param name="result">
            An object implementing nsIFeedResult representing the feed
            and its metadata. At this point, the result will likely have
            most of its feed-level metadata.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProgressListener.HandleEntry(Gecko.Interfaces.nsIFeedEntry,Gecko.Interfaces.nsIFeedResult)">
            <summary>
            Called after each entry/item. If the document is a standalone
            item or entry, this HandleFeedAtFirstEntry will not have been
            called. Also, this entry&apos;s parent field will be null.
            </summary>
            <param name="entry">
            An object implementing nsIFeedEntry that represents the latest
            entry encountered.
            </param>
            <param name="result">
            An object implementing nsIFeedResult representing the feed
            and its metadata.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedPerson">
            <summary>
            An nsIFeedPerson represents an author or contributor of a feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedPerson.GetAttributesAttribute">
            <summary>
            The attributes found on the element. Most interfaces provide convenience
            accessors for their standard fields, so this useful only when looking for
            an extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedPerson.GetBaseURIAttribute">
            <summary>
            The baseURI for the Entry or Feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedPerson.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the person.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedPerson.GetEmailAttribute(Gecko.nsAStringBase)">
            <summary>
            An email address associated with the person.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedPerson.GetUriAttribute">
            <summary>
            A URI associated with the person (e.g. a homepage).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedProcessor">
            <summary>
            An nsIFeedProcessor parses feeds, triggering callbacks based on
            their contents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProcessor.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProcessor.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProcessor.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProcessor.GetListenerAttribute">
            <summary>
            The listener that will respond to feed events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProcessor.ParseFromStream(Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIURI)">
            <summary>
            Parse a feed from an nsIInputStream.
            </summary>
            <param name="stream">
            The input stream.
            </param>
            <param name="uri">
            The base URI.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProcessor.ParseFromString(Gecko.nsAStringBase,Gecko.Interfaces.nsIURI)">
            <summary>
            Parse a feed from a string.
            </summary>
            <param name="str">
            The string to parse.
            </param>
            <param name="uri">
            The base URI.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedProcessor.ParseAsync(Gecko.Interfaces.nsIRequestObserver,Gecko.Interfaces.nsIURI)">
            <summary>
            Parse a feed asynchronously. The caller must then call the
            nsIFeedProcessor&apos;s nsIStreamListener methods to drive the
            parse. Do not call the other parse methods during an asynchronous
            parse.
            </summary>
            <param name="requestObserver">
            The observer to notify on start/stop. This
            argument can be null.
            </param>
            <param name="uri">
            The base URI.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedResult">
            <summary>
            The nsIFeedResult interface provides access to HTTP and parsing
            metadata for a feed or entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResult.GetBozoAttribute">
            <summary>
            The Feed parser will set the bozo bit when a feed triggers a fatal
            error during XML parsing. There may be entries and feed metadata
            that were parsed before the error.  Thanks to Tim Bray for
            suggesting this terminology.
            &lt;http://www.tbray.org/ongoing/When/200x/2004/01/11/PostelPilgrim&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResult.GetDocAttribute">
            <summary>
            The parsed feed or entry.
            
            Will be null if a non-feed is processed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResult.GetUriAttribute">
            <summary>
            The address from which the feed was fetched.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResult.GetVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            Feed Version:
            atom, rss2, rss09, rss091, rss091userland, rss092, rss1, atom03,
            atomEntry, rssItem
            
            Will be null if a non-feed is processed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResult.GetStylesheetAttribute">
            <summary>
            An XSLT stylesheet available to transform the source of the
            feed. Some feeds include this information in a processing
            instruction. It&apos;s generally intended for clients with specific
            feed capabilities.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResult.GetHeadersAttribute">
            <summary>
            HTTP response headers that accompanied the feed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResult.RegisterExtensionPrefix(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Registers a prefix used to access an extension in the feed/entry
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedResultService">
            <summary>
            nsIFeedResultService provides a globally-accessible object for retrieving
            the results of feed processing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResultService.GetForcePreviewPageAttribute">
            <summary>
            When set to true, forces the preview page to be displayed, regardless
            of the user&apos;s preferences.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResultService.AddToClientReader(Gecko.nsAUTF8StringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Adds a URI to the user&apos;s specified external feed handler, or live
            bookmarks.
            </summary>
            <param name="uri">
            The uri of the feed to add.
            </param>
            <param name="title">
            The title of the feed to add.
            </param>
            <param name="subtitle">
            The subtitle of the feed to add.
            </param>
            <param name="feedType">
            The nsIFeed type of the feed.  See nsIFeed.idl
            </param>
            <param name="feedReader">
            The type of feed reader we&apos;re using (client, bookmarks, default)
            If this parameter is null, the type is set to default
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResultService.AddFeedResult(Gecko.Interfaces.nsIFeedResult)">
            <summary>
            Registers a Feed Result object with a globally accessible service
            so that it can be accessed by a singleton method outside the usual
            flow of control in document loading.
            </summary>
            <param name="feedResult">
            An object implementing nsIFeedResult representing the feed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResultService.GetFeedResult(Gecko.Interfaces.nsIURI)">
            <summary>
            Gets a Feed Handler object registered using addFeedResult.
            </summary>
            <param name="uri">
            The URI of the feed a handler is being requested for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedResultService.RemoveFeedResult(Gecko.Interfaces.nsIURI)">
            <summary>
            Unregisters a Feed Handler object registered using addFeedResult.
            </summary>
            <param name="uri">
            The feed URI the handler was registered under. This must be
            the same *instance* the feed was registered under.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFeedTextConstruct">
            <summary>
            nsIFeedTextConstructs represent feed text fields that can contain
            one of text, HTML, or XHTML. Some extension elements also have &quot;type&quot;
            parameters, and this interface could be used there as well.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedTextConstruct.GetBaseAttribute">
            <summary>
            If the text construct contains (X)HTML, relative references in
            the content should be resolved against this base URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedTextConstruct.GetLangAttribute(Gecko.nsAStringBase)">
            <summary>
            The language of the text. For example, &quot;en-US&quot; for US English.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedTextConstruct.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            One of &quot;text&quot;, &quot;html&quot;, or &quot;xhtml&quot;. If the type is (x)html, a &apos;&lt;&apos;
            character represents markup. To display that character, an escape
            such as &amp;lt; must be used. If the type is &quot;text&quot;, the &apos;&lt;&apos;
            character represents the character itself, and such text should
            not be embedded in markup without escaping it first.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedTextConstruct.GetTextAttribute(Gecko.nsAStringBase)">
            <summary>
            The content of the text construct.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedTextConstruct.PlainText(Gecko.nsAStringBase)">
            <summary>
            Returns the text of the text construct, with all markup stripped
            and all entities decoded. If the type attribute&apos;s value is &quot;text&quot;,
            this function returns the value of the text attribute unchanged.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFeedTextConstruct.CreateDocumentFragment(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Return an nsIDocumentFragment containing the text and markup.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFile">
            <summary>
            An nsIFile is an abstract representation of a filename. It manages
            filename encoding issues, pathname component separators (&apos;/&apos; vs. &apos;\\&apos;
            vs. &apos;:&apos;) and weird stuff like differing volumes with identical names, as
            on pre-Darwin Macintoshes.
            
            This file has long introduced itself to new hackers with this opening
            paragraph:
            
            This is the only correct cross-platform way to specify a file.
            Strings are not such a way. If you grew up on windows or unix, you
            may think they are.  Welcome to reality.
            
            While taking the pose struck here to heart would be uncalled for, one
            may safely conclude that writing cross-platform code is an embittering
            experience.
            
            All methods with string parameters have two forms.  The preferred
            form operates on UCS-2 encoded characters strings.  An alternate
            form operates on characters strings encoded in the &quot;native&quot; charset.
            
            A string containing characters encoded in the native charset cannot
            be safely passed to javascript via xpconnect.  Therefore, the &quot;native
            methods&quot; are not scriptable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Append(Gecko.nsAStringBase)">
            <summary>
            append[Native]
            
            This function is used for constructing a descendent of the
            current nsIFile.
            </summary>
            <param name="node">
            A string which is intended to be a child node of the nsIFile.
            For the |appendNative| method, the node must be in the native
            filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Normalize">
            <summary>
            Normalize the pathName (e.g. removing .. and . components on Unix).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Create(System.UInt32,System.UInt32)">
            <summary>
            create
            
            This function will create a new file or directory in the
            file system. Any nodes that have not been created or
            resolved, will be.  If the file or directory already
            exists create() will return NS_ERROR_FILE_ALREADY_EXISTS.
            </summary>
            <param name="type">
            This specifies the type of file system object
            to be made.  The only two types at this time
            are file and directory which are defined above.
            If the type is unrecongnized, we will return an
            error (NS_ERROR_FILE_UNKNOWN_TYPE).
            </param>
            <param name="permissions">
            The unix style octal permissions.  This may
            be ignored on systems that do not need to do
            permissions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetLeafNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Accessor to the leaf name of the file itself.
            For the |nativeLeafName| method, the nativeLeafName must
            be in the native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.CopyTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            copyTo[Native]
            
            This will copy this file to the specified newParentDir.
            If a newName is specified, the file will be renamed.
            If &apos;this&apos; is not created we will return an error
            (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
            
            copyTo may fail if the file already exists in the destination
            directory.
            
            copyTo will NOT resolve aliases/shortcuts during the copy.
            </summary>
            <param name="newParentDir">
            This param is the destination directory. If the
            newParentDir is null, copyTo() will use the parent
            directory of this file. If the newParentDir is not
            empty and is not a directory, an error will be
            returned (NS_ERROR_FILE_DESTINATION_NOT_DIR). For the
            |CopyToNative| method, the newName must be in the
            native filesystem charset.
            </param>
            <param name="newName">
            This param allows you to specify a new name for
            the file to be copied. This param may be empty, in
            which case the current leaf name will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.CopyToFollowingLinks(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            copyToFollowingLinks[Native]
            
            This function is identical to copyTo with the exception that,
            as the name implies, it follows symbolic links.  The XP_UNIX
            implementation always follow symbolic links when copying.  For
            the |CopyToFollowingLinks| method, the newName must be in the
            native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.MoveTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            moveTo[Native]
            
            A method to move this file or directory to newParentDir.
            If a newName is specified, the file or directory will be renamed.
            If &apos;this&apos; is not created we will return an error
            (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
            If &apos;this&apos; is a file, and the destination file already exists, moveTo
            will replace the old file.
            This object is updated to refer to the new file.
            
            moveTo will NOT resolve aliases/shortcuts during the copy.
            moveTo will do the right thing and allow copies across volumes.
            moveTo will return an error (NS_ERROR_FILE_DIR_NOT_EMPTY) if &apos;this&apos; is
            a directory and the destination directory is not empty.
            moveTo will return an error (NS_ERROR_FILE_ACCESS_DENIED) if &apos;this&apos; is
            a directory and the destination directory is not writable.
            </summary>
            <param name="newParentDir">
            This param is the destination directory. If the
            newParentDir is empty, moveTo() will rename the file
            within its current directory. If the newParentDir is
            not empty and does not name a directory, an error will
            be returned (NS_ERROR_FILE_DESTINATION_NOT_DIR).  For
            the |moveToNative| method, the newName must be in the
            native filesystem charset.
            </param>
            <param name="newName">
            This param allows you to specify a new name for
            the file to be moved. This param may be empty, in
            which case the current leaf name will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.RenameTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            renameTo
            
            This method is identical to moveTo except that if this file or directory
            is moved to a a different volume, it fails and returns an error
            (NS_ERROR_FILE_ACCESS_DENIED).
            This object will still point to the old location after renaming.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Remove(System.Boolean)">
            <summary>
            This will try to delete this file.  The &apos;recursive&apos; flag
            must be PR_TRUE to delete directories which are not empty.
            
            This will not resolve any symlinks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetPermissionsAttribute">
            <summary>
            Attributes of nsIFile.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetLastModifiedTimeAttribute">
            <summary>
            File Times are to be in milliseconds from
            midnight (00:00:00), January 1, 1970 Greenwich Mean
            Time (GMT).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetFileSizeAttribute">
            <summary>
            WARNING!  On the Mac, getting/setting the file size with nsIFile
            only deals with the size of the data fork.  If you need to
            know the size of the combined data and resource forks use the
            GetFileSizeWithResFork() method defined on nsILocalFileMac.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetTargetAttribute(Gecko.nsAStringBase)">
            <summary>
            target &amp; path
            
            Accessor to the string path.  The native version of these
            strings are not guaranteed to be a usable path to pass to
            NSPR or the C stdlib.  There are problems that affect
            platforms on which a path does not fully specify a file
            because two volumes can have the same name (e.g., mac).
            This is solved by holding &quot;private&quot;, native data in the
            nsIFile implementation.  This native data is lost when
            you convert to a string.
            
            DO NOT PASS TO USE WITH NSPR OR STDLIB!
            
            target
            Find out what the symlink points at.  Will give error
            (NS_ERROR_FILE_INVALID_PATH) if not a symlink.
            
            path
            Find out what the nsIFile points at.
            
            Note that the ACString attributes are returned in the
            native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.IsSpecial">
            <summary>
            Not a regular file, not a directory, not a symlink.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.CreateUnique(System.UInt32,System.UInt32)">
            <summary>
            createUnique
            
            This function will create a new file or directory in the
            file system. Any nodes that have not been created or
            resolved, will be.  If this file already exists, we try
            variations on the leaf name &quot;suggestedName&quot; until we find
            one that did not already exist.
            
            If the search for nonexistent files takes too long
            (thousands of the variants already exist), we give up and
            return NS_ERROR_FILE_TOO_BIG.
            </summary>
            <param name="type">
            This specifies the type of file system object
            to be made.  The only two types at this time
            are file and directory which are defined above.
            If the type is unrecongnized, we will return an
            error (NS_ERROR_FILE_UNKNOWN_TYPE).
            </param>
            <param name="permissions">
            The unix style octal permissions.  This may
            be ignored on systems that do not need to do
            permissions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Clone">
            <summary>
            clone()
            
            This function will allocate and initialize a nsIFile object to the
            exact location of the |this| nsIFile.
            </summary>
            <param name="file">
            A nsIFile which this object will be initialize
            with.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Equals(Gecko.Interfaces.nsIFile)">
            <summary>
            Will determine if the inFile equals this.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Contains(Gecko.Interfaces.nsIFile)">
            <summary>
            Will determine if inFile is a descendant of this file.
            This routine looks in subdirectories too.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetParentAttribute">
            <summary>
            Parent will be null when this is at the top of the volume.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetDirectoryEntriesAttribute">
            <summary>
            Returns an enumeration of the elements in a directory. Each
            element in the enumeration is an nsIFile.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FILE_NOT_DIRECTORY: if the current nsIFile does
            not specify a directory.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.InitWithPath(Gecko.nsAStringBase)">
            <summary>
            initWith[Native]Path
            
            This function will initialize the nsIFile object.  Any
            internal state information will be reset.
            </summary>
            <param name="filePath">
            A string which specifies a full file path to a
            location.  Relative paths will be treated as an
            error (NS_ERROR_FILE_UNRECOGNIZED_PATH).  For
            initWithNativePath, the filePath must be in the native
            filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.InitWithFile(Gecko.Interfaces.nsIFile)">
            <summary>
            initWithFile
            
            Initialize this object with another file
            </summary>
            <param name="aFile">
            the file this becomes equivalent to
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetFollowLinksAttribute">
            <summary>
            followLinks
            
            This attribute will determine if the nsLocalFile will auto
            resolve symbolic links.  By default, this value will be false
            on all non unix systems.  On unix, this attribute is effectively
            a noop.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.OpenNSPRFileDesc(System.Int32,System.Int32)">
            <summary>
            Return the result of PR_Open on the file.  The caller is
            responsible for calling PR_Close on the result.  On success, the
            returned PRFileDescr must be non-null.
            </summary>
            <param name="flags">
            the PR_Open flags from prio.h, plus optionally
            OS_READAHEAD or DELETE_ON_CLOSE. OS_READAHEAD is a hint to the
            OS that the file will be read sequentially with agressive
            readahead. DELETE_ON_CLOSE is unreliable on Windows and is deprecated.
            Instead use NS_OpenAnonymousTemporaryFile() to create a temporary
            file which will be deleted upon close.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.OpenANSIFileDesc(System.String)">
            <summary>
            Return the result of fopen on the file.  The caller is
            responsible for calling fclose on the result.  On success, the
            returned FILE pointer must be non-null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Load">
            <summary>
            Return the result of PR_LoadLibrary on the file.  The caller is
            responsible for calling PR_UnloadLibrary on the result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.AppendRelativePath(Gecko.nsAStringBase)">
            <summary>
            appendRelative[Native]Path
            
            Append a relative path to the current path of the nsIFile object.
            </summary>
            <param name="relativeFilePath">
            relativeFilePath is a native relative path. For security reasons,
            this cannot contain .. or cannot start with a directory separator.
            For the |appendRelativeNativePath| method, the relativeFilePath
            must be in the native filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetPersistentDescriptorAttribute(Gecko.nsACStringBase)">
            <summary>
            Accessor to a null terminated string which will specify
            the file in a persistent manner for disk storage.
            
            The character set of this attribute is undefined.  DO NOT TRY TO
            INTERPRET IT AS HUMAN READABLE TEXT!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Reveal">
            <summary>
            reveal
            
            Ask the operating system to open the folder which contains
            this file or folder. This routine only works on platforms which
            support the ability to open a folder and is run async on Windows.
            This routine must be called on the main.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.Launch">
            <summary>
            launch
            
            Ask the operating system to attempt to open the file.
            this really just simulates &quot;double clicking&quot; the file on your platform.
            This routine only works on platforms which support this functionality
            and is run async on Windows.  This routine must be called on the
            main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetRelativeDescriptor(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            getRelativeDescriptor
            
            Returns a relative file path in an opaque, XP format. It is therefore
            not a native path.
            
            The character set of the string returned from this function is
            undefined.  DO NOT TRY TO INTERPRET IT AS HUMAN READABLE TEXT!
            </summary>
            <param name="fromFile">
            the file from which the descriptor is relative.
            Throws if fromFile is null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.SetRelativeDescriptor(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            setRelativeDescriptor
            
            Initializes the file to the location relative to fromFile using
            a string returned by getRelativeDescriptor.
            </summary>
            <param name="fromFile">
            the file to which the descriptor is relative
            </param>
            <param name="relative">
            the relative descriptor obtained from getRelativeDescriptor
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.GetRelativePath(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            getRelativePath
            
            Returns a relative file from &apos;fromFile&apos; to this file as a UTF-8 string.
            Going up the directory tree is represented via &quot;../&quot;.  &apos;/&apos; is used as
            the path segment separator.  This is not a native path, since it&apos;s UTF-8
            encoded.
            </summary>
            <param name="fromFile">
            the file from which the path is relative.
            Throws if fromFile is null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFile.SetRelativePath(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            setRelativePath
            
            Initializes the file to the location relative to fromFile using
            a string returned by getRelativePath.
            </summary>
            <param name="fromFile">
            the file from which the path is relative
            </param>
            <param name="relative">
            the relative path obtained from getRelativePath
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFileChannel">
            <summary>
            nsIFileChannel
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePickerShownCallback.Done(System.Int16)">
            <summary>
            Callback which is called when a filepicker is shown and a result
            is returned.
            </summary>
            <param name="aResult">
            One of returnOK, returnCancel, or returnReplace
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.Init(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.nsAStringBase,System.Int16)">
            <summary>
            Initialize the file picker widget.  The file picker is not valid until this
            method is called.
            </summary>
            <param name="parent">
            mozIDOMWindow parent.  This dialog will be dependent
            on this parent. parent must be non-null.
            </param>
            <param name="title">
            The title for the file widget
            </param>
            <param name="mode">
            load, save, or get folder
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.AppendFilters(System.Int32)">
            <summary>
            Append to the  filter list with things from the predefined list
            </summary>
            <param name="filters">
            mask of filters i.e. (filterAll | filterHTML)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.AppendFilter(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Add a filter
            </summary>
            <param name="title">
            name of the filter
            </param>
            <param name="filter">
            extensions to filter -- semicolon and space separated
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetDefaultStringAttribute(Gecko.nsAStringBase)">
            <summary>
            The filename that should be suggested to the user as a default. This should
            include the extension.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: on attempts to get
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetDefaultExtensionAttribute(Gecko.nsAStringBase)">
            <summary>
            The extension that should be associated with files of the type we
            want to work with.  On some platforms, this extension will be
            automatically appended to filenames the user enters, if needed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetFilterIndexAttribute">
            <summary>
            The filter which is currently selected in the File Picker dialog
            </summary>
            <returns>
            Returns the index (0 based) of the selected filter in the filter list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetDisplayDirectoryAttribute">
            <summary>
            Set the directory that the file open/save dialog initially displays
            </summary>
            <param name="displayDirectory">
            the name of the directory
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetFileAttribute">
            <summary>
            Get the nsIFile for the file or directory.
            </summary>
            <returns>
            Returns the file currently selected
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetFileURLAttribute">
            <summary>
            Get the nsIURI for the file or directory.
            </summary>
            <returns>
            Returns the file currently selected
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetFilesAttribute">
            <summary>
            Get the enumerator for the selected files
            only works in the modeOpenMultiple mode
            </summary>
            <returns>
            Returns the files currently selected
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetDomFileOrDirectoryAttribute">
            <summary>
            Get the DOM File or the DOM Directory
            </summary>
            <returns>
            Returns the file or directory currently selected DOM object.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetDomFileOrDirectoryEnumeratorAttribute">
            <summary>
            Get the enumerator for the selected files or directories
            only works in the modeOpenMultiple mode
            </summary>
            <returns>
            Returns the files/directories currently selected as DOM object.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetAddToRecentDocsAttribute">
            <summary>
            Controls whether the chosen file(s) should be added to the system&apos;s recent
            documents list. This attribute will be ignored if the system has no &quot;Recent
            Docs&quot; concept, or if the application is in private browsing mode (in which
            case the file will not be added). Defaults to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.Show">
            <summary>
            Show File Dialog. The dialog is displayed modally.
            </summary>
            <returns>
            returnOK if the user selects OK, returnCancel if the user selects cancel
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.Open(Gecko.Interfaces.nsIFilePickerShownCallback)">
            <summary>
            Opens the file dialog asynchrounously.
            The passed in object&apos;s done method will be called upon completion.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetModeAttribute">
            <summary>
            The picker&apos;s mode, as set by the &apos;mode&apos; argument passed to init()
            (one of the modeOpen et. al. constants specified above).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFilePicker.GetOkButtonLabelAttribute(Gecko.nsAStringBase)">
            <summary>
            If set to non-empty string, the nsIFilePicker implementation
            may use okButtonLabel as the label for the button the user uses to accept
            file selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.NewFileURI(Gecko.Interfaces.nsIFile)">
            <summary>
            This method constructs a new file URI
            </summary>
            <param name="aFile">
            nsIFile
            </param>
            <returns>
            reference to a new nsIURI object
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.GetURLSpecFromFile(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            Converts the nsIFile to the corresponding URL string.  NOTE: under
            some platforms this is a lossy conversion (e.g., Mac Carbon build).
            If the nsIFile is a local file, then the result will be a file:
            URL string.
            
            The resulting string may contain URL-escaped characters.
            NOTE: Callers should use getURLSpecFromActualFile or
            getURLSpecFromDirFile if possible, for performance reasons.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.GetURLSpecFromActualFile(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            Converts the nsIFile to the corresponding URL string. Should
            only be called on files which are not directories. Otherwise
            identical to getURLSpecFromFile, but is usually more efficient.
            WARNING: This restriction may not be enforced at runtime!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.GetURLSpecFromDir(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            Converts the nsIFile to the corresponding URL string. Should
            only be called on files which are directories. Otherwise
            identical to getURLSpecFromFile, but is usually more efficient.
            WARNING: This restriction may not be enforced at runtime!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.GetFileFromURLSpec(Gecko.nsAUTF8StringBase)">
            <summary>
            Converts the URL string into the corresponding nsIFile if possible.
            A local file will be created if the URL string begins with file://.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileProtocolHandler.ReadURLFile(Gecko.Interfaces.nsIFile)">
            <summary>
            Takes a local file and tries to interpret it as an internet shortcut
            (e.g. .url files on windows).
            </summary>
            <param name="file">
            The local file to read
            </param>
            <returns>
            The URI the file refers to
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIFileInputStream">
            <summary>
            An input stream that allows you to read from a file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileInputStream.Init(Gecko.Interfaces.nsIFile,System.Int32,System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="file">
            file to read from
            </param>
            <param name="ioFlags">
            file open flags listed in prio.h (see
            PR_Open documentation) or -1 to open the
            file in default mode (PR_RDONLY).
            </param>
            <param name="perm">
            file mode bits listed in prio.h or -1 to
            use the default value (0)
            </param>
            <param name="behaviorFlags">
            flags specifying various behaviors of the class
            (see enumerations in the class)
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFileOutputStream">
            <summary>
            An output stream that lets you stream to a file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.Close">
            <summary>
            Close the stream. Forces the output stream to flush any buffered data.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.Flush">
            <summary>
            Flush the stream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.Write(System.IntPtr,System.UInt32)">
            <summary>
            Write data into the stream.
            </summary>
            <param name="aBuf">
            the buffer containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.WriteFrom(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Writes data into the stream from an input stream.
            </summary>
            <param name="aFromStream">
            the stream containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            &lt;other-error&gt;: on failure
            
            NOTE: This method is defined by this interface in order to allow the
            output stream to efficiently copy the data from the input stream into
            its internal buffer (if any). If this method was provided as an external
            facility, a separate char* buffer would need to be used in order to call
            the output stream's other Write method.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.WriteSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level write method that has access to the stream's underlying buffer.
            The reader function may be called multiple times for segmented buffers.
            WriteSegments is expected to keep calling the reader until either there
            is nothing left to write or the reader returns an error.  WriteSegments
            should not call the reader with zero bytes to provide.
            </summary>
            <param name="aReader">
            the "provider" of the data to be written
            </param>
            <param name="aClosure">
            opaque parameter passed to reader
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket output stream).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: writing to a blocking output stream will block the calling thread
            until all given data can be consumed by the stream.
            
            NOTE: a non-blocking output stream may implement nsIAsyncOutputStream to
            provide consumers with a way to wait for the stream to accept more data
            once its write method is unable to accept any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.Init(Gecko.Interfaces.nsIFile,System.Int32,System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="file">
            file to write to
            </param>
            <param name="ioFlags">
            file open flags listed in prio.h (see
            PR_Open documentation) or -1 to open the
            file in default mode (PR_WRONLY |
            PR_CREATE_FILE | PR_TRUNCATE)
            </param>
            <param name="perm">
            file mode bits listed in prio.h or -1 to
            use the default permissions (0664)
            </param>
            <param name="behaviorFlags">
            flags specifying various behaviors of the class
            (currently none supported)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileOutputStream.Preallocate(System.Int64)">
            <summary>
            
            </summary>
            <param name="length">
            asks the operating system to allocate storage for
            this file of at least |length| bytes long, and
            set the file length to the corresponding size.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the preallocation fails.
            NS_ERROR_NOT_INITIALIZED: if the file is not opened.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIPartialFileInputStream">
            <summary>
            An input stream that allows you to read from a slice of a file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPartialFileInputStream.Init(Gecko.Interfaces.nsIFile,System.UInt64,System.UInt64,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initialize with a file and new start/end positions. Both start and
            start+length must be smaller than the size of the file. Not doing so
            will lead to undefined behavior.
            You must initialize the stream, and only initialize it once, before it
            can be used.
            </summary>
            <param name="file">
            file to read from
            </param>
            <param name="start">
            start offset of slice to read. Must be smaller
            than the size of the file.
            </param>
            <param name="length">
            length of slice to read. Must be small enough that
            start+length is smaller than the size of the file.
            </param>
            <param name="ioFlags">
            file open flags listed in prio.h (see
            PR_Open documentation) or -1 to open the
            file in default mode (PR_RDONLY).
            </param>
            <param name="perm">
            file mode bits listed in prio.h or -1 to
            use the default value (0)
            </param>
            <param name="behaviorFlags">
            flags specifying various behaviors of the class
            (see enumerations in nsIFileInputStream)
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFileStream">
            <summary>
            A stream that allows you to read from a file or stream to a file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileStream.Init(Gecko.Interfaces.nsIFile,System.Int32,System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="file">
            file to read from or stream to
            </param>
            <param name="ioFlags">
            file open flags listed in prio.h (see
            PR_Open documentation) or -1 to open the
            file in default mode (PR_RDWR).
            </param>
            <param name="perm">
            file mode bits listed in prio.h or -1 to
            use the default value (0)
            </param>
            <param name="behaviorFlags">
            flags specifying various behaviors of the class
            (see enumerations in the class)
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFileMetadata">
            <summary>
            An interface that allows you to get some metadata like file size and
            file last modified time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileMetadata.GetSizeAttribute">
            <summary>
            File size in bytes;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileMetadata.GetLastModifiedAttribute">
            <summary>
            File last modified time in milliseconds from midnight (00:00:00),
            January 1, 1970 Greenwich Mean Time (GMT).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileMetadata.GetFileDescriptor">
            <summary>
            The internal file descriptor. It can be used for memory mapping of the
            underlying file. Please use carefully!
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFileURL">
            <summary>
            nsIFileURL provides access to the underlying nsIFile object corresponding to
            an URL.  The URL scheme need not be file:, since other local protocols may
            map URLs to files (e.g., resource:).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURL">
            <summary>
            The nsIURL interface provides convenience methods that further
            break down the path portion of nsIURI:
            
            http://host/directory/fileBaseName.fileExtension?query
            http://host/directory/fileBaseName.fileExtension#ref
            \          \
            \          -----------------------
            \                   |
            \               fileName
            ----------------------------
            |
            filePath
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetSpecAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a string representation of the URI. Setting the spec causes
            the new spec to be parsed per the rules for the scheme the URI
            currently has.  In particular, setting the spec to a URI string with a
            different scheme will generally produce incorrect results; no one
            outside of a protocol handler implementation should be doing that.  If
            the URI stores information from the nsIIOService.newURI call used to
            create it other than just the parsed string, then behavior of this
            information on setting the spec attribute is undefined.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetPrePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The prePath (eg. scheme://user:password@host:port) returns the string
            before the path.  This is useful for authentication or managing sessions.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The Scheme is the protocol to which this URI refers.  The scheme is
            restricted to the US-ASCII charset per RFC2396.  Setting this is
            highly discouraged outside of a protocol handler implementation, since
            that will generally lead to incorrect results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetUserPassAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The username:password (or username only if value doesn&apos;t contain a &apos;:&apos;)
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetUsernameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The optional username and password, assuming the preHost consists of
            username:password.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetHostPortAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host:port (or simply the host, if port == -1).
            
            If this attribute is set to a value that only has a host part, the port
            will not be reset. To reset the port as well use setHostAndPort.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.SetHostAndPort(Gecko.nsAUTF8StringBase)">
            <summary>
            This function will always set a host and a port. If the port part is
            empty, the value of the port will be set to the default value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host is the internet domain name to which this URI refers.  It could
            be an IPv4 (or IPv6) address literal.  If supported, it could be a
            non-ASCII internationalized domain name.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetPortAttribute">
            <summary>
            A port value of -1 corresponds to the protocol&apos;s default port (eg. -1
            implies port 80 for http URIs).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The path, typically including at least a leading &apos;/&apos; (but may also be
            empty, depending on the protocol).
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.Equals(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison).
            
            eg. http://foo.com:80/ == http://foo.com
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.SchemeIs(System.String)">
            <summary>
            An optimization to do scheme checks without requiring the users of nsIURI
            to GetScheme, thereby saving extra allocating and freeing. Returns true if
            the schemes match (case ignored).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.Clone">
            <summary>
            Clones the current URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.Resolve(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            This method resolves a relative string into an absolute URI string,
            using this URI as the base.
            
            NOTE: some implementations may have no concept of a relative URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetAsciiSpecAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI spec with an ASCII compatible encoding.  Host portion follows
            the IDNA draft spec.  Other parts are URL-escaped per the rules of
            RFC2396.  The result is strictly ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetAsciiHostPortAttribute(Gecko.nsACStringBase)">
            <summary>
            The host:port (or simply the host, if port == -1), with an ASCII compatible
            encoding.  Host portion follows the IDNA draft spec.  The result is strictly
            ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetAsciiHostAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI host with an ASCII compatible encoding.  Follows the IDNA
            draft spec for converting internationalized domain names (UTF-8) to
            ASCII for compatibility with existing internet infrasture.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetOriginCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset of the document from which this URI originated.  An empty
            value implies UTF-8.
            
            If this value is something other than UTF-8 then the URI components
            (e.g., spec, prePath, username, etc.) will all be fully URL-escaped.
            Otherwise, the URI components may contain unescaped multibyte UTF-8
            characters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the reference portion (the part after the &quot;#&quot;) of the URI.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.EqualsExceptRef(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison), ignoring
            the value of the .ref member.
            
            eg. http://foo.com/# == http://foo.com
            http://foo.com/#aaa == http://foo.com/#bbb
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.CloneIgnoringRef">
            <summary>
            Clones the current URI, clearing the &apos;ref&apos; attribute in the clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.CloneWithNewRef(Gecko.nsAUTF8StringBase)">
            <summary>
            Clones the current URI, replacing the &apos;ref&apos; attribute in the clone with
            the ref supplied.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetSpecIgnoringRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            returns a string for the current URI with the ref element cleared.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetHasRefAttribute">
            <summary>
            Returns if there is a reference portion (the part after the &quot;#&quot;) of the URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetFilePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a path including the directory and file portions of a
            URL.  For example, the filePath of &quot;http://host/foo/bar.html#baz&quot;
            is &quot;/foo/bar.html&quot;.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetQueryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the query portion (the part after the &quot;?&quot;) of the URL.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetDirectoryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the directory portion of a URL.  If the URL denotes a path to a
            directory and not a file, e.g. http://host/foo/bar/, then the Directory
            attribute accesses the complete /foo/bar/ portion, and the FileName is
            the empty string. If the trailing slash is omitted, then the Directory
            is /foo/ and the file is bar (i.e. this is a syntactic, not a semantic
            breakdown of the Path).  And hence don&apos;t rely on this for something to
            be a definitely be a file. But you can get just the leading directory
            portion for sure.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetFileNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file name portion of a URL.  If the URL denotes a path to a
            directory and not a file, e.g. http://host/foo/bar/, then the Directory
            attribute accesses the complete /foo/bar/ portion, and the FileName is
            the empty string. Note that this is purely based on searching for the
            last trailing slash. And hence don&apos;t rely on this to be a definite file.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetFileBaseNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file basename portion of a filename in a url.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetFileExtensionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file extension portion of a filename in a url.  If a file
            extension does not exist, the empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetCommonBaseSpec(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            This method takes a uri and compares the two.  The common uri portion
            is returned as a string.  The minimum common uri portion is the
            protocol, and any of these if present:  login, password, host and port
            If no commonality is found, &quot;&quot; is returned.  If they are identical, the
            whole path with file/ref/etc. is returned.  For file uris, it is
            expected that the common spec would be at least &quot;file:///&quot; since &apos;/&apos; is
            a shared common root.
            
            Examples:
            this.spec               aURIToCompare.spec        result
            1) http://mozilla.org/     http://www.mozilla.org/   &quot;&quot;
            2) http://foo.com/bar/     ftp://foo.com/bar/        &quot;&quot;
            3) http://foo.com:8080/    http://foo.com/bar/       &quot;&quot;
            4) ftp://user@foo.com/     ftp://user:pw@foo.com/    &quot;&quot;
            5) ftp://foo.com/bar/      ftp://foo.com/bar         ftp://foo.com
            6) ftp://foo.com/bar/      ftp://foo.com/bar/b.html  ftp://foo.com/bar
            7) http://foo.com/a.htm#i  http://foo.com/b.htm      http://foo.com
            8) ftp://foo.com/c.htm#i   ftp://foo.com/c.htm       ftp://foo.com/c.htm
            9) file:///a/b/c.html      file:///d/e/c.html        file:
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURL.GetRelativeSpec(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            This method tries to create a string which specifies the location of the
            argument relative to |this|.  If the argument and |this| are equal, the
            method returns &quot;&quot;.  If any of the URIs&apos; scheme, host, userpass, or port
            don&apos;t match, the method returns the full spec of the argument.
            
            Examples:
            this.spec               aURIToCompare.spec        result
            1) http://mozilla.org/     http://www.mozilla.org/   http://www.mozilla.org
            2) http://mozilla.org/     http://www.mozilla.org    http://www.mozilla.org
            3) http://foo.com/bar/     http://foo.com:80/bar/    &quot;&quot;
            4) http://foo.com/         http://foo.com/a.htm#b    a.html#b
            5) http://foo.com/a/b/     http://foo.com/c          ../../c
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetSpecAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a string representation of the URI. Setting the spec causes
            the new spec to be parsed per the rules for the scheme the URI
            currently has.  In particular, setting the spec to a URI string with a
            different scheme will generally produce incorrect results; no one
            outside of a protocol handler implementation should be doing that.  If
            the URI stores information from the nsIIOService.newURI call used to
            create it other than just the parsed string, then behavior of this
            information on setting the spec attribute is undefined.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetPrePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The prePath (eg. scheme://user:password@host:port) returns the string
            before the path.  This is useful for authentication or managing sessions.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The Scheme is the protocol to which this URI refers.  The scheme is
            restricted to the US-ASCII charset per RFC2396.  Setting this is
            highly discouraged outside of a protocol handler implementation, since
            that will generally lead to incorrect results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetUserPassAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The username:password (or username only if value doesn&apos;t contain a &apos;:&apos;)
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetUsernameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The optional username and password, assuming the preHost consists of
            username:password.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetHostPortAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host:port (or simply the host, if port == -1).
            
            If this attribute is set to a value that only has a host part, the port
            will not be reset. To reset the port as well use setHostAndPort.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.SetHostAndPort(Gecko.nsAUTF8StringBase)">
            <summary>
            This function will always set a host and a port. If the port part is
            empty, the value of the port will be set to the default value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host is the internet domain name to which this URI refers.  It could
            be an IPv4 (or IPv6) address literal.  If supported, it could be a
            non-ASCII internationalized domain name.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetPortAttribute">
            <summary>
            A port value of -1 corresponds to the protocol&apos;s default port (eg. -1
            implies port 80 for http URIs).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The path, typically including at least a leading &apos;/&apos; (but may also be
            empty, depending on the protocol).
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.Equals(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison).
            
            eg. http://foo.com:80/ == http://foo.com
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.SchemeIs(System.String)">
            <summary>
            An optimization to do scheme checks without requiring the users of nsIURI
            to GetScheme, thereby saving extra allocating and freeing. Returns true if
            the schemes match (case ignored).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.Clone">
            <summary>
            Clones the current URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.Resolve(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            This method resolves a relative string into an absolute URI string,
            using this URI as the base.
            
            NOTE: some implementations may have no concept of a relative URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetAsciiSpecAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI spec with an ASCII compatible encoding.  Host portion follows
            the IDNA draft spec.  Other parts are URL-escaped per the rules of
            RFC2396.  The result is strictly ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetAsciiHostPortAttribute(Gecko.nsACStringBase)">
            <summary>
            The host:port (or simply the host, if port == -1), with an ASCII compatible
            encoding.  Host portion follows the IDNA draft spec.  The result is strictly
            ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetAsciiHostAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI host with an ASCII compatible encoding.  Follows the IDNA
            draft spec for converting internationalized domain names (UTF-8) to
            ASCII for compatibility with existing internet infrasture.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetOriginCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset of the document from which this URI originated.  An empty
            value implies UTF-8.
            
            If this value is something other than UTF-8 then the URI components
            (e.g., spec, prePath, username, etc.) will all be fully URL-escaped.
            Otherwise, the URI components may contain unescaped multibyte UTF-8
            characters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the reference portion (the part after the &quot;#&quot;) of the URI.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.EqualsExceptRef(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison), ignoring
            the value of the .ref member.
            
            eg. http://foo.com/# == http://foo.com
            http://foo.com/#aaa == http://foo.com/#bbb
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.CloneIgnoringRef">
            <summary>
            Clones the current URI, clearing the &apos;ref&apos; attribute in the clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.CloneWithNewRef(Gecko.nsAUTF8StringBase)">
            <summary>
            Clones the current URI, replacing the &apos;ref&apos; attribute in the clone with
            the ref supplied.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetSpecIgnoringRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            returns a string for the current URI with the ref element cleared.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetHasRefAttribute">
            <summary>
            Returns if there is a reference portion (the part after the &quot;#&quot;) of the URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetFilePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a path including the directory and file portions of a
            URL.  For example, the filePath of &quot;http://host/foo/bar.html#baz&quot;
            is &quot;/foo/bar.html&quot;.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetQueryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the query portion (the part after the &quot;?&quot;) of the URL.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetDirectoryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the directory portion of a URL.  If the URL denotes a path to a
            directory and not a file, e.g. http://host/foo/bar/, then the Directory
            attribute accesses the complete /foo/bar/ portion, and the FileName is
            the empty string. If the trailing slash is omitted, then the Directory
            is /foo/ and the file is bar (i.e. this is a syntactic, not a semantic
            breakdown of the Path).  And hence don&apos;t rely on this for something to
            be a definitely be a file. But you can get just the leading directory
            portion for sure.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetFileNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file name portion of a URL.  If the URL denotes a path to a
            directory and not a file, e.g. http://host/foo/bar/, then the Directory
            attribute accesses the complete /foo/bar/ portion, and the FileName is
            the empty string. Note that this is purely based on searching for the
            last trailing slash. And hence don&apos;t rely on this to be a definite file.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetFileBaseNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file basename portion of a filename in a url.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetFileExtensionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file extension portion of a filename in a url.  If a file
            extension does not exist, the empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetCommonBaseSpec(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            This method takes a uri and compares the two.  The common uri portion
            is returned as a string.  The minimum common uri portion is the
            protocol, and any of these if present:  login, password, host and port
            If no commonality is found, &quot;&quot; is returned.  If they are identical, the
            whole path with file/ref/etc. is returned.  For file uris, it is
            expected that the common spec would be at least &quot;file:///&quot; since &apos;/&apos; is
            a shared common root.
            
            Examples:
            this.spec               aURIToCompare.spec        result
            1) http://mozilla.org/     http://www.mozilla.org/   &quot;&quot;
            2) http://foo.com/bar/     ftp://foo.com/bar/        &quot;&quot;
            3) http://foo.com:8080/    http://foo.com/bar/       &quot;&quot;
            4) ftp://user@foo.com/     ftp://user:pw@foo.com/    &quot;&quot;
            5) ftp://foo.com/bar/      ftp://foo.com/bar         ftp://foo.com
            6) ftp://foo.com/bar/      ftp://foo.com/bar/b.html  ftp://foo.com/bar
            7) http://foo.com/a.htm#i  http://foo.com/b.htm      http://foo.com
            8) ftp://foo.com/c.htm#i   ftp://foo.com/c.htm       ftp://foo.com/c.htm
            9) file:///a/b/c.html      file:///d/e/c.html        file:
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetRelativeSpec(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            This method tries to create a string which specifies the location of the
            argument relative to |this|.  If the argument and |this| are equal, the
            method returns &quot;&quot;.  If any of the URIs&apos; scheme, host, userpass, or port
            don&apos;t match, the method returns the full spec of the argument.
            
            Examples:
            this.spec               aURIToCompare.spec        result
            1) http://mozilla.org/     http://www.mozilla.org/   http://www.mozilla.org
            2) http://mozilla.org/     http://www.mozilla.org    http://www.mozilla.org
            3) http://foo.com/bar/     http://foo.com:80/bar/    &quot;&quot;
            4) http://foo.com/         http://foo.com/a.htm#b    a.html#b
            5) http://foo.com/a/b/     http://foo.com/c          ../../c
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFileURL.GetFileAttribute">
            <summary>
            Get/Set nsIFile corresponding to this URL.
            
            - Getter returns a reference to an immutable object.  Callers must clone
            before attempting to modify the returned nsIFile object.  NOTE: this
            constraint might not be enforced at runtime, so beware!!
            
            - Setter clones the nsIFile object (allowing the caller to safely modify
            the nsIFile object after setting it on this interface).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFinalizationWitnessService.Make(System.String,System.String,System.IntPtr)">
            <summary>
            Create a new Finalization Witness.
            
            A finalization witness is an object whose sole role is to
            broadcast when it is garbage-collected. Once the witness is
            created, call method its method |forget()| to prevent the
            broadcast.
            </summary>
            <param name="aTopic">
            The topic that the witness will broadcast using
            Services.obs.
            </param>
            <param name="aString">
            The string that the witness will broadcast.
            </param>
            <returns>
            An object with a single method |forget()|.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFind.Find(System.String,Gecko.Interfaces.nsIDOMRange,Gecko.Interfaces.nsIDOMRange,Gecko.Interfaces.nsIDOMRange)">
            <summary>
            Find some text in the current context. The implementation is
            responsible for performing the find and highlighting the text.
            </summary>
            <param name="aPatText">
            The text to search for.
            </param>
            <param name="aSearchRange">
            A Range specifying domain of search.
            </param>
            <param name="aStartPoint">
            A Range specifying search start point.
            If not collapsed, we&apos;ll start from
            end (forward) or start (backward).
            </param>
            <param name="aEndPoint">
            A Range specifying search end point.
            If not collapsed, we&apos;ll end at
            end (forward) or start (backward).
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFocusManager">
            <summary>
            The focus manager deals with all focus related behaviour. Only one element
            in the entire application may have the focus at a time; this element
            receives any keyboard events. While there is only one application-wide
            focused element, each nsIDOMWindow maintains a reference to the element
            that would be focused if the window was active.
            
            If the window&apos;s reference is to a frame element (iframe, browser,
            editor), then the child window contains the element that is currently
            focused. If the window&apos;s reference is to a root element, then the root is
            focused. If a window&apos;s reference is null, then no element is focused, yet
            the window is still focused.
            
            The blur event is fired on an element when it loses the application focus.
            After this blur event, if the focus is moving away from a document, two
            additional blur events are fired on the old document and window containing
            the focus respectively.
            
            When a new document is focused, two focus events are fired on the new
            document and window respectively. Then the focus event is fired on an
            element when it gains the application focus.
            
            A special case is that the root element may be focused, yet does not
            receive the element focus and blur events. Instead a focus outline may be
            drawn around the document.
            
            Blur and focus events do not bubble as per the W3C DOM Events spec.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.GetActiveWindowAttribute">
            <summary>
            The most active (frontmost) window, or null if no window that is part of
            the application is active. Setting the activeWindow raises it, and
            focuses the current child window&apos;s current element, if any. Setting this
            to null or to a non-top-level window throws an NS_ERROR_INVALID_ARG
            exception.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.GetFocusedWindowAttribute">
            <summary>
            The child window within the activeWindow that is focused. This will
            always be activeWindow, a child window of activeWindow or null if no
            child window is focused. Setting the focusedWindow changes the focused
            window and raises the toplevel window it is in. If the current focus
            within the new focusedWindow is a frame element, then the focusedWindow
            will actually be set to the child window and the current element within
            that set as the focused element. This process repeats downwards until a
            non-frame element is found.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.GetFocusedElementAttribute">
            <summary>
            The element that is currently focused. This will always be an element
            within the document loaded in focusedWindow or null if no element in that
            document is focused.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.GetLastFocusMethod(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Returns the method that was used to focus the element in window. This
            will either be 0, FLAG_BYMOUSE or FLAG_BYKEY. If window is null, then
            the current focusedWindow will be used by default. This has the result
            of retrieving the method that was used to focus the currently focused
            element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.SetFocus(Gecko.Interfaces.nsIDOMElement,System.UInt32)">
            <summary>
            Changes the focused element reference within the window containing
            aElement to aElement.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.MoveFocus(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIDOMElement,System.UInt32,System.UInt32)">
            <summary>
            Move the focus to another element. If aStartElement is specified, then
            movement is done relative to aStartElement. If aStartElement is null,
            then movement is done relative to the currently focused element. If no
            element is focused, focus the first focusable element within the
            document (or the last focusable element if aType is MOVEFOCUS_END). This
            method is equivalent to setting the focusedElement to the new element.
            
            Specifying aStartElement and using MOVEFOCUS_LAST is not currently
            implemented.
            
            If no element is found, and aType is either MOVEFOCUS_ROOT or
            MOVEFOCUS_CARET, then the focus is cleared. If aType is any other value,
            the focus is not changed.
            
            Returns the element that was focused. The return value may be null if focus
            was moved into a child process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.ClearFocus(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Clears the focused element within aWindow. If the current focusedWindow
            is a descendant of aWindow, sets the current focusedWindow to aWindow.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if aWindow is null
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.GetFocusedElementForWindow(Gecko.Interfaces.mozIDOMWindowProxy,System.Boolean,Gecko.Interfaces.mozIDOMWindowProxy@)">
            <summary>
            Returns the currently focused element within aWindow. If aWindow is equal
            to the current value of focusedWindow, then the returned element will be
            the application-wide focused element (the value of focusedElement). The
            return value will be null if no element is focused.
            
            If aDeep is true, then child frames are traversed and the return value
            may be the element within a child descendant window that is focused. If
            aDeep if false, then the return value will be the frame element if the
            focus is in a child frame.
            
            aFocusedWindow will be set to the currently focused descendant window of
            aWindow, or to aWindow if aDeep is false. This will be set even if no
            element is focused.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if aWindow is null
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.MoveCaretToFocus(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Moves the selection caret within aWindow to the current focus.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.ElementIsFocusable(Gecko.Interfaces.nsIDOMElement,System.UInt32)">
            <summary>
            Check if given element is focusable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.WindowRaised(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Called when a window has been raised.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.WindowLowered(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Called when a window has been lowered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.WindowShown(Gecko.Interfaces.mozIDOMWindowProxy,System.Boolean)">
            <summary>
            Called when a new document in a window is shown.
            
            If aNeedsFocus is true, then focus events are expected to be fired on the
            window if this window is in the focused window chain.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.WindowHidden(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Called when a document in a window has been hidden or otherwise can no
            longer accept focus.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.FireDelayedEvents(System.IntPtr)">
            <summary>
            Fire any events that have been delayed due to synchronized actions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.FocusPlugin(System.IntPtr)">
            <summary>
            Indicate that a plugin wishes to take the focus. This is similar to a
            normal focus except that the widget focus is not changed. Updating the
            widget focus state is the responsibility of the caller.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFocusManager.ParentActivated(Gecko.Interfaces.mozIDOMWindowProxy,System.Boolean)">
            <summary>
            Used in a child process to indicate that the parent window is now
            active or deactive.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFontEnumerator.EnumerateAllFonts(System.UInt32@,System.IntPtr@)">
            <summary>
            Return a sorted array of the names of all installed fonts.
            </summary>
            <param name="aCount">
            returns number of names returned
            </param>
            <param name="aResult">
            returns array of names
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFontEnumerator.EnumerateFonts(System.String,System.String,System.UInt32@,System.IntPtr@)">
            <summary>
            Return a sorted array of names of fonts that support the given language
            group and are suitable for use as the given CSS generic font.
            </summary>
            <param name="aLangGroup">
            language group
            </param>
            <param name="aGeneric">
            CSS generic font
            </param>
            <param name="aCount">
            returns number of names returned
            </param>
            <param name="aResult">
            returns array of names
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFontEnumerator.HaveFontFor(System.String,System.Boolean@)">
            <summary>
            
            </summary>
            <param name="aLangGroup">
            language group
            </param>
            <returns>
            bool do we have a font for this language group
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFontEnumerator.GetDefaultFont(System.String,System.String)">
            <summary>
            
            </summary>
            <param name="aLangGroup">
            language group
            </param>
            <param name="aGeneric">
            CSS generic font
            </param>
            <returns>
            suggested default font for this language group and generic family
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIFontEnumerator.UpdateFontList">
            <summary>
            update the global font list
            return true if font list is changed
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFontEnumerator.GetStandardFamilyName(System.String)">
            <summary>
            get the standard family name on the system from given family
            </summary>
            <param name="aName">
            family name which may be alias
            </param>
            <returns>
            the standard family name on the system, if given name does not
            exist, returns empty string
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIForcePendingChannel">
            <summary>
            nsIForcePending interface exposes a function that enables overwriting of the normal
            behavior for the channel&apos;s IsPending(), forcing &apos;true&apos; to be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIForcePendingChannel.ForcePending(System.Boolean)">
            <summary>
            forcePending(true) overrides the normal behavior for the
            channel&apos;s IsPending(), forcing &apos;true&apos; to be returned. A call to
            forcePending(false) reverts IsPending() back to normal behavior.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormatConverter.GetInputDataFlavors">
            <summary>
            Get the list of the &quot;input&quot; data flavors (mime types as nsISupportsCString),
            in otherwords, the flavors that this converter can convert &quot;from&quot; (the
            incoming data to the converter).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormatConverter.GetOutputDataFlavors">
            <summary>
            Get the list of the &quot;output&quot; data flavors (mime types as nsISupportsCString),
            in otherwords, the flavors that this converter can convert &quot;to&quot; (the
            outgoing data to the converter).
            </summary>
            <param name="aDataFlavorList">
            fills list with supported flavors
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormatConverter.CanConvert(System.String,System.String)">
            <summary>
            Determines whether a conversion from one flavor to another is supported
            </summary>
            <param name="aFromFormatConverter">
            flavor to convert to
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormatConverter.Convert(System.String,Gecko.Interfaces.nsISupports,System.UInt32,System.String,Gecko.Interfaces.nsISupports@,System.UInt32@)">
            <summary>
            Converts from one flavor to another.
            </summary>
            <param name="aFromFormatConverter">
            flavor to convert to (destination own the memory)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormAutoComplete.AutoCompleteSearchAsync(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMHTMLInputElement,Gecko.Interfaces.nsIAutoCompleteResult,Gecko.Interfaces.nsIAutoCompleteResult,Gecko.Interfaces.nsIFormAutoCompleteObserver)">
            <summary>
            Generate results for a form input autocomplete menu asynchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormAutoComplete.StopAutoCompleteSearch">
            <summary>
            If a search is in progress, stop it. Otherwise, do nothing. This is used
            to cancel an existing search, for example, in preparation for a new search.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormAutoComplete.StopControllingInput(Gecko.Interfaces.nsIDOMHTMLInputElement)">
            <summary>
            Since the controller is disconnecting, any related data must be cleared.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFormAutofillContentService">
            <summary>
            Defines a service used by DOM content to request Form Autofill, in particular
            when the requestAutocomplete method of Form objects is invoked.
            
            This service lives in the process that hosts the requesting DOM content.
            This means that, in a multi-process (e10s) environment, there can be an
            instance of the service for each content process, in addition to an instance
            for the chrome process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormAutofillContentService.RequestAutocomplete(Gecko.Interfaces.nsIDOMHTMLFormElement,Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            Invoked by the requestAutocomplete method of the DOM Form object.
            
            The application is expected to display a user interface asking for the
            details that are relevant to the form being filled in.  The application
            should use the &quot;autocomplete&quot; attributes on the input elements as hints
            about which type of information is being requested.
            
            The processing will result in either an &quot;autocomplete&quot; simple DOM Event or
            an AutocompleteErrorEvent being fired on the form.
            </summary>
            <param name="aForm">
            The form on which the requestAutocomplete method was invoked.
            </param>
            <param name="aWindow">
            The window where the form is located.  This must be specified even
            for elements that are not in a document, and is used to generate the
            DOM events resulting from the operation.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIFormHistory2">
            <summary>
            The nsIFormHistory object is a service which holds a set of name/value
            pairs.  The names correspond to form field names, and the values correspond
            to values the user has submitted.  So, several values may exist for a single
            name.
            
            Note: this interface provides no means to access stored values.
            Stored values are used by the FormFillController to generate
            autocomplete matches.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.GetHasEntriesAttribute">
            <summary>
            Returns true if the form history has any entries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.AddEntry(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Adds a name and value pair to the form history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.RemoveEntry(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Removes a name and value pair from the form history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.RemoveEntriesForName(Gecko.nsAStringBase)">
            <summary>
            Removes all entries that are paired with a name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.RemoveAllEntries">
            <summary>
            Removes all entries in the entire form history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.NameExists(Gecko.nsAStringBase)">
            <summary>
            Returns true if there is no entry that is paired with a name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.EntryExists(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Gets whether a name and value pair exists in the form history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.RemoveEntriesByTimeframe(System.Int64,System.Int64)">
            <summary>
            Removes entries that were created between the specified times.
            </summary>
            <param name="aBeginTime">
            The beginning of the timeframe, in microseconds
            </param>
            <param name="aEndTime">
            The end of the timeframe, in microseconds
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFormHistory2.GetDBConnectionAttribute">
            <summary>
            Returns the underlying DB connection the form history module is using.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetDocShellAttribute">
            <summary>
            Get the docshell from the frame loader.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetTabParentAttribute">
            <summary>
            Get this frame loader&apos;s TabParent, if it has a remote frame.  Otherwise,
            returns null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetLoadContextAttribute">
            <summary>
            Get an nsILoadContext for the top-level docshell. For remote
            frames, a shim is returned that contains private browsing and app
            information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.LoadFrame">
            <summary>
            Start loading the frame. This method figures out what to load
            from the owner content in the frame loader.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.LoadURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Loads the specified URI in this frame. Behaves identically to loadFrame,
            except that this method allows specifying the URI to load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.SetIsPrerendered">
            <summary>
            Puts the frameloader in prerendering mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.MakePrerenderedLoaderActive">
            <summary>
            Make the prerendered frameloader being active (and clear isPrerendered flag).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.AppendPartialSessionHistoryAndSwap(Gecko.Interfaces.nsIFrameLoader)">
            <summary>
            Append partial session history from another frame loader.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.RequestGroupedHistoryNavigation(System.UInt32)">
            <summary>
            If grouped session history is applied, use this function to navigate to
            an entry of session history object of another frameloader.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.Destroy">
            <summary>
            Destroy the frame loader and everything inside it. This will
            clear the weak owner content reference.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetDepthTooGreatAttribute">
            <summary>
            Find out whether the loader&apos;s frame is at too great a depth in
            the frame tree.  This can be used to decide what operations may
            or may not be allowed on the loader&apos;s docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.UpdatePositionAndSize(System.IntPtr)">
            <summary>
            Updates the position and size of the subdocument loaded by this frameloader.
            </summary>
            <param name="aIFrame">
            The nsIFrame for the content node that owns this frameloader
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.ActivateRemoteFrame">
            <summary>
            Activate remote frame.
            Throws an exception with non-remote frames.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.DeactivateRemoteFrame">
            <summary>
            Deactivate remote frame.
            Throws an exception with non-remote frames.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.SendCrossProcessMouseEvent(Gecko.nsAStringBase,System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            
            </summary>
            <remarks>
            See nsIDOMWindowUtils sendMouseEvent.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.ActivateFrameEvent(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Activate event forwarding from client (remote frame) to parent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.SendCrossProcessKeyEvent(Gecko.nsAStringBase,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            
            </summary>
            <remarks>
            See nsIDOMWindowUtils sendKeyEvent.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.RequestNotifyAfterRemotePaint">
            <summary>
            Request that the next time a remote layer transaction has been
            received by the Compositor, a MozAfterRemoteFrame event be sent
            to the window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.RequestFrameLoaderClose">
            <summary>
            Close the window through the ownerElement.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.Print(System.UInt64,Gecko.Interfaces.nsIPrintSettings,Gecko.Interfaces.nsIWebProgressListener)">
            <summary>
            Print the current document.
            </summary>
            <param name="aOuterWindowID">
            the ID of the outer window to print
            </param>
            <param name="aPrintSettings">
            optional print settings to use; printSilent can be
            set to prevent prompting.
            </param>
            <param name="aProgressListener">
            optional print progress listener.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetClipSubdocumentAttribute">
            <summary>
            If false, then the subdocument is not clipped to its CSS viewport, and the
            subdocument&apos;s viewport scrollbar(s) are not rendered.
            Defaults to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetClampScrollPositionAttribute">
            <summary>
            If false, then the subdocument&apos;s scroll coordinates will not be clamped
            to their scroll boundaries.
            Defaults to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetOwnerElementAttribute">
            <summary>
            The element which owns this frame loader.
            
            For example, if this is a frame loader for an &lt;iframe&gt;, this attribute
            returns the iframe element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetChildIDAttribute">
            <summary>
            Cached childID of the ContentParent owning the TabParent in this frame
            loader. This can be used to obtain the childID after the TabParent died.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetVisibleAttribute">
            <summary>
            Get or set this frame loader&apos;s visibility.
            
            The notion of &quot;visibility&quot; here is separate from the notion of a
            window/docshell&apos;s visibility.  This field is mostly here so that we can
            have a notion of visibility in the parent process when frames are OOP.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetOwnerIsMozBrowserOrAppFrameAttribute">
            <summary>
            Find out whether the owner content really is a mozbrowser or app frame
            Especially, a widget frame is regarded as an app frame.  &lt;xul:browser&gt; is
            not considered to be a mozbrowser frame.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetLazyWidthAttribute">
            <summary>
            The last known width of the frame. Reading this property will not trigger
            a reflow, and therefore may not reflect the current state of things. It
            should only be used in asynchronous APIs where values are not guaranteed
            to be up-to-date when received.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetLazyHeightAttribute">
            <summary>
            The last known height of the frame. Reading this property will not trigger
            a reflow, and therefore may not reflect the current state of things. It
            should only be used in asynchronous APIs where values are not guaranteed
            to be up-to-date when received.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetPartialSessionHistoryAttribute">
            <summary>
            The partial session history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoader.GetGroupedSessionHistoryAttribute">
            <summary>
            The grouped session history composed of multiple session history objects
            across root docshells.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoaderOwner.GetFrameLoaderAttribute">
            <summary>
            The frame loader owned by this nsIFrameLoaderOwner
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoaderOwner.GetParentApplicationAttribute">
            <summary>
            The principal of parent mozIApplication in case of nested mozbrowser
            iframes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoaderOwner.SetIsPrerendered">
            <summary>
            Puts the FrameLoaderOwner in prerendering mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameLoaderOwner.InternalSetFrameLoader(Gecko.Interfaces.nsIFrameLoader)">
            <summary>
            This method is used internally by SwapFrameLoaders to set the frame loader
            on the target nsFrameLoader.
            
            Avoid using this method outside of that context, and instead prefer using
            SwapFrameLoaders.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFTPChannel">
            <summary>
            This interface may be used to determine if a channel is a FTP channel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFTPEventSink">
            <summary>
            This interface may be defined as a notification callback on the FTP
            channel.  It allows a consumer to receive a log of the FTP control
            connection conversation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFTPEventSink.OnFTPControlLog(System.Boolean,System.String)">
            <summary>
            XXX document this method!  (see bug 328915)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIGeneratingKeypairInfoDialogs">
            <summary>
            nsIGeneratingKeypairInfoDialogs
            This is the interface for giving feedback to the user
            while generating a key pair.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIGeolocationUpdate">
            <summary>
            Interface provides a way for a geolocation provider to
            notify the system that a new location is available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGeolocationUpdate.Update(Gecko.Interfaces.nsIDOMGeoPosition)">
            <summary>
            Notify the geolocation service that a new geolocation
            has been discovered.
            This must be called on the main thread
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGeolocationUpdate.NotifyError(System.UInt16)">
            <summary>
            Notify the geolocation service of an error.
            This must be called on the main thread.
            The parameter refers to one of the constants in the
            nsIDOMGeoPositionError interface.
            Use this to report spurious errors coming from the
            provider; for errors occurring inside the methods in
            the nsIGeolocationProvider interface, just use the return
            value.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIGeolocationProvider">
            <summary>
            Interface provides location information to the nsGeolocator
            via the nsIDOMGeolocationCallback interface.  After
            startup is called, any geo location change should call
            callback.update().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGeolocationProvider.Startup">
            <summary>
            Start up the provider.  This is called before any other
            method.  may be called multiple times.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGeolocationProvider.Watch(Gecko.Interfaces.nsIGeolocationUpdate)">
            <summary>
            watch
            When a location change is observed, notify the callback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGeolocationProvider.Shutdown">
            <summary>
            shutdown
            Shuts down the location device.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGeolocationProvider.SetHighAccuracy(System.Boolean)">
            <summary>
            hint to provide to use any amount of power to provide a better result
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGfxInfo.GetAdapterDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the display adapter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGfxInfo.GetAdapterRAMAttribute(Gecko.nsAStringBase)">
            <summary>
            The amount of RAM in MB in the display adapter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGfxInfo.GetMonitors(System.IntPtr)">
            <summary>
            Returns an array of objects describing each monitor. Guaranteed properties
            are &quot;screenWidth&quot; and &quot;screenHeight&quot;. This is only implemented on Desktop.
            
            Windows additionally supplies &quot;refreshRate&quot; and &quot;pseudoDisplay&quot;.
            
            OS X additionally supplies &quot;scale&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGfxInfo.GetFeatureStatus(System.Int32,Gecko.nsACStringBase)">
            <summary>
            Ask about a feature, and return the status of that feature.
            If the feature is not ok then aFailureId will give a unique failure Id
            otherwise it will be empty.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGfxInfo.GetWebGLParameter(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            WebGL info; valid params are &quot;full-renderer&quot;, &quot;vendor&quot;, &quot;renderer&quot;, &quot;version&quot;,
            &quot;shading_language_version&quot;, &quot;extensions&quot;.  These return info from
            underlying GL impl that&apos;s used to implement WebGL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGIOService.GetMimeTypeFromExtension(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            MIME registry methods
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGIOService.ShowURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Misc. methods
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGlobalHistory2.AddURI(Gecko.Interfaces.nsIURI,System.Boolean,System.Boolean,Gecko.Interfaces.nsIURI)">
            <summary>
            Add a URI to global history
            </summary>
            <param name="aURI">
            the URI of the page
            </param>
            <param name="aRedirect">
            whether the URI was redirected to another location;
            this is &apos;true&apos; for the original URI which is
            redirected.
            </param>
            <param name="aToplevel">
            whether the URI is loaded in a top-level window
            </param>
            <param name="aReferrer">
            the URI of the referring page
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIGlobalHistory2.IsVisited(Gecko.Interfaces.nsIURI)">
            <summary>
            Checks to see whether the given URI is in history.
            </summary>
            <param name="aURI">
            the uri to the page
            </param>
            <returns>
            true if a URI has been visited
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIGlobalHistory2.SetPageTitle(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase)">
            <summary>
            Set the page title for the given uri. URIs that are not already in
            global history will not be added.
            </summary>
            <param name="aURI">
            the URI for which to set to the title
            </param>
            <param name="aTitle">
            the page title
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIGZFileWriter">
            <summary>
            A simple interface for writing to a .gz file.
            
            Note that the file that this interface produces has a different format than
            what you&apos;d get if you compressed your data as a gzip stream and dumped the
            result to a file.
            
            The standard gunzip tool cannot decompress a raw gzip stream, but can handle
            the files produced by this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGZFileWriter.Init(Gecko.Interfaces.nsIFile)">
            <summary>
            Initialize this object.  We&apos;ll write our gzip&apos;ed data to the given file,
            overwriting its contents if the file exists.
            
            init() will return an error if called twice.  It&apos;s an error to call any
            other method on this interface without first calling init().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGZFileWriter.InitANSIFileDesc(System.IntPtr)">
            <summary>
            Alternate version of init() for use when the file is already opened;
            e.g., with a FileDescriptor passed over IPC.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGZFileWriter.Write(Gecko.nsAUTF8StringBase)">
            <summary>
            Write the given string to the file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGZFileWriter.Finish">
            <summary>
            Close this nsIGZFileWriter.  Classes implementing nsIGZFileWriter will run
            this method when the underlying object is destroyed, so it&apos;s not strictly
            necessary to explicitly call it from your code.
            
            It&apos;s an error to call this method twice, and it&apos;s an error to call write()
            after finish() has been called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerService.Enumerate">
            <summary>
            Retrieve a list of all handlers in the datastore.  This list is not
            guaranteed to be in any particular order, and callers should not assume
            it will remain in the same order in the future.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerService.FillHandlerInfo(Gecko.Interfaces.nsIHandlerInfo,Gecko.nsACStringBase)">
            <summary>
            Fill a handler info object with information from the datastore.
            
            Note: because of the way the external helper app service currently mixes
            OS and user handler info in the same handler info object, this method
            takes an existing handler info object (probably retrieved from the OS)
            and &quot;fills it in&quot; with information from the datastore, overriding any
            existing properties on the object with properties from the datastore.
            
            Ultimately, however, we&apos;re going to separate OS and user handler info
            into separate objects, at which point this method should be renamed to
            something like &quot;get&quot; or &quot;retrieve&quot;, take a class and type (or perhaps
            a type whose class can be determined by querying the type, for example
            an nsIContentType which is also an nsIMIMEType or an nsIProtocolScheme),
            and return a handler info object representing only the user info.
            
            Note: if you specify an override type, then the service will fill in
            the handler info object with information about that type instead of
            the type specified by the object&apos;s nsIHandlerInfo::type attribute.
            
            This is useful when you are trying to retrieve information about a MIME
            type that doesn&apos;t exist in the datastore, but you have a file extension
            for that type, and nsIHandlerService::getTypeFromExtension returns another
            MIME type that does exist in the datastore and can handle that extension.
            
            For example, the user clicks on a link, and the content has a MIME type
            that isn&apos;t in the datastore, but the link has a file extension, and that
            extension is associated with another MIME type in the datastore (perhaps
            an unofficial MIME type preceded an official one, like with image/x-png
            and image/png).
            
            In that situation, you can call this method to fill in the handler info
            object with information about that other type by passing the other type
            as the aOverrideType parameter.
            </summary>
            <param name="aHandlerInfo">
            the handler info object
            </param>
            <param name="aOverrideType">
            a type to use instead of aHandlerInfo::type
            
            Note: if there is no information in the datastore about this type,
            this method throws NS_ERROR_NOT_AVAILABLE. Callers are encouraged to
            check exists() before calling fillHandlerInfo(), to prevent spamming the
            console with XPCOM exception errors.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerService.Store(Gecko.Interfaces.nsIHandlerInfo)">
            <summary>
            Save the preferred action, preferred handler, possible handlers, and
            always ask properties of the given handler info object to the datastore.
            Updates an existing record or creates a new one if necessary.
            
            Note: if preferred action is undefined or invalid, then we assume
            the default value nsIHandlerInfo::useHelperApp.
            </summary>
            <param name="aHandlerInfo">
            the handler info object
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerService.Exists(Gecko.Interfaces.nsIHandlerInfo)">
            <summary>
            Whether or not a record for the given handler info object exists
            in the datastore. If the datastore is corrupt (or some other error
            is caught in the implementation), false will be returned.
            </summary>
            <param name="aHandlerInfo">
            a handler info object
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerService.Remove(Gecko.Interfaces.nsIHandlerInfo)">
            <summary>
            Remove the given handler info object from the datastore.  Deletes all
            records associated with the object, including the preferred handler, info,
            and type records plus the entry in the list of types, if they exist.
            Otherwise, it does nothing and does not return an error.
            </summary>
            <param name="aHandlerInfo">
            the handler info object
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerService.GetTypeFromExtension(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Get the MIME type mapped to the given file extension in the datastore.
            
            XXX If we ever support extension -&gt; protocol scheme mappings, then this
            method should work for those as well.
            
            Note: in general, you should use nsIMIMEService::getTypeFromExtension
            to get a MIME type from a file extension, as that method checks a variety
            of other sources besides just the datastore.  Use this only when you want
            to specifically get only the mapping available in the datastore.
            </summary>
            <param name="aFileExtension">
            the file extension
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIHangReport">
            <summary>
            When a content process hangs, Gecko notifies &quot;process-hang-report&quot; observers
            and passes an nsIHangReport for the subject parameter. There is at most one
            nsIHangReport associated with a given content process. As long as the content
            process stays stuck, the &quot;process-hang-report&quot; observer will continue to be
            notified at regular intervals (approximately once per second). The content
            process will continue to run uninhibitedly during this time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHapticFeedback.PerformSimpleAction(System.Int32)">
            <summary>
            Perform haptic feedback
            </summary>
            <param name="isLongPress">
            indicate whether feedback is for a long press (vs. short press)
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIHashable">
            <summary>
            Represents an object that can be stored in a hashtable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHashable.Equals(Gecko.Interfaces.nsIHashable)">
            <summary>
            Is this object the equivalent of the other object?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHashable.GetHashCodeAttribute">
            <summary>
            A generated hashcode for this object. Objects that are equivalent
            must have the same hash code. Getting this property should never
            throw an exception!
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHelperAppLauncherDialog">
            <summary>
            This interface is used to display a confirmation dialog before
            launching a &quot;helper app&quot; to handle content not handled by
            Mozilla.
            
            Usage:  Clients (of which there is one: the nsIExternalHelperAppService
            implementation in mozilla/uriloader/exthandler) create an instance of
            this interface (using the contract ID) and then call the show() method.
            
            The dialog is shown non-modally.  The implementation of the dialog
            will access methods of the nsIHelperAppLauncher passed in to show()
            in order to cause a &quot;save to disk&quot; or &quot;open using&quot; action.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncherDialog.Show(Gecko.Interfaces.nsIHelperAppLauncher,Gecko.Interfaces.nsISupports,System.UInt32)">
            <summary>
            Show confirmation dialog for launching application (or &quot;save to
            disk&quot;) for content specified by aLauncher.
            </summary>
            <param name="aLauncher">
            A nsIHelperAppLauncher to be invoked when a file is selected.
            </param>
            <param name="aWindowContext">
            Window associated with action.
            </param>
            <param name="aReason">
            One of the constants from above. It indicates why the dialog is
            shown. Implementors should treat unknown reasons like
            REASON_CANTHANDLE.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHelperAppLauncherDialog.PromptForSaveToFileAsync(Gecko.Interfaces.nsIHelperAppLauncher,Gecko.Interfaces.nsISupports,System.String,System.String,System.Boolean)">
            <summary>
            Async invoke a save-to-file dialog instead of the full fledged helper app
            dialog. When the file is chosen (or the dialog is closed), the callback
            in aLauncher (aLauncher.saveDestinationAvailable) is called with the
            selected file.
            </summary>
            <param name="aLauncher">
            A nsIHelperAppLauncher to be invoked when a file is selected.
            </param>
            <param name="aWindowContext">
            Window associated with action.
            </param>
            <param name="aDefaultFileName">
            Default file name to provide (can be null)
            </param>
            <param name="aSuggestedFileExtension">
            Sugested file extension
            </param>
            <param name="aForcePrompt">
            Set to true to force prompting the user for thet file
            name/location, otherwise perferences may control if the user is
            prompted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.GetSelectionContainerAbsolutelyPositionedAttribute">
            <summary>
            true if the selection container is absolutely positioned
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.GetPositionedElementAttribute">
            <summary>
            this contains the absolutely positioned element currently edited
            or null
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.GetAbsolutePositioningEnabledAttribute">
            <summary>
            true if Absolute Positioning handling is enabled in the editor
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.GetSnapToGridEnabledAttribute">
            <summary>
            true if Snap To Grid is enabled in the editor.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.GetGridSizeAttribute">
            <summary>
            sets the grid size in pixels.
            </summary>
            <param name="aSizeInPixels">
            [IN] the size of the grid in pixels
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.GetAbsolutelyPositionedSelectionContainerAttribute">
            <summary>
            returns the deepest absolutely positioned container of the selection
            if it exists or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.AbsolutePositionSelection(System.Boolean)">
            <summary>
            extracts the selection from the normal flow of the document and
            positions it.
            </summary>
            <param name="aEnabled">
            [IN] true to absolutely position the selection,
            false to put it back in the normal flow
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.RelativeChangeZIndex(System.Int32)">
            <summary>
            adds aChange to the z-index of the currently positioned element.
            </summary>
            <param name="aChange">
            [IN] relative change to apply to current z-index
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.AbsolutelyPositionElement(Gecko.Interfaces.nsIDOMElement,System.Boolean)">
            <summary>
            extracts an element from the normal flow of the document and
            positions it, and puts it back in the normal flow.
            </summary>
            <param name="aElement">
            [IN] the element
            </param>
            <param name="aEnabled">
            [IN] true to absolutely position the element,
            false to put it back in the normal flow
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.SetElementPosition(Gecko.Interfaces.nsIDOMElement,System.Int32,System.Int32)">
            <summary>
            sets the position of an element; warning it does NOT check if the
            element is already positioned or not and that&apos;s on purpose.
            </summary>
            <param name="aElement">
            [IN] the element
            </param>
            <param name="aX">
            [IN] the x position in pixels.
            </param>
            <param name="aY">
            [IN] the y position in pixels.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.GetElementZIndex(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            returns the absolute z-index of a positioned element. Never returns &apos;auto&apos;.
            </summary>
            <param name="aElement">
            [IN] the element.
            </param>
            <returns>
            the z-index of the element
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.SetElementZIndex(Gecko.Interfaces.nsIDOMElement,System.Int32)">
            <summary>
            sets the z-index of an element.
            </summary>
            <param name="aElement">
            [IN] the element
            </param>
            <param name="aZorder">
            [IN] the z-index
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.RelativeChangeElementZIndex(Gecko.Interfaces.nsIDOMElement,System.Int32)">
            <summary>
            adds aChange to the z-index of an arbitrary element.
            </summary>
            <param name="aElement">
            [IN] the element
            </param>
            <param name="aChange">
            [IN] relative change to apply to current z-index of
            the element
            </param>
            <returns>
            the new z-index of the element
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.ShowGrabberOnElement(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            shows a grabber attached to an arbitrary element. The grabber is an image
            positioned on the left hand side of the top border of the element. Dragging
            and dropping it allows to change the element&apos;s absolute position in the
            document. See chrome://editor/content/images/grabber.gif
            </summary>
            <param name="aElement">
            [IN] the element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.HideGrabber">
            <summary>
            hide the grabber if it shown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLAbsPosEditor.RefreshGrabber">
            <summary>
            refreshes the grabber if it shown, possibly updating its position or
            even hiding it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.AddDefaultProperty(Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            AddDefaultProperty() registers a default style property with the editor
            </summary>
            <param name="aProperty">
            the property to set by default
            </param>
            <param name="aAttribute">
            the attribute of the property, if applicable.
            May be null.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;
            </param>
            <param name="aValue">
            if aAttribute is not null, the value of the attribute.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;,
            aValue=&quot;0x00FFFF&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.RemoveDefaultProperty(Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            RemoveDefaultProperty() unregisters a default style property with the editor
            </summary>
            <param name="aProperty">
            the property to remove from defaults
            </param>
            <param name="aAttribute">
            the attribute of the property, if applicable.
            May be null.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;
            </param>
            <param name="aValue">
            if aAttribute is not null, the value of the attribute.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;,
            aValue=&quot;0x00FFFF&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.RemoveAllDefaultProperties">
            <summary>
            RemoveAllDefaultProperties() unregisters all default style properties with the editor
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.SetInlineProperty(Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            SetInlineProperty() sets the aggregate properties on the current selection
            </summary>
            <param name="aProperty">
            the property to set on the selection
            </param>
            <param name="aAttribute">
            the attribute of the property, if applicable.
            May be null.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;
            </param>
            <param name="aValue">
            if aAttribute is not null, the value of the attribute.
            May be null.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;,
            aValue=&quot;0x00FFFF&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetInlineProperty(Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean@,System.Boolean@,System.Boolean@)">
            <summary>
            getInlineProperty() gets aggregate properties of the current selection.
            All object in the current selection are scanned and their attributes are
            represented in a list of Property object.
            </summary>
            <param name="aProperty">
            the property to get on the selection
            </param>
            <param name="aAttribute">
            the attribute of the property, if applicable.
            May be null.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;
            </param>
            <param name="aValue">
            if aAttribute is not null, the value of the attribute.
            May be null.
            Example: aProperty=&quot;font&quot;, aAttribute=&quot;color&quot;,
            aValue=&quot;0x00FFFF&quot;
            </param>
            <param name="aFirst">
            [OUT] PR_TRUE if the first text node in the
            selection has the property
            </param>
            <param name="aAny">
            [OUT] PR_TRUE if any of the text nodes in the
            selection have the property
            </param>
            <param name="aAll">
            [OUT] PR_TRUE if all of the text nodes in the
            selection have the property
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.RemoveAllInlineProperties">
            <summary>
            removeAllInlineProperties() deletes all the inline properties from all
            text in the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.RemoveInlineProperty(Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase)">
            <summary>
            removeInlineProperty() deletes the properties from all text in the current
            selection.  If aProperty is not set on the selection, nothing is done.
            </summary>
            <param name="aProperty">
            the property to remove from the selection
            All atoms are for normal HTML tags (e.g.:
            nsIEditorProperty::font) except when you want to
            remove just links and not named anchors.
            For that, use nsIEditorProperty::href
            </param>
            <param name="aAttribute">
            the attribute of the property, if applicable.
            May be null.
            Example: aProperty=nsIEditorProptery::font,
            aAttribute=&quot;color&quot;
            nsIEditProperty::allAttributes is special.
            It indicates that all content-based text properties
            are to be removed from the selection.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.IncreaseFontSize">
            <summary>
            Increase font size for text in selection by 1 HTML unit
            All existing text is scanned for existing &lt;FONT SIZE&gt; attributes
            so they will be incremented instead of inserting new &lt;FONT&gt; tag
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.DecreaseFontSize">
            <summary>
            Decrease font size for text in selection by 1 HTML unit
            All existing text is scanned for existing &lt;FONT SIZE&gt; attributes
            so they will be decreased instead of inserting new &lt;FONT&gt; tag
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.NodeIsBlock(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Tests if a node is a BLOCK element according the the HTML 4.0 DTD.
            This does NOT consider CSS effect on display type
            </summary>
            <param name="aNode">
            the node to test
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.InsertHTML(Gecko.nsAStringBase)">
            <summary>
            Insert some HTML source at the current location
            </summary>
            <param name="aInputString">
            the string to be inserted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.PasteNoFormatting(System.Int32)">
            <summary>
            Paste the text in the OS clipboard at the cursor position, replacing
            the selected text (if any), but strip out any HTML styles and formatting
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.RebuildDocumentFromSource(Gecko.nsAStringBase)">
            <summary>
            Rebuild the entire document from source HTML
            Needed to be able to edit HEAD and other outside-of-BODY content
            </summary>
            <param name="aSourceString">
            HTML source string of the entire new document
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.InsertHTMLWithContext(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMDocument,Gecko.Interfaces.nsIDOMNode,System.Int32,System.Boolean)">
            <summary>
            Insert some HTML source, interpreting
            the string argument according to the given context.
            </summary>
            <param name="aInputString">
            the string to be inserted
            </param>
            <param name="aContextStr">
            Context of insertion
            </param>
            <param name="aInfoStr">
            Related info to aInputString
            </param>
            <param name="aFlavor">
            Transferable flavor, can be &quot;&quot;
            </param>
            <param name="aSourceDoc">
            document where input was dragged from (may be null)
            </param>
            <param name="aDestinationNode">
            location for insertion (such as when dropped)
            </param>
            <param name="aDestinationOffset">
            used with aDestNode to determine insert location
            </param>
            <param name="aDeleteSelection">
            used with aDestNode during drag&amp;drop
            </param>
            <param name="aCollapseSelection">
            used with aDestNode during drag&amp;drop
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.InsertElementAtSelection(Gecko.Interfaces.nsIDOMElement,System.Boolean)">
            <summary>
            Insert an element, which may have child nodes, at the selection
            Used primarily to insert a new element for various insert element dialogs,
            but it enforces the HTML 4.0 DTD &quot;CanContain&quot; rules, so it should
            be useful for other elements.
            </summary>
            <param name="aElement">
            The element to insert
            </param>
            <param name="aDeleteSelection">
            Delete the selection before inserting
            If aDeleteSelection is PR_FALSE, then the element is inserted
            after the end of the selection for all element except
            Named Anchors, which insert before the selection
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.SetDocumentTitle(Gecko.nsAStringBase)">
            <summary>
            Set the documents title.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.UpdateBaseURL">
            <summary>
            Set the BaseURL for the document to the current URL
            but only if the page doesn&apos;t have a &lt;base&gt; tag
            This should be done after the document URL has changed,
            such as after saving a file
            This is used as base for relativizing link and image urls
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.SelectElement(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Set the selection at the suppled element
            </summary>
            <param name="aElement">
            An element in the document
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.SetCaretAfterElement(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Create a collapsed selection just after aElement
            
            XXX could we parameterize SelectElement(before/select/after&gt;?
            
            The selection is set to parent-of-aElement with an
            offset 1 greater than aElement&apos;s offset
            but it enforces the HTML 4.0 DTD &quot;CanContain&quot; rules, so it should
            be useful for other elements.
            </summary>
            <param name="aElement">
            An element in the document
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.SetParagraphFormat(Gecko.nsAStringBase)">
            <summary>
            SetParagraphFormat       Insert a block paragraph tag around selection
            </summary>
            <param name="aParagraphFormat">
            &quot;p&quot;, &quot;h1&quot; to &quot;h6&quot;, &quot;address&quot;, &quot;pre&quot;, or &quot;blockquote&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetParagraphState(System.Boolean@,Gecko.nsAStringBase)">
            <summary>
            getParagraphState returns what block tag paragraph format is in
            the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one format
            </param>
            <returns>
            Name of block tag. &quot;&quot; is returned for none.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetFontFaceState(System.Boolean@,Gecko.nsAStringBase)">
            <summary>
            getFontFaceState returns what font face is in the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one font face
            </param>
            <returns>
            Name of face.  Note: &quot;tt&quot; is returned for
            tt tag.  &quot;&quot; is returned for none.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetFontColorState(System.Boolean@,Gecko.nsAStringBase)">
            <summary>
            getFontColorState returns what font face is in the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one font color
            </param>
            <returns>
            Color string. &quot;&quot; is returned for none.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetBackgroundColorState(System.Boolean@,Gecko.nsAStringBase)">
            <summary>
            getFontColorState returns what font face is in the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one font color
            </param>
            <returns>
            Color string. &quot;&quot; is returned for none.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetHighlightColorState(System.Boolean@,Gecko.nsAStringBase)">
            <summary>
            getHighlightColorState returns what the highlight color of the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one font color
            </param>
            <returns>
            Color string. &quot;&quot; is returned for none.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetListState(System.Boolean@,System.Boolean@,System.Boolean@,System.Boolean@)">
            <summary>
            getListState returns what list type is in the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one type of list, or
            if there is some list and non-list
            </param>
            <param name="aOL">
            The company that employs me.  No, really, it&apos;s
            true if an &quot;ol&quot; list is selected.
            </param>
            <param name="aUL">
            true if an &quot;ul&quot; list is selected.
            </param>
            <param name="aDL">
            true if a &quot;dl&quot; list is selected.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetListItemState(System.Boolean@,System.Boolean@,System.Boolean@,System.Boolean@)">
            <summary>
            getListItemState returns what list item type is in the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one type of list item, or
            if there is some list and non-list
            </param>
            <param name="aLI">
            true if &quot;li&quot; list items are selected.
            </param>
            <param name="aDT">
            true if &quot;dt&quot; list items are selected.
            </param>
            <param name="aDD">
            true if &quot;dd&quot; list items are selected.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetAlignment(System.Boolean@,System.Int16@)">
            <summary>
            getAlignment     returns what alignment is in the selection.
            </summary>
            <param name="aMixed">
            True if there is more than one type of list item, or
            if there is some list and non-list
            </param>
            <param name="aAlign">
            enum value for first encountered alignment
            (left/center/right)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetIndentState(System.Boolean@,System.Boolean@)">
            <summary>
            Document me!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.MakeOrChangeList(Gecko.nsAStringBase,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            Document me!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.RemoveList(Gecko.nsAStringBase)">
            <summary>
            Document me!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.Indent(Gecko.nsAStringBase)">
            <summary>
            Document me!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.Align(Gecko.nsAStringBase)">
            <summary>
            Document me!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetElementOrParentByTagName(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Return the input node or a parent matching the given aTagName,
            starting the search at the supplied node.
            An example of use is for testing if a node is in a table cell
            given a selection anchor node.
            </summary>
            <param name="aTagName">
            The HTML tagname
            Special input values:
            Use &quot;href&quot; to get a link node
            (an &quot;A&quot; tag with the &quot;href&quot; attribute set)
            Use &quot;anchor&quot; or &quot;namedanchor&quot; to get a named anchor node
            (an &quot;A&quot; tag with the &quot;name&quot; attribute set)
            Use &quot;list&quot; to get an OL, UL, or DL list node
            Use &quot;td&quot; to get either a TD or TH cell node
            </param>
            <param name="aNode">
            The node in the document to start the search.
            If it is null, the anchor node of the current selection is used.
            </param>
            <returns>
            NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            (passes NS_SUCCEEDED macro)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetSelectedElement(Gecko.nsAStringBase)">
            <summary>
            Return an element only if it is the only node selected,
            such as an image, horizontal rule, etc.
            The exception is a link, which is more like a text attribute:
            The Anchor tag is returned if the selection is within the textnode(s)
            that are children of the &quot;A&quot; node.
            This could be a collapsed selection, i.e., a caret
            within the link text.
            </summary>
            <param name="aTagName">
            The HTML tagname or and empty string
            to get any element (but only if it is the only element selected)
            Special input values for Links and Named anchors:
            Use &quot;href&quot; to get a link node
            (an &quot;A&quot; tag with the &quot;href&quot; attribute set)
            Use &quot;anchor&quot; or &quot;namedanchor&quot; to get a named anchor node
            (an &quot;A&quot; tag with the &quot;name&quot; attribute set)
            </param>
            <returns>
            NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            (passes NS_SUCCEEDED macro)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetHeadContentsAsHTML(Gecko.nsAStringBase)">
            <summary>
            Output the contents of the &lt;HEAD&gt; section as text/HTML format
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.ReplaceHeadContentsWithHTML(Gecko.nsAStringBase)">
            <summary>
            Replace all children of &lt;HEAD&gt; with string of HTML source
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.CreateElementWithDefaults(Gecko.nsAStringBase)">
            <summary>
            Return a new element with default attribute values
            
            This does not rely on the selection, and is not sensitive to context.
            
            Used primarily to supply new element for various insert element dialogs
            (Image, Link, NamedAnchor, Table, and HorizontalRule
            are the only returned elements as of 7/25/99)
            </summary>
            <param name="aTagName">
            The HTML tagname
            Special input values for Links and Named anchors:
            Use &quot;href&quot; to get a link node
            (an &quot;A&quot; tag with the &quot;href&quot; attribute set)
            Use &quot;anchor&quot; or &quot;namedanchor&quot; to get a named anchor node
            (an &quot;A&quot; tag with the &quot;name&quot; attribute set)
            </param>
            <returns>
            The new element created.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.InsertLinkAroundSelection(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Insert an link element as the parent of the current selection
            </summary>
            <param name="aElement">
            An &quot;A&quot; element with a non-empty &quot;href&quot; attribute
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.SetBackgroundColor(Gecko.nsAStringBase)">
            <summary>
            Set the value of the &quot;bgcolor&quot; attribute on the document&apos;s &lt;body&gt; element
            </summary>
            <param name="aColor">
            The HTML color string, such as &quot;#ffccff&quot; or &quot;yellow&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.SetBodyAttribute(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Set an attribute on the document&apos;s &lt;body&gt; element
            such as text, link, background colors
            
            8/31/00 THIS ISN&apos;T BEING USED? SHOULD WE DROP IT?
            </summary>
            <param name="aAttr">
            The attribute to be set
            </param>
            <param name="aValue">
            The value of the attribute
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetLinkedObjects">
            <summary>
            Find all the nodes in the document which contain references
            to outside URIs (e.g. a href, img src, script src, etc.)
            The objects in the array will be type nsIURIRefObject.
            </summary>
            <returns>
            aNodeList    the linked nodes found
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetIsCSSEnabledAttribute">
            <summary>
            A boolean which is true is the HTMLEditor has been instantiated
            with CSS knowledge and if the CSS pref is currently checked
            </summary>
            <returns>
            true if CSS handled and enabled
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.AddInsertionListener(Gecko.Interfaces.nsIContentFilter)">
            <summary>
            Add listener for insertion override
            </summary>
            <param name="inFilter">
            function which callers want called during insertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.RemoveInsertionListener(Gecko.Interfaces.nsIContentFilter)">
            <summary>
            Remove listener for insertion override
            </summary>
            <param name="inFilter">
            function which callers do not want called during insertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.CreateAnonymousElement(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Returns an anonymous nsDOMElement of type aTag,
            child of aParentNode. If aIsCreatedHidden is true, the class
            &quot;hidden&quot; is added to the created element. If aAnonClass is not
            the empty string, it becomes the value of the attribute &quot;_moz_anonclass&quot;
            </summary>
            <param name="aTag">
            [IN] a string representing the desired type of
            the element to create
            </param>
            <param name="aParentNode">
            [IN] the parent node of the created anonymous
            element
            </param>
            <param name="aAnonClass">
            [IN] contents of the _moz_anonclass attribute
            </param>
            <param name="aIsCreatedHidden">
            [IN] a boolean specifying if the class &quot;hidden&quot;
            is to be added to the created anonymous
            element
            </param>
            <returns>
            a DOM Element
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetSelectionContainer">
            <summary>
            returns the deepest container of the selection
            </summary>
            <returns>
            a DOM Element
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.CheckSelectionStateForAnonymousButtons(Gecko.Interfaces.nsISelection)">
            <summary>
            Checks if the anonymous nodes created by the HTML editor have to be
            refreshed or hidden depending on a possible new state of the selection
            </summary>
            <param name="aSelection">
            [IN] a selection
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetReturnInParagraphCreatesNewParagraphAttribute">
            <summary>
            A boolean indicating if a return key pressed in a paragraph creates
            another paragraph or just inserts a &lt;br&gt; at the caret
            </summary>
            <returns>
            true if CR in a paragraph creates a new paragraph
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLEditor.GetActiveEditingHost">
            <summary>
            Get an active editor&apos;s editing host in DOM window.  If this editor isn&apos;t
            active in the DOM window, this returns NULL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLInlineTableEditor.GetInlineTableEditingEnabledAttribute">
            <summary>
            boolean indicating if inline table editing is enabled in the editor.
            When inline table editing is enabled, and when the selection is
            contained in a table cell, special buttons allowing to add/remove
            a line/column are available on the cell&apos;s border.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLInlineTableEditor.ShowInlineTableEditingUI(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Shows inline table editing UI around a table cell
            </summary>
            <param name="aCell">
            [IN] a DOM Element being a table cell, td or th
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLInlineTableEditor.HideInlineTableEditingUI">
            <summary>
            Hide all inline table editing UI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLInlineTableEditor.DoInlineTableEditingAction(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Modifies the table containing the selection according to the
            activation of an inline table editing UI element
            </summary>
            <param name="aUIAnonymousElement">
            [IN] the inline table editing UI element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLInlineTableEditor.RefreshInlineTableEditingUI">
            <summary>
            Refresh already visible inline table editing UI
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHTMLMenu">
            <summary>
            A private interface.
            All methods throw NS_ERROR_DOM_SECURITY_ERR if the caller is not chrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLMenu.SendShowEvent">
            <summary>
            Creates and dispatches a trusted event named &quot;show&quot;.
            The event is not cancelable and does not bubble.
            See http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#context-menus
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLMenu.CreateBuilder">
            <summary>
            Creates a native menu builder. The builder type is dependent on menu type.
            Currently, it returns nsXULContextMenuBuilder for context menus.
            Toolbar menus are not yet supported (the method returns null).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizeListener.OnStartResizing(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Listener&apos;s callback called by the editor when the user
            starts resizing an element
            </summary>
            <param name="aElement">
            [IN] the element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizeListener.OnEndResizing(Gecko.Interfaces.nsIDOMElement,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Listener&apos;s callback called by the editor when the user
            has finalized the resizing of an element
            </summary>
            <param name="aElement">
            [IN] the element that was resized
            </param>
            <param name="aOldWidth">
            [IN] the width of the element before resizing
            </param>
            <param name="aOldHeight">
            [IN] the height of the element before resizing
            </param>
            <param name="aNewWidth">
            [IN] the width of the element after resizing
            </param>
            <param name="aNewHeight">
            [IN] the height of the element after resizing
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.GetResizedObjectAttribute">
            <summary>
            the element currently displaying resizers
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.GetObjectResizingEnabledAttribute">
            <summary>
            a boolean indicating if object resizing is enabled in the editor
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.ShowResizers(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Shows active resizers around an element&apos;s frame
            </summary>
            <param name="aResizedElement">
            [IN] a DOM Element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.HideResizers">
            <summary>
            Hide resizers if they are visible
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.RefreshResizers">
            <summary>
            Refresh visible resizers
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.MouseDown(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            event callback when a mouse button is pressed
            </summary>
            <param name="aX">
            [IN] horizontal position of the pointer
            </param>
            <param name="aY">
            [IN] vertical position of the pointer
            </param>
            <param name="aTarget">
            [IN] the element triggering the event
            </param>
            <param name="aMouseEvent">
            [IN] the event
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.MouseUp(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            event callback when a mouse button is released
            </summary>
            <param name="aX">
            [IN] horizontal position of the pointer
            </param>
            <param name="aY">
            [IN] vertical position of the pointer
            </param>
            <param name="aTarget">
            [IN] the element triggering the event
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.MouseMove(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            event callback when the mouse pointer is moved
            </summary>
            <param name="aMouseEvent">
            [IN] the event
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.AddObjectResizeEventListener(Gecko.Interfaces.nsIHTMLObjectResizeListener)">
            <summary>
            Creates a resize listener that can be used to get notifications
            that the user started to resize an object or finalized such an operation
            </summary>
            <param name="aListener">
            [IN] an instance of nsIHTMLObjectResizeListener
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTMLObjectResizer.RemoveObjectResizeEventListener(Gecko.Interfaces.nsIHTMLObjectResizeListener)">
            <summary>
            Deletes a resize listener
            </summary>
            <param name="aListener">
            [IN] an instance of nsIHTMLObjectResizeListener
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpActivityObserver">
            <summary>
            nsIHttpActivityObserver
            
            This interface provides a way for http activities to be reported
            to observers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpActivityObserver.ObserveActivity(Gecko.Interfaces.nsISupports,System.UInt32,System.UInt32,System.UInt64,System.UInt64,Gecko.nsACStringBase)">
            <summary>
            observe activity from the http transport
            </summary>
            <param name="aHttpChannel">
            nsISupports interface for the the http channel that
            generated this activity
            </param>
            <param name="aActivityType">
            The value of this aActivityType will be one of
            ACTIVITY_TYPE_SOCKET_TRANSPORT or
            ACTIVITY_TYPE_HTTP_TRANSACTION
            </param>
            <param name="aActivitySubtype">
            The value of this aActivitySubtype, will be depend
            on the value of aActivityType. When aActivityType
            is ACTIVITY_TYPE_SOCKET_TRANSPORT
            aActivitySubtype will be one of the
            nsISocketTransport::STATUS_???? values defined in
            nsISocketTransport.idl
            OR when aActivityType
            is ACTIVITY_TYPE_HTTP_TRANSACTION
            aActivitySubtype will be one of the
            nsIHttpActivityObserver::ACTIVITY_SUBTYPE_???? values
            defined below
            </param>
            <param name="aTimestamp">
            microseconds past the epoch of Jan 1, 1970
            </param>
            <param name="aExtraSizeData">
            Any extra size data optionally available with
            this activity
            </param>
            <param name="aExtraStringData">
            Any extra string data optionally available with
            this activity
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpActivityObserver.GetIsActiveAttribute">
            <summary>
            This attribute is true when this interface is active and should
            observe http activities. When false, observeActivity() should not
            be called. It is present for compatibility reasons and should be
            implemented only by nsHttpActivityDistributor.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpActivityDistributor">
            <summary>
            nsIHttpActivityDistributor
            
            This interface provides a way to register and unregister observers to the
            http activities.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpActivityDistributor.ObserveActivity(Gecko.Interfaces.nsISupports,System.UInt32,System.UInt32,System.UInt64,System.UInt64,Gecko.nsACStringBase)">
            <summary>
            observe activity from the http transport
            </summary>
            <param name="aHttpChannel">
            nsISupports interface for the the http channel that
            generated this activity
            </param>
            <param name="aActivityType">
            The value of this aActivityType will be one of
            ACTIVITY_TYPE_SOCKET_TRANSPORT or
            ACTIVITY_TYPE_HTTP_TRANSACTION
            </param>
            <param name="aActivitySubtype">
            The value of this aActivitySubtype, will be depend
            on the value of aActivityType. When aActivityType
            is ACTIVITY_TYPE_SOCKET_TRANSPORT
            aActivitySubtype will be one of the
            nsISocketTransport::STATUS_???? values defined in
            nsISocketTransport.idl
            OR when aActivityType
            is ACTIVITY_TYPE_HTTP_TRANSACTION
            aActivitySubtype will be one of the
            nsIHttpActivityObserver::ACTIVITY_SUBTYPE_???? values
            defined below
            </param>
            <param name="aTimestamp">
            microseconds past the epoch of Jan 1, 1970
            </param>
            <param name="aExtraSizeData">
            Any extra size data optionally available with
            this activity
            </param>
            <param name="aExtraStringData">
            Any extra string data optionally available with
            this activity
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpActivityDistributor.GetIsActiveAttribute">
            <summary>
            This attribute is true when this interface is active and should
            observe http activities. When false, observeActivity() should not
            be called. It is present for compatibility reasons and should be
            implemented only by nsHttpActivityDistributor.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProxiedChannel">
            <summary>
            An interface for accessing the proxy info that a channel was
            constructed with.
            </summary>
            <remarks>
            See nsIProxiedProtocolHandler
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedChannel.GetProxyInfoAttribute">
            <summary>
            Gets the proxy info the channel was constructed with. null or a
            proxyInfo with type &quot;direct&quot; mean no proxy.
            
            The returned proxy info must not be modified.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetProxyInfoAttribute">
            <summary>
            Gets the proxy info the channel was constructed with. null or a
            proxyInfo with type &quot;direct&quot; mean no proxy.
            
            The returned proxy info must not be modified.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetIsSSLAttribute">
            <summary>
            If the channel being authenticated is using SSL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetProxyMethodIsConnectAttribute">
            <summary>
            Returns if the proxy HTTP method used is CONNECT. If no proxy is being
            used it must return PR_FALSE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.Cancel(System.Int32)">
            <summary>
            Cancels the current request. See nsIRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request. See nsIRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetURIAttribute">
            <summary>
            The URI corresponding to the channel. See nsIChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetLoadGroupAttribute">
            <summary>
            The load group of this request. It is here for querying its
            notificationCallbacks. See nsIRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetNotificationCallbacksAttribute">
            <summary>
            The notification callbacks for the channel. See nsIChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetRequestMethodAttribute(Gecko.nsACStringBase)">
            <summary>
            The HTTP request method. See nsIHttpChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetServerResponseHeaderAttribute(Gecko.nsACStringBase)">
            <summary>
            The &quot;Server&quot; response header.
            Return NS_ERROR_NOT_AVAILABLE if not available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetProxyChallengesAttribute(Gecko.nsACStringBase)">
            <summary>
            The Proxy-Authenticate response header.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.GetWWWChallengesAttribute(Gecko.nsACStringBase)">
            <summary>
            The WWW-Authenticate response header.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.SetProxyCredentials(Gecko.nsACStringBase)">
            <summary>
            Sets the Proxy-Authorization request header. An empty string
            will clear it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.SetWWWCredentials(Gecko.nsACStringBase)">
            <summary>
            Sets the Authorization request header. An empty string
            will clear it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.OnAuthAvailable">
            <summary>
            Called when authentication information is ready and has been set on this
            object using setWWWCredentials/setProxyCredentials. Implementations can
            continue with the request and send the given information to the server.
            
            It is called asynchronously from
            nsIHttpChannelAuthProvider::processAuthentication if that method returns
            NS_ERROR_IN_PROGRESS.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.OnAuthCancelled(System.Boolean)">
            <summary>
            Notifies that the prompt was cancelled. It is called asynchronously
            from nsIHttpChannelAuthProvider::processAuthentication if that method
            returns NS_ERROR_IN_PROGRESS.
            </summary>
            <param name="userCancel">
            If the user was cancelled has cancelled the authentication prompt.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.CloseStickyConnection">
            <summary>
            Tells the channel to drop and close any sticky connection, since this
            connection oriented schema cannot be negotiated second time on
            the same connection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticableChannel.ConnectionRestartable(System.Boolean)">
            <summary>
            Tells the channel to mark the connection as allowed to restart on
            authentication retry.  This is allowed when the request is a start
            of a new authentication round.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpAuthenticator">
            <summary>
            nsIHttpAuthenticator
            
            Interface designed to allow for pluggable HTTP authentication modules.
            Implementations are registered under the ContractID:
            
            &quot;@mozilla.org/network/http-authenticator;1?scheme=&lt;auth-scheme&gt;&quot;
            
            where &lt;auth-scheme&gt; is the lower-cased value of the authentication scheme
            found in the server challenge per the rules of RFC 2617.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticator.ChallengeReceived(Gecko.Interfaces.nsIHttpAuthenticableChannel,System.String,System.Boolean,Gecko.Interfaces.nsISupports@,Gecko.Interfaces.nsISupports@,System.Boolean@)">
            <summary>
            Upon receipt of a server challenge, this function is called to determine
            whether or not the current user identity has been rejected.  If true,
            then the user will be prompted by the channel to enter (or revise) their
            identity.  Following this, generateCredentials will be called.
            
            If the IDENTITY_IGNORED auth flag is set, then the aInvalidateIdentity
            return value will be ignored, and user prompting will be suppressed.
            </summary>
            <param name="aChannel">
            the http channel that received the challenge.
            </param>
            <param name="aChallenge">
            the challenge from the WWW-Authenticate/Proxy-Authenticate
            server response header.  (possibly from the auth cache.)
            </param>
            <param name="aProxyAuth">
            flag indicating whether or not aChallenge is from a proxy.
            </param>
            <param name="aSessionState">
            see description below for generateCredentials.
            </param>
            <param name="aContinuationState">
            see description below for generateCredentials.
            </param>
            <param name="aInvalidateIdentity">
            return value indicating whether or not to prompt the user for a
            revised identity.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticator.GenerateCredentialsAsync(Gecko.Interfaces.nsIHttpAuthenticableChannel,Gecko.Interfaces.nsIHttpAuthenticatorCallback,System.String,System.Boolean,System.String,System.String,System.String,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsICancelable@)">
            <summary>
            Called to generate the authentication credentials for a particular
            server/proxy challenge asynchronously. Credentials will be sent back
            to the server via an Authorization/Proxy-Authorization header.
            </summary>
            <param name="aChannel">
            the http channel requesting credentials
            </param>
            <param name="aCallback">
            callback function to be called when credentials are available
            </param>
            <param name="aChallenge">
            the challenge from the WWW-Authenticate/Proxy-Authenticate
            server response header.  (possibly from the auth cache.)
            </param>
            <param name="aProxyAuth">
            flag indicating whether or not aChallenge is from a proxy.
            </param>
            <param name="aDomain">
            string containing the domain name (if appropriate)
            </param>
            <param name="aUser">
            string containing the user name
            </param>
            <param name="aPassword">
            string containing the password
            </param>
            <param name="aSessionState">
            state stored along side the user&apos;s identity in the auth cache
            for the lifetime of the browser session.  if a new auth cache
            entry is created for this challenge, then this parameter will
            be null.  on return, the result will be stored in the new auth
            cache entry.  this parameter is non-null when an auth cache entry
            is being reused. currently modification of session state is not
            communicated to caller, thus caching credentials obtained by
            asynchronous way is not supported.
            </param>
            <param name="aContinuationState">
            state held by the channel between consecutive calls to
            generateCredentials, assuming multiple calls are required
            to authenticate.  this state is held for at most the lifetime of
            the channel.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticator.GenerateCredentials(Gecko.Interfaces.nsIHttpAuthenticableChannel,System.String,System.Boolean,System.String,System.String,System.String,Gecko.Interfaces.nsISupports@,Gecko.Interfaces.nsISupports@,System.UInt32@)">
            <summary>
            Called to generate the authentication credentials for a particular
            server/proxy challenge.  This is the value that will be sent back
            to the server via an Authorization/Proxy-Authorization header.
            
            This function may be called using a cached challenge provided the
            authenticator sets the REUSABLE_CHALLENGE flag.
            </summary>
            <param name="aChannel">
            the http channel requesting credentials
            </param>
            <param name="aChallenge">
            the challenge from the WWW-Authenticate/Proxy-Authenticate
            server response header.  (possibly from the auth cache.)
            </param>
            <param name="aProxyAuth">
            flag indicating whether or not aChallenge is from a proxy.
            </param>
            <param name="aDomain">
            string containing the domain name (if appropriate)
            </param>
            <param name="aUser">
            string containing the user name
            </param>
            <param name="aPassword">
            string containing the password
            </param>
            <param name="aSessionState">
            state stored along side the user&apos;s identity in the auth cache
            for the lifetime of the browser session.  if a new auth cache
            entry is created for this challenge, then this parameter will
            be null.  on return, the result will be stored in the new auth
            cache entry.  this parameter is non-null when an auth cache entry
            is being reused.
            </param>
            <param name="aContinuationState">
            state held by the channel between consecutive calls to
            generateCredentials, assuming multiple calls are required
            to authenticate.  this state is held for at most the lifetime of
            the channel.
            </param>
            <param name="aFlags">
            authenticator may return one of the generate flags bellow.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthenticator.GetAuthFlagsAttribute">
            <summary>
            Flags defining various properties of the authenticator.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpAuthManager">
            <summary>
            nsIHttpAuthManager
            
            This service provides access to cached HTTP authentication
            user credentials (domain, username, password) for sites
            visited during the current browser session.
            
            This interface exists to provide other HTTP stacks with the
            ability to share HTTP authentication credentials with Necko.
            This is currently used by the Java plugin (version 1.5 and
            higher) to avoid duplicate authentication prompts when the
            Java client fetches content from a HTTP site that the user
            has already logged into.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthManager.GetAuthIdentity(Gecko.nsACStringBase,Gecko.nsACStringBase,System.Int32,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Lookup auth identity.
            </summary>
            <param name="aScheme">
            the URL scheme (e.g., &quot;http&quot;).  NOTE: for proxy authentication,
            this should be &quot;http&quot; (this includes authentication for CONNECT
            tunneling).
            </param>
            <param name="aHost">
            the host of the server issuing a challenge (ASCII only).
            </param>
            <param name="aPort">
            the port of the server issuing a challenge.
            </param>
            <param name="aAuthType">
            optional string identifying auth type used (e.g., &quot;basic&quot;)
            </param>
            <param name="aRealm">
            optional string identifying auth realm.
            </param>
            <param name="aPath">
            optional string identifying auth path. empty for proxy auth.
            </param>
            <param name="aUserDomain">
            return value containing user domain.
            </param>
            <param name="aUserName">
            return value containing user name.
            </param>
            <param name="aUserPassword">
            return value containing user password.
            </param>
            <param name="aIsPrivate">
            whether to look up a private or public identity (they are
            stored separately, for use by private browsing)
            </param>
            <param name="aPrincipal">
            the principal from which to derive information about which
            app/mozbrowser is in use for this request
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthManager.SetAuthIdentity(Gecko.nsACStringBase,Gecko.nsACStringBase,System.Int32,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Store auth identity.
            </summary>
            <param name="aScheme">
            the URL scheme (e.g., &quot;http&quot;).  NOTE: for proxy authentication,
            this should be &quot;http&quot; (this includes authentication for CONNECT
            tunneling).
            </param>
            <param name="aHost">
            the host of the server issuing a challenge (ASCII only).
            </param>
            <param name="aPort">
            the port of the server issuing a challenge.
            </param>
            <param name="aAuthType">
            optional string identifying auth type used (e.g., &quot;basic&quot;)
            </param>
            <param name="aRealm">
            optional string identifying auth realm.
            </param>
            <param name="aPath">
            optional string identifying auth path. empty for proxy auth.
            </param>
            <param name="aUserDomain">
            optional string containing user domain.
            </param>
            <param name="aUserName">
            optional string containing user name.
            </param>
            <param name="aUserPassword">
            optional string containing user password.
            </param>
            <param name="aIsPrivate">
            whether to store a private or public identity (they are
            stored separately, for use by private browsing)
            </param>
            <param name="aPrincipal">
            the principal from which to derive information about which
            app/mozbrowser is in use for this request
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpAuthManager.ClearAll">
            <summary>
            Clear all auth cache.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpChannel">
            <summary>
            nsIHttpChannel
            
            This interface allows for the modification of HTTP request parameters and
            the inspection of the resulting HTTP response status and headers when they
            become available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetOriginalURIAttribute">
            <summary>
            The original URI used to construct the channel. This is used in
            the case of a redirect or URI &quot;resolution&quot; (e.g. resolving a
            resource: URI to a file: URI) so that the original pre-redirect
            URI can still be obtained.  This is never null.  Attempts to
            set it to null must throw.
            
            NOTE: this is distinctly different from the http Referer (referring URI),
            which is typically the page that contained the original URI (accessible
            from nsIHttpChannel).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetURIAttribute">
            <summary>
            The URI corresponding to the channel.  Its value is immutable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetOwnerAttribute">
            <summary>
            The owner, corresponding to the entity that is responsible for this
            channel.  Used by the security manager to grant or deny privileges to
            mobile code loaded from this channel.
            
            NOTE: this is a strong reference to the owner, so if the owner is also
            holding a strong reference to the channel, care must be taken to
            explicitly drop its reference to the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetNotificationCallbacksAttribute">
            <summary>
            The notification callbacks for the channel.  This is set by clients, who
            wish to provide a means to receive progress, status and protocol-specific
            notifications.  If this value is NULL, the channel implementation may use
            the notification callbacks from its load group.  The channel may also
            query the notification callbacks from its load group if its notification
            callbacks do not supply the requested interface.
            
            Interfaces commonly requested include: nsIProgressEventSink, nsIPrompt,
            and nsIAuthPrompt/nsIAuthPrompt2.
            
            When the channel is done, it must not continue holding references to
            this object.
            
            NOTE: A channel implementation should take care when &quot;caching&quot; an
            interface pointer queried from its notification callbacks.  If the
            notification callbacks are changed, then a cached interface pointer may
            become invalid and may therefore need to be re-queried.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetSecurityInfoAttribute">
            <summary>
            Transport-level security information (if any) corresponding to the
            channel.
            
            NOTE: In some circumstances TLS information is propagated onto
            non-nsIHttpChannel objects to indicate that their contents were likely
            delivered over TLS all the same.  For example, document.open() may
            create an nsWyciwygChannel to store the data that will be written to the
            document.  In that case, if the caller has TLS information, we propagate
            that info onto the nsWyciwygChannel given that it is likely that the
            caller will be writing data that was delivered over TLS to the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetContentTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The MIME type of the channel&apos;s content if available.
            
            NOTE: the content type can often be wrongly specified (e.g., wrong file
            extension, wrong MIME type, wrong document type stored on a server, etc.),
            and the caller most likely wants to verify with the actual data.
            
            Setting contentType before the channel has been opened provides a hint
            to the channel as to what the MIME type is.  The channel may ignore this
            hint in deciding on the actual MIME type that it will report.
            
            Setting contentType after onStartRequest has been fired or after open()
            is called will override the type determined by the channel.
            
            Setting contentType between the time that asyncOpen() is called and the
            time when onStartRequest is fired has undefined behavior at this time.
            
            The value of the contentType attribute is a lowercase string.  A value
            assigned to this attribute will be parsed and normalized as follows:
            1- any parameters (delimited with a &apos;;&apos;) will be stripped.
            2- if a charset parameter is given, then its value will replace the
            the contentCharset attribute of the channel.
            3- the stripped contentType will be lowercased.
            Any implementation of nsIChannel must follow these rules.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetContentCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The character set of the channel&apos;s content if available and if applicable.
            This attribute only applies to textual data.
            
            The value of the contentCharset attribute is a mixedcase string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetContentLengthAttribute">
            <summary>
            The length of the data associated with the channel if available.  A value
            of -1 indicates that the content length is unknown. Note that this is a
            64-bit value and obsoletes the &quot;content-length&quot; property used on some
            channels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.Open">
            <summary>
            Synchronously open the channel.
            </summary>
            <returns>
            blocking input stream to the channel&apos;s data.
            
            NOTE: nsIChannel implementations are not required to implement this
            method.  Moreover, since this method may block the calling thread, it
            should not be called on a thread that processes UI events.  Like any
            other nsIChannel method it must not be called on any thread other
            than the XPCOM main thread.
            
            NOTE: Implementations should throw NS_ERROR_IN_PROGRESS if the channel
            is reopened.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.Open2">
            <summary>
            Performs content security check and calls open()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.AsyncOpen(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            Asynchronously open this channel.  Data is fed to the specified stream
            listener as it becomes available.  The stream listener&apos;s methods are
            called on the thread that calls asyncOpen and are not called until
            after asyncOpen returns.  If asyncOpen returns successfully, the
            channel promises to call at least onStartRequest and onStopRequest.
            
            If the nsIRequest object passed to the stream listener&apos;s methods is not
            this channel, an appropriate onChannelRedirect notification needs to be
            sent to the notification callbacks before onStartRequest is called.
            Once onStartRequest is called, all following method calls on aListener
            will get the request that was passed to onStartRequest.
            
            If the channel&apos;s and loadgroup&apos;s notification callbacks do not provide
            an nsIChannelEventSink when onChannelRedirect would be called, that&apos;s
            equivalent to having called onChannelRedirect.
            
            If asyncOpen returns successfully, the channel is responsible for
            keeping itself alive until it has called onStopRequest on aListener or
            called onChannelRedirect.
            
            Implementations are allowed to synchronously add themselves to the
            associated load group (if any).
            
            NOTE: Implementations should throw NS_ERROR_ALREADY_OPENED if the
            channel is reopened.
            </summary>
            <param name="aListener">
            the nsIStreamListener implementation
            </param>
            <param name="aContext">
            an opaque parameter forwarded to aListener&apos;s methods
            </param>
            <remarks>
            See nsIChannelEventSink for onChannelRedirect
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.AsyncOpen2(Gecko.Interfaces.nsIStreamListener)">
            <summary>
            Performs content security check and calls asyncOpen().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetContentDispositionAttribute">
            <summary>
            Access to the type implied or stated by the Content-Disposition header
            if available and if applicable. This allows determining inline versus
            attachment.
            
            Setting contentDisposition provides a hint to the channel about the
            disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will
            be used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty, and return
            DISPOSITION_ATTACHMENT if an invalid/noncompliant value is present.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetContentDispositionFilenameAttribute(Gecko.nsAStringBase)">
            <summary>
            Access to the filename portion of the Content-Disposition header if
            available and if applicable. This allows getting the preferred filename
            without having to parse it out yourself.
            
            Setting contentDispositionFilename provides a hint to the channel about
            the disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will be
            used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header doesn&apos;t
            exist for this type of channel, if the header is empty, if the header
            doesn&apos;t contain a filename portion, or the value of the filename
            attribute is empty/missing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetContentDispositionHeaderAttribute(Gecko.nsACStringBase)">
            <summary>
            Access to the raw Content-Disposition header if available and applicable.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetLoadInfoAttribute">
            <summary>
            The LoadInfo object contains information about a network load, why it
            was started, and how we plan on using the resulting response.
            If a network request is redirected, the new channel will receive a new
            LoadInfo object. The new object will contain mostly the same
            information as the pre-redirect one, but updated as appropriate.
            For detailed information about what parts of LoadInfo are updated on
            redirect, see documentation on individual properties.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetRequestMethodAttribute(Gecko.nsACStringBase)">
            <summary>
            Set/get the HTTP request method (default is "GET").  Both setter and
            getter are case sensitive.
            
            This attribute may only be set before the channel is opened.
            
            NOTE: The data for a "POST" or "PUT" request can be configured via
            nsIUploadChannel; however, after setting the upload data, it may be
            necessary to set the request method explicitly.  The documentation
            for nsIUploadChannel has further details.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_IN_PROGRESS: if set after the channel has been opened.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetReferrerAttribute">
            <summary>
            Get/set the HTTP referrer URI.  This is the address (URI) of the
            resource from which this channel's URI was obtained (see RFC2616 section
            14.36).
            
            This attribute may only be set before the channel is opened.
            
            NOTE: The channel may silently refuse to set the Referer header if the
            URI does not pass certain security checks (e.g., a "https://" URL will
            never be sent as the referrer for a plaintext HTTP request).  The
            implementation is not required to throw an exception when the referrer
            URI is rejected.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_IN_PROGRESS: if set after the channel has been opened.
            NS_ERROR_FAILURE: if used for setting referrer during
            visitRequestHeaders. Getting the value will not throw.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetReferrerPolicyAttribute">
            <summary>
            Get the HTTP referrer policy.  The policy is retrieved from the meta
            referrer tag, which can be one of many values (see ReferrerPolicy.h for
            more details).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.SetReferrerWithPolicy(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Set the HTTP referrer URI with a referrer policy.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if called during visitRequestHeaders.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetProtocolVersionAttribute(Gecko.nsACStringBase)">
            <summary>
            Returns the network protocol used to fetch the resource as identified
            by the ALPN Protocol ID.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetTransferSizeAttribute">
            <summary>
            size consumed by the response header fields and the response payload body
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetDecodedBodySizeAttribute">
            <summary>
            The size of the message body received by the client,
            after removing any applied content-codings
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetEncodedBodySizeAttribute">
            <summary>
            The size in octets of the payload body, prior to removing content-codings
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetRequestHeader(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Get the value of a particular request header.
            </summary>
            <param name="aHeader">
            The case-insensitive name of the request header to query (e.g.,
            "Cache-Control").
            </param>
            <returns>
            the value of the request header.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the header is not set.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.SetRequestHeader(Gecko.nsACStringBase,Gecko.nsACStringBase,System.Boolean)">
            <summary>
            Set the value of a particular request header.
            
            This method allows, for example, the cookies module to add "Cookie"
            headers to the outgoing HTTP request.
            
            This method may only be called before the channel is opened.
            </summary>
            <param name="aHeader">
            The case-insensitive name of the request header to set (e.g.,
            "Cookie").
            </param>
            <param name="aValue">
            The request header value to set (e.g., "X=1").
            </param>
            <param name="aMerge">
            If true, the new header value will be merged with any existing
            values for the specified header.  This flag is ignored if the
            specified header does not support merging (e.g., the "Content-
            Type" header can only have one value).  The list of headers for
            which this flag is ignored is an implementation detail.  If this
            flag is false, then the header value will be replaced with the
            contents of |aValue|.
            
            If aValue is empty and aMerge is false, the header will be cleared.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_IN_PROGRESS: if called after the channel has been
            opened.
            NS_ERROR_FAILURE: if called during visitRequestHeaders.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.SetEmptyRequestHeader(Gecko.nsACStringBase)">
            <summary>
            Set a request header with empty value.
            
            This should be used with caution in the cases where the behavior of
            setRequestHeader ignoring empty header values is undesirable.
            
            This method may only be called before the channel is opened.
            </summary>
            <param name="aHeader">
            The case-insensitive name of the request header to set (e.g.,
            "Cookie").
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_IN_PROGRESS: if called after the channel has been
            opened.
            NS_ERROR_FAILURE: if called during visitRequestHeaders.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.VisitRequestHeaders(Gecko.Interfaces.nsIHttpHeaderVisitor)">
            <summary>
            Call this method to visit all request headers.  Calling setRequestHeader
            while visiting request headers has undefined behavior.  Don&apos;t do it!
            </summary>
            <param name="aVisitor">
            the header visitor instance.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.VisitNonDefaultRequestHeaders(Gecko.Interfaces.nsIHttpHeaderVisitor)">
            <summary>
            Call this method to visit all non-default (UA-provided) request headers.
            Calling setRequestHeader while visiting request headers has undefined
            behavior. Don&apos;t do it!
            </summary>
            <param name="aVisitor">
            the header visitor instance.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetAllowPipeliningAttribute">
            <summary>
            This attribute is a hint to the channel to indicate whether or not
            the underlying HTTP transaction should be allowed to be pipelined
            with other transactions.  This should be set to FALSE, for example,
            if the application knows that the corresponding document is likely
            to be very large.
            
            This attribute is true by default, though other factors may prevent
            pipelining.
            
            This attribute may only be set before the channel is opened.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if set after the channel has been opened.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetAllowSTSAttribute">
            <summary>
            This attribute of the channel indicates whether or not
            the underlying HTTP transaction should be honor stored Strict Transport
            Security directives for its principal. It defaults to true. Using
            OCSP to bootstrap the HTTPs is the likely use case for setting it to
            false.
            
            This attribute may only be set before the channel is opened.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_IN_PROGRESS: or NS_ERROR_ALREADY_OPENED
            if called after the channel has been opened.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetRedirectionLimitAttribute">
            <summary>
            This attribute specifies the number of redirects this channel is allowed
            to make.  If zero, the channel will fail to redirect and will generate
            a NS_ERROR_REDIRECT_LOOP failure status.
            
            NOTE: An HTTP redirect results in a new channel being created.  If the
            new channel supports nsIHttpChannel, then it will be assigned a value
            to its |redirectionLimit| attribute one less than the value of the
            redirected channel&apos;s |redirectionLimit| attribute.  The initial value
            for this attribute may be a configurable preference (depending on the
            implementation).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetResponseStatusAttribute">
            <summary>
            Get the HTTP response code (e.g., 200).
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetResponseStatusTextAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the HTTP response status text (e.g., "OK").
            
            NOTE: This returns the raw (possibly 8-bit) text from the server.  There
            are no assumptions made about the charset of the returned text.  You
            have been warned!
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetRequestSucceededAttribute">
            <summary>
            Returns true if the HTTP response code indicates success.  The value of
            nsIRequest::status will be NS_OK even when processing a 404 response
            because a 404 response may include a message body that (in some cases)
            should be shown to the user.
            
            Use this attribute to distinguish server error pages from normal pages,
            instead of comparing the response status manually against the set of
            valid response codes, if that is required by your application.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetIsMainDocumentChannelAttribute">
            <summary>
            Indicates whether channel should be treated as the main one for the
            current document.  If manually set to true, will always remain true.  Otherwise,
            will be true iff LOAD_DOCUMENT_URI is set in the channel&apos;s loadflags.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetResponseHeader(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Get the value of a particular response header.
            </summary>
            <param name="aHeader">
            The case-insensitive name of the response header to query (e.g.,
            "Set-Cookie").
            </param>
            <returns>
            the value of the response header.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest) or if the header is
            not set in the response.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.SetResponseHeader(Gecko.nsACStringBase,Gecko.nsACStringBase,System.Boolean)">
            <summary>
            Set the value of a particular response header.
            
            This method allows, for example, the HTML content sink to inform the HTTP
            channel about HTTP-EQUIV headers found in HTML &lt;META&gt; tags.
            </summary>
            <param name="aHeader">
            The case-insensitive name of the response header to set (e.g.,
            "Cache-control").
            </param>
            <param name="aValue">
            The response header value to set (e.g., "no-cache").
            </param>
            <param name="aMerge">
            If true, the new header value will be merged with any existing
            values for the specified header.  This flag is ignored if the
            specified header does not support merging (e.g., the "Content-
            Type" header can only have one value).  The list of headers for
            which this flag is ignored is an implementation detail.  If this
            flag is false, then the header value will be replaced with the
            contents of |aValue|.
            
            If aValue is empty and aMerge is false, the header will be cleared.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            NS_ERROR_ILLEGAL_VALUE: if changing the value of this response
            header is not allowed.
            NS_ERROR_FAILURE: if called during visitResponseHeaders,
            VisitOriginalResponseHeaders or getOriginalResponseHeader.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.VisitResponseHeaders(Gecko.Interfaces.nsIHttpHeaderVisitor)">
            <summary>
            Call this method to visit all response headers.  Calling
            setResponseHeader while visiting response headers has undefined
            behavior.  Don't do it!
            </summary>
            <param name="aVisitor">
            the header visitor instance.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetOriginalResponseHeader(Gecko.nsACStringBase,Gecko.Interfaces.nsIHttpHeaderVisitor)">
            <summary>
            Get the value(s) of a particular response header in the form and order
            it has been received from the remote peer. There can be multiple headers
            with the same name.
            </summary>
            <param name="aHeader">
            The case-insensitive name of the response header to query (e.g.,
            "Set-Cookie").
            </param>
            <param name="aVisitor">
            the header visitor instance.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest) or if the header is
            not set in the response.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.VisitOriginalResponseHeaders(Gecko.Interfaces.nsIHttpHeaderVisitor)">
            <summary>
            Call this method to visit all response headers in the form and order as
            they have been received from the remote peer.
            Calling setResponseHeader while visiting response headers has undefined
            behavior.  Don't do it!
            </summary>
            <param name="aVisitor">
            the header visitor instance.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.IsNoStoreResponse">
            <summary>
            Returns true if the server sent a "Cache-Control: no-store" response
            header.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.IsNoCacheResponse">
            <summary>
            Returns true if the server sent the equivalent of a "Cache-control:
            no-cache" response header.  Equivalent response headers include:
            "Pragma: no-cache", "Expires: 0", and "Expires" with a date value
            in the past relative to the value of the "Date" header.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.IsPrivateResponse">
            <summary>
            Returns true if the server sent a "Cache-Control: private" response
            header.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called before the response
            has been received (before onStartRequest).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.RedirectTo(Gecko.Interfaces.nsIURI)">
            <summary>
            Instructs the channel to immediately redirect to a new destination.
            Can only be called on channels that have not yet called their
            listener's OnStartRequest(). Generally that means the latest time
            this can be used is one of:
            "http-on-examine-response"
            "http-on-examine-merged-response"
            "http-on-examine-cached-response"
            
            When non-null URL is set before AsyncOpen:
            we attempt to redirect to the targetURI before we even start building
            and sending the request to the cache or the origin server.
            If the redirect is vetoed, we fail the channel.
            
            When set between AsyncOpen and first call to OnStartRequest being called:
            we attempt to redirect before we start delivery of network or cached
            response to the listener.  If vetoed, we continue with delivery of
            the original content to the channel listener.
            
            When passed aTargetURI is null the channel behaves normally (can be
            rewritten).
            
            This method provides no explicit conflict resolution. The last
            caller to call it wins.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called after the channel has already
            started to deliver the content to its listener.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetRequestContextIDAttribute">
            <summary>
            Identifies the request context for this load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetChannelIdAttribute(Gecko.nsACStringBase)">
            <summary>
            Unique ID of the channel, shared between parent and child. Needed if
            the channel activity needs to be monitored across process boundaries,
            like in devtools net monitor. See bug 1274556.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannel.GetTopLevelContentWindowIdAttribute">
            <summary>
            ID of the top-level document&apos;s inner window.  Identifies the content
            this channels is being load in.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpChannelAuthProvider">
            <summary>
            nsIHttpChannelAuthProvider
            
            This interface is intended for providing authentication for http-style
            channels, like nsIHttpChannel and nsIWebSocket, which implement the
            nsIHttpAuthenticableChannel interface.
            
            When requesting pages AddAuthorizationHeaders MUST be called
            in order to get the http cached headers credentials. When the request is
            unsuccessful because of receiving either a 401 or 407 http response code
            ProcessAuthentication MUST be called and the page MUST be requested again
            with the new credentials that the user has provided. After a successful
            request, checkForSuperfluousAuth MAY be called, and disconnect MUST be
            called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelAuthProvider.Cancel(System.Int32)">
            <summary>
            Call this method to request that this object abort whatever operation it
            may be performing.
            </summary>
            <param name="aReason">
            Pass a failure code to indicate the reason why this operation is
            being canceled.  It is an error to pass a success code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelAuthProvider.Init(Gecko.Interfaces.nsIHttpAuthenticableChannel)">
            <summary>
            Initializes the http authentication support for the channel.
            Implementations must hold a weak reference of the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelAuthProvider.ProcessAuthentication(System.UInt32,System.Boolean)">
            <summary>
            Upon receipt of a server challenge, this function is called to determine
            the credentials to send.
            </summary>
            <param name="httpStatus">
            the http status received.
            </param>
            <param name="sslConnectFailed">
            if the last ssl tunnel connection attempt was or not successful.
            </param>
            <param name="callback">
            the callback to be called when it returns NS_ERROR_IN_PROGRESS.
            The implementation must hold a weak reference.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelAuthProvider.AddAuthorizationHeaders(System.Boolean)">
            <summary>
            Add credentials from the http auth cache.
            </summary>
            <param name="dontUseCachedWWWCreds">
            When true, the method will not add any Authorization headers from
            the auth cache.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelAuthProvider.CheckForSuperfluousAuth">
            <summary>
            Check if an unnecessary(and maybe malicious) url authentication has been
            provided.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelAuthProvider.Disconnect(System.Int32)">
            <summary>
            Cancel pending user auth prompts and release the callback and channel
            weak references.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpUpgradeListener">
            <summary>
            The callback interface for nsIHttpChannelInternal::HTTPUpgrade()
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpChannelInternal">
            <summary>
            Dumping ground for http.  This interface will never be frozen.  If you are
            using any feature exposed by this interface, be aware that this interface
            will change and you will be broken.  You have been warned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetDocumentURIAttribute">
            <summary>
            An http channel can own a reference to the document URI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetRequestVersion(System.UInt32@,System.UInt32@)">
            <summary>
            Get the major/minor version numbers for the request
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetResponseVersion(System.UInt32@,System.UInt32@)">
            <summary>
            Get the major/minor version numbers for the response
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.SetCookie(System.String)">
            <summary>
            Helper method to set a cookie with a consumer-provided
            cookie header, _but_ using the channel&apos;s other information
            (URI&apos;s, prompters, date headers etc).
            </summary>
            <param name="aCookieHeader">
            The cookie header to be parsed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.SetupFallbackChannel(System.String)">
            <summary>
            Setup this channel as an application cache fallback channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetThirdPartyFlagsAttribute">
            <summary>
            When set, these flags modify the algorithm used to decide whether to
            send 3rd party cookies for a given channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetForceAllowThirdPartyCookieAttribute">
            <summary>
            This attribute was added before the &quot;flags&quot; above and is retained here
            for compatibility. When set to true, has the same effect as
            THIRD_PARTY_FORCE_ALLOW, described above.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetCanceledAttribute">
            <summary>
            True iff the channel has been canceled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetChannelIsForDownloadAttribute">
            <summary>
            External handlers may set this to true to notify the channel
            that it is open on behalf of a download.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetLocalAddressAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The local IP address to which this channel is bound, in the
            format produced by PR_NetAddrToString. May be IPv4 or IPv6.
            Note: in the presence of NAT, this may not be the same as the
            address that the remote host thinks it&apos;s talking to.
            
            May throw NS_ERROR_NOT_AVAILABLE if accessed when the channel&apos;s
            endpoints are not yet determined, or in any case when
            nsIHttpActivityObserver.isActive is false. See bugs 534698 and 526207.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetLocalPortAttribute">
            <summary>
            The local port number to which this channel is bound.
            
            May throw NS_ERROR_NOT_AVAILABLE if accessed when the channel&apos;s
            endpoints are not yet determined, or in any case when
            nsIHttpActivityObserver.isActive is false. See bugs 534698 and 526207.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetRemoteAddressAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The IP address of the remote host that this channel is
            connected to, in the format produced by PR_NetAddrToString.
            
            May throw NS_ERROR_NOT_AVAILABLE if accessed when the channel&apos;s
            endpoints are not yet determined, or in any case when
            nsIHttpActivityObserver.isActive is false. See bugs 534698 and 526207.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetRemotePortAttribute">
            <summary>
            The remote port number that this channel is connected to.
            
            May throw NS_ERROR_NOT_AVAILABLE if accessed when the channel&apos;s
            endpoints are not yet determined, or in any case when
            nsIHttpActivityObserver.isActive is false. See bugs 534698 and 526207.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.SetCacheKeysRedirectChain(System.IntPtr)">
            <summary>
            Transfer chain of redirected cache-keys.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.HTTPUpgrade(Gecko.nsACStringBase,Gecko.Interfaces.nsIHttpUpgradeListener)">
            <summary>
            HTTPUpgrade allows for the use of HTTP to bootstrap another protocol
            via the RFC 2616 Upgrade request header in conjunction with a 101 level
            response. The nsIHttpUpgradeListener will have its
            onTransportAvailable() method invoked if a matching 101 is processed.
            The arguments to onTransportAvailable provide the new protocol the low
            level tranport streams that are no longer used by HTTP.
            
            The onStartRequest and onStopRequest events are still delivered and the
            listener gets full control over the socket if and when onTransportAvailable
            is delievered.
            </summary>
            <param name="aProtocolName">
            The value of the HTTP Upgrade request header
            </param>
            <param name="aListener">
            The callback object used to handle a successful upgrade
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetAllowSpdyAttribute">
            <summary>
            Enable/Disable Spdy negotiation on per channel basis.
            The network.http.spdy.enabled preference is still a pre-requisite
            for starting spdy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetResponseTimeoutEnabledAttribute">
            <summary>
            This attribute en/disables the timeout for the first byte of an HTTP
            response. Enabled by default.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetInitialRwinAttribute">
            <summary>
            If the underlying transport supports RWIN manipulation, this is the
            intiial window value for the channel. HTTP/2 implements this.
            0 means no override from system default. Set before opening channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetApiRedirectToURIAttribute">
            <summary>
            Get value of the URI passed to nsIHttpChannel.redirectTo() if any.
            May return null when redirectTo() has not been called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetAllowAltSvcAttribute">
            <summary>
            Enable/Disable use of Alternate Services with this channel.
            The network.http.altsvc.enabled preference is still a pre-requisite.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetBeConservativeAttribute">
            <summary>
            If true, do not use newer protocol features that might have interop problems
            on the Internet. Intended only for use with critical infra like the updater.
            default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.ForceIntercepted(System.UInt64)">
            <summary>
            Force a channel that has not been AsyncOpen&apos;ed to skip any check for possible
            interception and proceed immediately to open a previously-synthesized cache
            entry using the provided ID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetCorsIncludeCredentialsAttribute">
            <summary>
            Set by nsCORSListenerProxy if credentials should be included in
            cross-origin requests. false indicates &quot;same-origin&quot;, users should still
            check flag LOAD_ANONYMOUS!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetCorsModeAttribute">
            <summary>
            Set by nsCORSListenerProxy to indicate CORS load type. Defaults to CORS_MODE_NO_CORS.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetRedirectModeAttribute">
            <summary>
            Set to indicate Request.redirect mode exposed during ServiceWorker
            interception. No policy enforcement is performed by the channel for this
            value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetFetchCacheModeAttribute">
            <summary>
            Set to indicate Request.cache mode, which simulates the fetch API
            semantics, and is also used for exposing this value to the Web page
            during service worker interception.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetTopWindowURIAttribute">
            <summary>
            The URI of the top-level window that&apos;s associated with this channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetNetworkInterfaceIdAttribute(Gecko.nsACStringBase)">
            <summary>
            The network interface id that&apos;s associated with this channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetProxyURIAttribute">
            <summary>
            Read the proxy URI, which, if non-null, will be used to resolve
            proxies for this channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.SetCorsPreflightParameters(System.IntPtr)">
            <summary>
            Make cross-origin CORS loads happen with a CORS preflight, and specify
            the CORS preflight parameters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetBlockAuthPromptAttribute">
            <summary>
            When set to true, the channel will not pop any authentication prompts up
            to the user.  When provided or cached credentials lead to an
            authentication failure, that failure will be propagated to the channel
            listener.  Must be called before opening the channel, otherwise throws.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetIntegrityMetadataAttribute(Gecko.nsAStringBase)">
            <summary>
            Set to indicate Request.integrity.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.GetConnectionInfoHashKeyAttribute(Gecko.nsACStringBase)">
            <summary>
            The connection info&apos;s hash key. We use it to test connection separation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpChannelInternal.QueryHttpChannelImpl">
            <summary>
            Returns nsHttpChannel (self) when this actually is implementing nsHttpChannel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpEventSink">
            <summary>
            nsIHttpEventSink
            
            Implement this interface to receive control over various HTTP events.  The
            HTTP channel will try to get this interface from its notificationCallbacks
            attribute, and if it doesn&apos;t find it there it will look for it from its
            loadGroup&apos;s notificationCallbacks attribute.
            
            These methods are called before onStartRequest, and should be handled
            SYNCHRONOUSLY.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpEventSink.OnRedirect(Gecko.Interfaces.nsIHttpChannel,Gecko.Interfaces.nsIChannel)">
            <summary>
            Called when a redirect occurs due to a HTTP response like 302.  The
            redirection may be to a non-http channel.
            </summary>
            <returns>
            failure cancels redirect
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIHTTPHeaderListener">
            <summary>
            The nsIHTTPHeaderListener interface allows plugin authors to
            access HTTP Response headers after issuing an
            nsIPluginHost::{GetURL,PostURL}() call. &lt;P&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTTPHeaderListener.NewResponseHeader(System.String,System.String)">
            <summary>
            Called for each HTTP Response header.
            NOTE: You must copy the values of the params.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTTPHeaderListener.StatusLine(System.String)">
            <summary>
            Called once for the HTTP Response status line.
            Value does NOT include a terminating newline.
            NOTE: You must copy this value.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpHeaderVisitor">
            <summary>
            Implement this interface to visit http headers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpHeaderVisitor.VisitHeader(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Called by the nsIHttpChannel implementation when visiting request and
            response headers.
            </summary>
            <param name="aHeader">
            the header being visited.
            </param>
            <param name="aValue">
            the header value (possibly a comma delimited list).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTTPIndex.GetBaseURLAttribute">
            <summary>
            The base URL of the HTTP index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTTPIndex.GetDataSourceAttribute">
            <summary>
            The RDF datasource that contains the HTTP index information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHTTPIndex.GetEncodingAttribute">
            <summary>
            The charset to use for decoding FTP filenames
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.NewProxiedChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIProxyInfo,System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Create a new channel with the given proxyInfo
            </summary>
            <param name="uri">
            the channel uri
            </param>
            <param name="proxyInfo">
            any proxy information that has already been determined,
            or null if channel should later determine the proxy on its own using
            proxyResolveFlags/proxyURI
            </param>
            <param name="proxyResolveFlags">
            used if the proxy is later determined
            from nsIProtocolProxyService::asyncResolve
            </param>
            <param name="proxyURI">
            used if the proxy is later determined from
            nsIProtocolProxyService::asyncResolve with this as the proxyURI name.
            Generally this is the same as uri (or null which has the same
            effect), except in the case of websockets which wants to bootstrap
            to an http:// channel but make its proxy determination based on
            a ws:// uri.
            </param>
            <param name="aLoadInfo">
            used to evaluate who initated the resource request.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxiedProtocolHandler.NewProxiedChannel(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIProxyInfo,System.UInt32,Gecko.Interfaces.nsIURI)">
            <summary>
            Create a new channel with the given proxyInfo
            </summary>
            <param name="uri">
            the channel uri
            </param>
            <param name="proxyInfo">
            any proxy information that has already been determined,
            or null if channel should later determine the proxy on its own using
            proxyResolveFlags/proxyURI
            </param>
            <param name="proxyResolveFlags">
            used if the proxy is later determined
            from nsIProtocolProxyService::asyncResolve
            </param>
            <param name="proxyURI">
            used if the proxy is later determined from
            nsIProtocolProxyService::asyncResolve with this as the proxyURI name.
            Generally this is the same as uri (or null which has the same
            effect), except in the case of websockets which wants to bootstrap
            to an http:// channel but make its proxy determination based on
            a ws:// uri.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.NewProxiedChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIProxyInfo,System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Create a new channel with the given proxyInfo
            </summary>
            <param name="uri">
            the channel uri
            </param>
            <param name="proxyInfo">
            any proxy information that has already been determined,
            or null if channel should later determine the proxy on its own using
            proxyResolveFlags/proxyURI
            </param>
            <param name="proxyResolveFlags">
            used if the proxy is later determined
            from nsIProtocolProxyService::asyncResolve
            </param>
            <param name="proxyURI">
            used if the proxy is later determined from
            nsIProtocolProxyService::asyncResolve with this as the proxyURI name.
            Generally this is the same as uri (or null which has the same
            effect), except in the case of websockets which wants to bootstrap
            to an http:// channel but make its proxy determination based on
            a ws:// uri.
            </param>
            <param name="aLoadInfo">
            used to evaluate who initated the resource request.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.NewProxiedChannel(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIProxyInfo,System.UInt32,Gecko.Interfaces.nsIURI)">
            <summary>
            Create a new channel with the given proxyInfo
            </summary>
            <param name="uri">
            the channel uri
            </param>
            <param name="proxyInfo">
            any proxy information that has already been determined,
            or null if channel should later determine the proxy on its own using
            proxyResolveFlags/proxyURI
            </param>
            <param name="proxyResolveFlags">
            used if the proxy is later determined
            from nsIProtocolProxyService::asyncResolve
            </param>
            <param name="proxyURI">
            used if the proxy is later determined from
            nsIProtocolProxyService::asyncResolve with this as the proxyURI name.
            Generally this is the same as uri (or null which has the same
            effect), except in the case of websockets which wants to bootstrap
            to an http:// channel but make its proxy determination based on
            a ws:// uri.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetUserAgentAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the HTTP advertised user agent string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetAppNameAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the application name.
            </summary>
            <returns>
            The name of this application (eg. &quot;Mozilla&quot;).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetAppVersionAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the application version string.
            </summary>
            <returns>
            The complete version (major and minor) string. (eg. &quot;5.0&quot;)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetPlatformAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the current platform.
            </summary>
            <returns>
            The platform this application is running on
            (eg. &quot;Windows&quot;, &quot;Macintosh&quot;, &quot;X11&quot;)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetOscpuAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the current oscpu.
            </summary>
            <returns>
            The oscpu this application is running on
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpProtocolHandler.GetMiscAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the application comment misc portion.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpPushListener">
            <summary>
            nsIHttpPushListener
            
            Used for triggering when a HTTP/2 push is received.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpPushListener.OnPush(Gecko.Interfaces.nsIHttpChannel,Gecko.Interfaces.nsIHttpChannel)">
            <summary>
            When provided as a notificationCallback to an httpChannel, this.onPush()
            will be invoked when there is a &gt;= Http2 push to that
            channel. The push may be in progress.
            
            The consumer must start the new channel in the usual way by calling
            pushChannel.AsyncOpen with a nsIStreamListener object that
            will receive the normal sequence of OnStartRequest(),
            0 to N OnDataAvailable(), and onStopRequest().
            
            The new channel can be canceled after the AsyncOpen if it is not wanted.
            </summary>
            <param name="associatedChannel">
            the monitor channel that was recieved on
            </param>
            <param name="pushChannel">
            a channel to the resource which is being pushed
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpServer">
            <summary>
            An interface which represents an HTTP server.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.Start(System.Int32)">
            <summary>
            Starts up this server, listening upon the given port.
            </summary>
            <param name="port">
            the port upon which listening should happen, or -1 if no specific port is
            desired
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ALREADY_INITIALIZED: if this server is already started
            NS_ERROR_NOT_AVAILABLE: if the server is not started and cannot be started on the desired port
            (perhaps because the port is already in use or because the process does
            not have privileges to do so)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.Stop(Gecko.Interfaces.nsIHttpServerStoppedCallback)">
            <summary>
            Shuts down this server if it is running (including the period of time after
            stop() has been called but before the provided callback has been called).
            </summary>
            <param name="callback">
            an asynchronous callback used to notify the user when this server is
            stopped and all pending requests have been fully served
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NULL_POINTER: if callback is null
            NS_ERROR_UNEXPECTED: if this server is not running
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.RegisterFile(System.String,Gecko.Interfaces.nsIFile)">
            <summary>
            Associates the local file represented by the string file with all requests
            which match request.
            </summary>
            <param name="path">
            the path which is to be mapped to the given file; must begin with &quot;/&quot; and
            be a valid URI path (i.e., no query string, hash reference, etc.)
            </param>
            <param name="file">
            the file to serve for the given path, or null to remove any mapping that
            might exist; this file must exist for the lifetime of the server
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.RegisterPathHandler(System.String,Gecko.Interfaces.nsIHttpRequestHandler)">
            <summary>
            Registers a custom path handler.
            </summary>
            <param name="path">
            the path on the server (beginning with a "/") which is to be handled by
            handler; this path must not include a query string or hash component; it
            also should usually be canonicalized, since most browsers will do so
            before sending otherwise-matching requests
            </param>
            <param name="handler">
            an object which will handle any requests for the given path, or null to
            remove any existing handler; if while the server is running the handler
            throws an exception while responding to a request, an HTTP 500 response
            will be returned
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if path does not begin with a "/"
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.RegisterPrefixHandler(System.String,Gecko.Interfaces.nsIHttpRequestHandler)">
            <summary>
            Registers a custom prefix handler.
            </summary>
            <param name="prefix">
            the path on the server (beginning and ending with "/") which is to be
            handled by handler; this path must not include a query string or hash
            component. All requests that start with this prefix will be directed to
            the given handler.
            </param>
            <param name="handler">
            an object which will handle any requests for the given path, or null to
            remove any existing handler; if while the server is running the handler
            throws an exception while responding to a request, an HTTP 500 response
            will be returned
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if path does not begin with a "/" or does not end with a "/"
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.RegisterErrorHandler(System.UInt32,Gecko.Interfaces.nsIHttpRequestHandler)">
            <summary>
            Registers a custom error page handler.
            </summary>
            <param name="code">
            the error code which is to be handled by handler
            </param>
            <param name="handler">
            an object which will handle any requests which generate the given status
            code, or null to remove any existing handler.  If the handler throws an
            exception during server operation, fallback is to the genericized error
            handler (the x00 version), then to 500, using a user-defined error
            handler if one exists or the server default handler otherwise.  Fallback
            will never occur from a user-provided handler that throws to the same
            handler as provided by the server, e.g. a throwing user 404 falls back to
            400, not a server-provided 404 that might not throw.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.RegisterDirectory(System.String,Gecko.Interfaces.nsIFile)">
            <summary>
            Maps all requests to paths beneath path to the corresponding file beneath
            dir.
            </summary>
            <param name="path">
            the absolute path on the server against which requests will be served
            from dir (e.g., "/", "/foo/", etc.); must begin and end with a forward
            slash
            </param>
            <param name="dir">
            the directory to be used to serve all requests for paths underneath path
            (except those further overridden by another, deeper path registered with
            another directory); if null, any current mapping for the given path is
            removed
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if dir is non-null and does not exist or is not a directory, or if path
            does not begin with and end with a forward slash
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.RegisterContentType(System.String,System.String)">
            <summary>
            Associates files with the given extension with the given Content-Type when
            served by this server, in the absence of any file-specific information
            about the desired Content-Type.  If type is empty, removes any extant
            mapping, if one is present.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if the given type is not a valid header field value, i.e. if it doesn't
            match the field-value production in RFC 2616
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.SetIndexHandler(Gecko.Interfaces.nsIHttpRequestHandler)">
            <summary>
            Sets the handler used to display the contents of a directory if
            the directory contains no index page.
            </summary>
            <param name="handler">
            an object which will handle any requests for directories which
            do not contain index pages, or null to reset to the default
            index handler; if while the server is running the handler
            throws an exception while responding to a request, an HTTP 500
            response will be returned.  An nsIFile corresponding to the
            directory is available from the metadata object passed to the
            handler, under the key &quot;directory&quot;.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.GetIdentityAttribute">
            <summary>
            Represents the locations at which this server is reachable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.GetState(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Retrieves the string associated with the given key in this, for the given
            path&apos;s saved state.  All keys are initially associated with the empty
            string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.SetState(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Sets the string associated with the given key in this, for the given path&apos;s
            saved state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.GetSharedState(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Retrieves the string associated with the given key in this, in
            entire-server saved state.  All keys are initially associated with the
            empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.SetSharedState(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Sets the string associated with the given key in this, in entire-server
            saved state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.GetObjectState(Gecko.nsAStringBase)">
            <summary>
            Retrieves the object associated with the given key in this in
            object-valued saved state.  All keys are initially associated with null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServer.SetObjectState(Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Sets the object associated with the given key in this in object-valued
            saved state.  The value may be null.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpServerStoppedCallback">
            <summary>
            An interface through which a notification of the complete stopping (socket
            closure, in-flight requests all fully served and responded to) of an HTTP
            server may be received.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerStoppedCallback.OnStopped">
            <summary>
            Called when the corresponding server has been fully stopped.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpServerIdentity">
            <summary>
            Represents a set of names for a server, one of which is the primary name for
            the server and the rest of which are secondary.  By default every server will
            contain (&quot;http&quot;, &quot;localhost&quot;, port) and (&quot;http&quot;, &quot;127.0.0.1&quot;, port) as names,
            where port is what was provided to the corresponding server when started;
            however, except for their being removed when the corresponding server stops
            they have no special importance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.GetPrimarySchemeAttribute">
            <summary>
            The primary scheme at which the corresponding server is located, defaulting
            to &apos;http&apos;.  This name will be the value of nsIHttpRequest.scheme for
            HTTP/1.0 requests.
            
            This value is always set when the corresponding server is running.  If the
            server is not running, this value is set only if it has been set to a
            non-default name using setPrimary.  In this case reading this value will
            throw NS_ERROR_NOT_INITIALIZED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.GetPrimaryHostAttribute">
            <summary>
            The primary name by which the corresponding server is known, defaulting to
            &apos;localhost&apos;.  This name will be the value of nsIHttpRequest.host for
            HTTP/1.0 requests.
            
            This value is always set when the corresponding server is running.  If the
            server is not running, this value is set only if it has been set to a
            non-default name using setPrimary.  In this case reading this value will
            throw NS_ERROR_NOT_INITIALIZED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.GetPrimaryPortAttribute">
            <summary>
            The primary port on which the corresponding server runs, defaulting to the
            associated server&apos;s port.  This name will be the value of
            nsIHttpRequest.port for HTTP/1.0 requests.
            
            This value is always set when the corresponding server is running.  If the
            server is not running, this value is set only if it has been set to a
            non-default name using setPrimary.  In this case reading this value will
            throw NS_ERROR_NOT_INITIALIZED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.Add(System.String,System.String,System.Int32)">
            <summary>
            Adds a location at which this server may be accessed.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if scheme or host do not match the scheme or host productions imported
            into RFC 2616 from RFC 2396, or if port is not a valid port number
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.Remove(System.String,System.String,System.Int32)">
            <summary>
            Removes this name from the list of names by which the corresponding server
            is known.  If name is also the primary name for the server, the primary
            name reverts to 'http://127.0.0.1' with the associated server's port.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if scheme or host do not match the scheme or host productions imported
            into RFC 2616 from RFC 2396, or if port is not a valid port number
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.Has(System.String,System.String,System.Int32)">
            <summary>
            Returns true if the given name is in this, false otherwise.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if scheme or host do not match the scheme or host productions imported
            into RFC 2616 from RFC 2396, or if port is not a valid port number
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.GetScheme(System.String,System.Int32)">
            <summary>
            Returns the scheme for the name with the given host and port, if one is
            present; otherwise returns the empty string.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if host does not match the host production imported into RFC 2616 from
            RFC 2396, or if port is not a valid port number
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpServerIdentity.SetPrimary(System.String,System.String,System.Int32)">
            <summary>
            Designates the given name as the primary name in this and adds it to this
            if it is not already present.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: if scheme or host do not match the scheme or host productions imported
            into RFC 2616 from RFC 2396, or if port is not a valid port number
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpRequestHandler">
            <summary>
            A representation of a handler for HTTP requests.  The handler is used by
            calling its .handle method with data for an incoming request; it is the
            handler&apos;s job to use that data as it sees fit to make the desired response.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequestHandler.Handle(Gecko.Interfaces.nsIHttpRequest,Gecko.Interfaces.nsIHttpResponse)">
            <summary>
            Processes an HTTP request and initializes the passed-in response to reflect
            the correct HTTP response.
            
            If this method throws an exception, externally observable behavior depends
            upon whether is being processed asynchronously.  If such is the case, the
            output is some prefix (perhaps all, perhaps none, perhaps only some) of the
            data which would have been sent if, instead, the response had been finished
            at that point.  If no data has been written, the response has not had
            seizePower() called on it, and it is not being asynchronously created, an
            error handler will be invoked (usually 500 unless otherwise specified).
            
            Some uses of nsIHttpRequestHandler may require this method to never throw
            an exception; in the general case, however, this method may throw an
            exception (causing an HTTP 500 response to occur, if the above conditions
            are met).
            </summary>
            <param name="request">
            data representing an HTTP request
            </param>
            <param name="response">
            an initially-empty response which must be modified to reflect the data
            which should be sent as the response to the request described by metadata
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpRequest">
            <summary>
            A representation of the data included in an HTTP request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetMethodAttribute">
            <summary>
            The request type for this request (see RFC 2616, section 5.1.1).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetSchemeAttribute">
            <summary>
            The scheme of the requested path, usually &apos;http&apos; but might possibly be
            &apos;https&apos; if some form of SSL tunneling is in use.  Note that this value
            cannot be accurately determined unless the incoming request used the
            absolute-path form of the request line; it defaults to &apos;http&apos;, so only
            if it is something else can you be entirely certain it&apos;s correct.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetHostAttribute">
            <summary>
            The host of the data being requested (e.g. &quot;localhost&quot; for the
            http://localhost:8080/file resource).  Note that the relevant port on the
            host is specified in this.port.  This value is in the ASCII character
            encoding.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetPortAttribute">
            <summary>
            The port on the server on which the request was received.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetPathAttribute">
            <summary>
            The requested path, without any query string (e.g. &quot;/dir/file.txt&quot;).  It is
            guaranteed to begin with a &quot;/&quot;.  The individual components in this string
            are URL-encoded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetQueryStringAttribute">
            <summary>
            The URL-encoded query string associated with this request, not including
            the initial &quot;?&quot;, or &quot;&quot; if no query string was present.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetHttpVersionAttribute">
            <summary>
            A string containing the HTTP version of the request (i.e., &quot;1.1&quot;).  Leading
            zeros for either component of the version will be omitted.  (In other
            words, if the request contains the version &quot;1.01&quot;, this attribute will be
            &quot;1.1&quot;; see RFC 2616, section 3.1.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetHeader(System.String)">
            <summary>
            Returns the value for the header in this request specified by fieldName.
            </summary>
            <param name="fieldName">
            the name of the field whose value is to be gotten; note that since HTTP
            header field names are case-insensitive, this method produces equivalent
            results for "HeAdER" and "hEADer" as fieldName
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if fieldName does not constitute a valid header field name
            NS_ERROR_NOT_AVAILABLE: if the given header does not exist in this
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.HasHeader(System.String)">
            <summary>
            Returns true if a header with the given field name exists in this, false
            otherwise.
            </summary>
            <param name="fieldName">
            the field name whose existence is to be determined in this; note that
            since HTTP header field names are case-insensitive, this method produces
            equivalent results for "HeAdER" and "hEADer" as fieldName
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if fieldName does not constitute a valid header field name
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetHeadersAttribute">
            <summary>
            An nsISimpleEnumerator of nsISupportsStrings over the names of the headers
            in this request.  The header field names in the enumerator may not
            necessarily have the same case as they do in the request itself.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpRequest.GetBodyInputStreamAttribute">
            <summary>
            A stream from which data appearing in the body of this request can be read.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIHttpResponse">
            <summary>
            Represents an HTTP response, as described in RFC 2616, section 6.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.SetStatusLine(System.String,System.UInt16,System.String)">
            <summary>
            Sets the status line for this.  If this method is never called on this, the
            status line defaults to "HTTP/", followed by the server's default HTTP
            version (e.g. "1.1"), followed by " 200 OK".
            </summary>
            <param name="httpVersion">
            the HTTP version of this, as a string (e.g. "1.1"); if null, the server
            default is used
            </param>
            <param name="code">
            the numeric HTTP status code for this
            </param>
            <param name="description">
            a human-readable description of code; may be null if no description is
            desired
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if httpVersion is not a valid HTTP version string, statusCode is greater
            than 999, or description contains invalid characters
            NS_ERROR_NOT_AVAILABLE: if this response is being processed asynchronously and data has been
            written to this response's body, or if seizePower() has been called on
            this
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.SetHeader(System.String,System.String,System.Boolean)">
            <summary>
            Sets the specified header in this.
            </summary>
            <param name="name">
            the name of the header; must match the field-name production per RFC 2616
            </param>
            <param name="value">
            the value of the header; must match the field-value production per RFC
            2616
            </param>
            <param name="merge">
            when true, if the given header already exists in this, the values passed
            to this function will be merged into the existing header, per RFC 2616
            header semantics (except for the Set-Cookie, WWW-Authenticate, and
            Proxy-Authenticate headers, which will treat each such merged header as
            an additional instance of the header, for real-world compatibility
            reasons); when false, replaces any existing header of the given name (if
            any exists) with a new header with the specified value
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if name or value is not a valid header component
            NS_ERROR_NOT_AVAILABLE: if this response is being processed asynchronously and data has been
            written to this response's body, or if seizePower() has been called on
            this
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.SetHeaderNoCheck(System.String,System.String)">
            <summary>
            This is used for testing our header handling, so header will be sent out
            without transformation. There can be multiple headers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.GetBodyOutputStreamAttribute">
            <summary>
            A stream to which data appearing in the body of this response (or in the
            totality of the response if seizePower() is called) should be written.
            After this response has been designated as being processed asynchronously,
            or after seizePower() has been called on this, subsequent writes will no
            longer be buffered and will be written to the underlying transport without
            delaying until the entire response is constructed.  Write-through may or
            may not be synchronous in the implementation, and in any case particular
            behavior may not be observable to the HTTP client as intermediate buffers
            both in the server socket and in the client may delay written data; be
            prepared for delays at any time.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if accessed after this response is fully constructed
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.Write(System.String)">
            <summary>
            Writes a string to the response's output stream.  This method is merely a
            convenient shorthand for writing the same data to bodyOutputStream
            directly.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if called after this response has been fully constructed
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.ProcessAsync">
            <summary>
            Signals that this response is being constructed asynchronously.  Requests
            are typically completely constructed during nsIHttpRequestHandler.handle;
            however, responses which require significant resources (time, memory,
            processing) to construct can be created and sent incrementally by calling
            this method during the call to nsIHttpRequestHandler.handle.  This method
            only has this effect when called during nsIHttpRequestHandler.handle;
            behavior is undefined if it is called at a later time.  It may be called
            multiple times with no ill effect, so long as each call occurs before
            finish() is called.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if not initially called within a nsIHttpRequestHandler.handle call or if
            called after this response has been finished
            NS_ERROR_NOT_AVAILABLE: if seizePower() has been called on this
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.SeizePower">
            <summary>
            Seizes complete control of this response (and its connection) from the
            server, allowing raw and unfettered access to data being sent in the HTTP
            response.  Once this method has been called the only property which may be
            accessed without an exception being thrown is bodyOutputStream, and the
            only methods which may be accessed without an exception being thrown are
            write(), finish(), and seizePower() (which may be called multiple times
            without ill effect so long as all calls are otherwise allowed).
            
            After a successful call, all data subsequently written to the body of this
            response is written directly to the corresponding connection.  (Previously-
            written data is silently discarded.)  No status line or headers are sent
            before doing so; if the response handler wishes to write such data, it must
            do so manually.  Data generation completes only when finish() is called; it
            is not enough to simply call close() on bodyOutputStream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if processAsync() has been called on this
            NS_ERROR_UNEXPECTED: if finish() has been called on this
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIHttpResponse.Finish">
            <summary>
            Signals that construction of this response is complete and that it may be
            sent over the network to the client, or if seizePower() has been called
            signals that all data has been written and that the underlying connection
            may be closed.  This method may only be called after processAsync() or
            seizePower() has been called.  This method is idempotent.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if processAsync() or seizePower() has not already been properly called
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIMozIconURI">
            <summary>
            nsIIconURI
            
            This interface derives from nsIURI, to provide additional information
            about moz-icon URIs.
            
            What *is* a moz-icon URI you ask?  Well, it has the following syntax:
            
            moz-icon:[&lt;valid-url&gt; | //&lt;file-with-extension&gt; | //stock/&lt;stock-icon&gt;]?
            [&apos;?&apos;[&lt;parameter-value-pairs&gt;]]
            
            &lt;valid-url&gt; is a valid URL spec.
            
            &lt;file-with-extension&gt; is any filename with an extension, e.g. &quot;dummy.html&quot;.
            If the file you want an icon for isn&apos;t known to exist, you can use this
            instead of a URL and just place a dummy file name with the extension or
            content type you want.
            
            &lt;stock-icon&gt; is the name of a platform-dependant stock icon.
            
            Legal parameter value pairs are listed below:
            
            Parameter:   size
            Values:      [&lt;integer&gt; | button | toolbar | toolbarsmall | menu |
            dialog]
            Description: If integer, this is the desired size in square pixels of
            the icon
            Else, use the OS default for the specified keyword context.
            
            Parameter:   state
            Values:      [normal | disabled]
            Description: The state of the icon.
            
            Parameter:   contentType
            Values:      &lt;mime-type&gt;
            Description: The mime type we want an icon for. This is ignored by
            stock images.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetSpecAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a string representation of the URI. Setting the spec causes
            the new spec to be parsed per the rules for the scheme the URI
            currently has.  In particular, setting the spec to a URI string with a
            different scheme will generally produce incorrect results; no one
            outside of a protocol handler implementation should be doing that.  If
            the URI stores information from the nsIIOService.newURI call used to
            create it other than just the parsed string, then behavior of this
            information on setting the spec attribute is undefined.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetPrePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The prePath (eg. scheme://user:password@host:port) returns the string
            before the path.  This is useful for authentication or managing sessions.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The Scheme is the protocol to which this URI refers.  The scheme is
            restricted to the US-ASCII charset per RFC2396.  Setting this is
            highly discouraged outside of a protocol handler implementation, since
            that will generally lead to incorrect results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetUserPassAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The username:password (or username only if value doesn&apos;t contain a &apos;:&apos;)
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetUsernameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The optional username and password, assuming the preHost consists of
            username:password.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetHostPortAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host:port (or simply the host, if port == -1).
            
            If this attribute is set to a value that only has a host part, the port
            will not be reset. To reset the port as well use setHostAndPort.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.SetHostAndPort(Gecko.nsAUTF8StringBase)">
            <summary>
            This function will always set a host and a port. If the port part is
            empty, the value of the port will be set to the default value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host is the internet domain name to which this URI refers.  It could
            be an IPv4 (or IPv6) address literal.  If supported, it could be a
            non-ASCII internationalized domain name.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetPortAttribute">
            <summary>
            A port value of -1 corresponds to the protocol&apos;s default port (eg. -1
            implies port 80 for http URIs).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The path, typically including at least a leading &apos;/&apos; (but may also be
            empty, depending on the protocol).
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.Equals(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison).
            
            eg. http://foo.com:80/ == http://foo.com
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.SchemeIs(System.String)">
            <summary>
            An optimization to do scheme checks without requiring the users of nsIURI
            to GetScheme, thereby saving extra allocating and freeing. Returns true if
            the schemes match (case ignored).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.Clone">
            <summary>
            Clones the current URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.Resolve(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            This method resolves a relative string into an absolute URI string,
            using this URI as the base.
            
            NOTE: some implementations may have no concept of a relative URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetAsciiSpecAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI spec with an ASCII compatible encoding.  Host portion follows
            the IDNA draft spec.  Other parts are URL-escaped per the rules of
            RFC2396.  The result is strictly ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetAsciiHostPortAttribute(Gecko.nsACStringBase)">
            <summary>
            The host:port (or simply the host, if port == -1), with an ASCII compatible
            encoding.  Host portion follows the IDNA draft spec.  The result is strictly
            ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetAsciiHostAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI host with an ASCII compatible encoding.  Follows the IDNA
            draft spec for converting internationalized domain names (UTF-8) to
            ASCII for compatibility with existing internet infrasture.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetOriginCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset of the document from which this URI originated.  An empty
            value implies UTF-8.
            
            If this value is something other than UTF-8 then the URI components
            (e.g., spec, prePath, username, etc.) will all be fully URL-escaped.
            Otherwise, the URI components may contain unescaped multibyte UTF-8
            characters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the reference portion (the part after the &quot;#&quot;) of the URI.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.EqualsExceptRef(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison), ignoring
            the value of the .ref member.
            
            eg. http://foo.com/# == http://foo.com
            http://foo.com/#aaa == http://foo.com/#bbb
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.CloneIgnoringRef">
            <summary>
            Clones the current URI, clearing the &apos;ref&apos; attribute in the clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.CloneWithNewRef(Gecko.nsAUTF8StringBase)">
            <summary>
            Clones the current URI, replacing the &apos;ref&apos; attribute in the clone with
            the ref supplied.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetSpecIgnoringRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            returns a string for the current URI with the ref element cleared.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozIconURI.GetHasRefAttribute">
            <summary>
            Returns if there is a reference portion (the part after the &quot;#&quot;) of the URI.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIIdentityKeyPair">
            <summary>
            This interface provides a keypair and signing interface for Identity functionality
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIIdentityKeyGenCallback">
            <summary>
            This interface provides a JavaScript callback object used to collect the
            nsIIdentityServeKeyPair when the keygen operation is complete
            
            though there is discussion as to whether we need the nsresult,
            we keep it so we can track deeper crypto errors.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIIdentitySignCallback">
            <summary>
            This interface provides a JavaScript callback object used to collect the
            AUTF8String signature
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdentitySignCallback.SignFinished(System.Int32,Gecko.nsACStringBase)">
            <summary>
            On success, base64urlSignature is the base-64-URL-encoded signature
            
            For RS256 signatures, XXX bug 769858
            
            For DSA128 signatures, the signature is the r value concatenated with the
            s value, each component padded with leading zeroes as necessary.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIIdleService">
            <summary>
            This interface lets you monitor how long the user has been &apos;idle&apos;,
            i.e. not used their mouse or keyboard. You can get the idle time directly,
            but in most cases you will want to register an observer for a predefined
            interval. The observer will get an &apos;idle&apos; notification when the user is idle
            for that interval (or longer), and receive an &apos;active&apos; notification when the
            user starts using their computer again.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdleService.GetIdleTimeAttribute">
            <summary>
            The amount of time in milliseconds that has passed
            since the last user activity.
            
            If we do not have a valid idle time to report, 0 is returned
            (this can happen if the user never interacted with the browser
            at all, and if we are also unable to poll for idle time manually).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdleService.AddIdleObserver(Gecko.Interfaces.nsIObserver,System.UInt32)">
            <summary>
            Add an observer to be notified when the user idles for some period of
            time, and when they get back from that.
            </summary>
            <param name="observer">
            the observer to be notified
            </param>
            <param name="time">
            the amount of time in seconds the user should be idle before
            the observer should be notified.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdleService.RemoveIdleObserver(Gecko.Interfaces.nsIObserver,System.UInt32)">
            <summary>
            Remove an observer registered with addIdleObserver.
            </summary>
            <param name="observer">
            the observer that needs to be removed.
            </param>
            <param name="time">
            the amount of time they were listening for.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdleServiceInternal.GetIdleTimeAttribute">
            <summary>
            The amount of time in milliseconds that has passed
            since the last user activity.
            
            If we do not have a valid idle time to report, 0 is returned
            (this can happen if the user never interacted with the browser
            at all, and if we are also unable to poll for idle time manually).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdleServiceInternal.AddIdleObserver(Gecko.Interfaces.nsIObserver,System.UInt32)">
            <summary>
            Add an observer to be notified when the user idles for some period of
            time, and when they get back from that.
            </summary>
            <param name="observer">
            the observer to be notified
            </param>
            <param name="time">
            the amount of time in seconds the user should be idle before
            the observer should be notified.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdleServiceInternal.RemoveIdleObserver(Gecko.Interfaces.nsIObserver,System.UInt32)">
            <summary>
            Remove an observer registered with addIdleObserver.
            </summary>
            <param name="observer">
            the observer that needs to be removed.
            </param>
            <param name="time">
            the amount of time they were listening for.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIdleServiceInternal.ResetIdleTimeOut(System.UInt32)">
            <summary>
            &quot;Resets the idle time to the value specified.&quot;
            </summary>
            <param name="idleDelta">
            the time (in milliseconds) since the last user inter
            action
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIIDNService">
            <summary>
            nsIIDNService interface.
            
            IDN (Internationalized Domain Name) support. Provides facilities
            for manipulating IDN hostnames according to the specification set
            forth by the IETF.
            
            IDN effort:
            http://www.ietf.org/html.characters/idn-charter.html
            http://www.i-dns.net
            
            IDNA specification:
            http://search.ietf.org/internet-drafts/draft-ietf-idn-idna-06.txt
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIDNService.ConvertUTF8toACE(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase)">
            <summary>
            Prepares the input hostname according to IDNA ToASCII operation,
            the input hostname is assumed to be UTF8-encoded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIDNService.ConvertACEtoUTF8(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            This is the ToUnicode operation as specified in the IDNA proposal,
            with an additional step to encode the result in UTF-8.
            It takes an ACE-encoded hostname and performs ToUnicode to it, then
            encodes the resulting string into UTF8.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIDNService.IsACE(Gecko.nsACStringBase)">
            <summary>
            Checks if the input string is ACE encoded or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIDNService.Normalize(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Performs the unicode normalization needed for hostnames in IDN,
            for callers that want early normalization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIDNService.ConvertToDisplayIDN(Gecko.nsAUTF8StringBase,System.Boolean@,Gecko.nsAUTF8StringBase)">
            <summary>
            Normalizes and converts a host to UTF-8 if the host is in the IDN
            whitelist, otherwise converts it to ACE. This is useful for display
            purposes and to ensure an encoding consistent with nsIURI::GetHost().
            If the result is ASCII or ACE encoded, |isASCII| will be true.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIImageLoadingContent">
            <summary>
            This interface represents a content node that loads images.  The interface
            exists to allow getting information on the images that the content node
            loads and to allow registration of observers for the image loads.
            
            Implementors of this interface should handle all the mechanics of actually
            loading an image -- getting the URI, checking with content policies and
            the security manager to see whether loading the URI is allowed, performing
            the load, firing any DOM events as needed.
            
            An implementation of this interface may support the concepts of a
            &quot;current&quot; image and a &quot;pending&quot; image.  If it does, a request to change
            the currently loaded image will start a &quot;pending&quot; request which will
            become current only when the image is loaded.  It is the responsibility of
            observers to check which request they are getting notifications for.
            
            Please make sure to update the MozImageLoadingContent WebIDL
            interface to mirror this interface when changing it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.GetLoadingEnabledAttribute">
            <summary>
            loadingEnabled is used to enable and disable loading in
            situations where loading images is unwanted.  Note that enabling
            loading will *not* automatically trigger an image load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.GetImageBlockingStatusAttribute">
            <summary>
            Returns the image blocking status (@see nsIContentPolicy).  This
            will always be an nsIContentPolicy REJECT_* status for cases when
            the image was blocked.  This status always refers to the
            CURRENT_REQUEST load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.AddObserver(Gecko.Interfaces.imgINotificationObserver)">
            <summary>
            Used to register an image decoder observer.  Typically, this will
            be a proxy for a frame that wants to paint the image.
            Notifications from ongoing image loads will be passed to all
            registered observers.  Notifications for all request types,
            current and pending, will be passed through.
            </summary>
            <param name="aObserver">
            the observer to register
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_OUT_OF_MEMORY:
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.RemoveObserver(Gecko.Interfaces.imgINotificationObserver)">
            <summary>
            Used to unregister an image decoder observer.
            </summary>
            <param name="aObserver">
            the observer to unregister
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.GetRequest(System.Int32)">
            <summary>
            Accessor to get the image requests
            </summary>
            <param name="aRequestType">
            a value saying which request is wanted
            </param>
            <returns>
            the imgIRequest object (may be null, even when no error
            is thrown)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if the request type requested is not
            known
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.CurrentRequestHasSize">
            <summary>
            
            </summary>
            <returns>
            true if the current request&apos;s size is available.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.FrameCreated(System.IntPtr)">
            <summary>
            Used to notify the image loading content node that a frame has been
            created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.FrameDestroyed(System.IntPtr)">
            <summary>
            Used to notify the image loading content node that a frame has been
            destroyed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.GetRequestType(Gecko.Interfaces.imgIRequest)">
            <summary>
            Used to find out what type of request one is dealing with (eg
            which request got passed through to the imgINotificationObserver
            interface of an observer)
            </summary>
            <param name="aRequest">
            the request whose type we want to know
            </param>
            <returns>
            an enum value saying what type this request is
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if aRequest is not known
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.GetCurrentURIAttribute">
            <summary>
            Gets the URI of the current request, if available.
            Otherwise, returns the last URI that this content tried to load, or
            null if there haven&apos;t been any such attempts.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.LoadImageWithChannel(Gecko.Interfaces.nsIChannel)">
            <summary>
            loadImageWithChannel allows data from an existing channel to be
            used as the image data for this content node.
            </summary>
            <param name="aChannel">
            the channel that will deliver the data
            </param>
            <returns>
            a stream listener to pump the image data into
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NULL_POINTER: if aChannel is null
            </exception>
            <remarks>
            See imgILoader::loadImageWithChannel
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.ForceReload(System.Boolean,System.Byte)">
            <summary>
            forceReload forces reloading of the image pointed to by currentURI
            </summary>
            <param name="aNotify">
            [optional] request should notify, defaults to true
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if there is no current URI to reload
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.ForceImageState(System.Boolean,System.UInt64)">
            <summary>
            Enables/disables image state forcing. When |aForce| is PR_TRUE, we force
            nsImageLoadingContent::ImageState() to return |aState|. Call again with |aForce|
            as PR_FALSE to revert ImageState() to its original behaviour.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.GetNaturalWidthAttribute">
            <summary>
            The intrinsic size and width of this content. May differ from actual image
            size due to things like responsive image density.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIImageLoadingContent.OnVisibilityChange(System.IntPtr,System.IntPtr)">
            <summary>
            Called by layout to announce when the frame associated with this content
            has changed its visibility state.
            </summary>
            <param name="aNewVisibility">
            The new visibility state.
            </param>
            <param name="aNonvisibleAction">
            A requested action if the frame has become
            nonvisible. If Nothing(), no action is
            requested. If DISCARD_IMAGES is specified, the
            frame is requested to ask any images it&apos;s
            associated with to discard their surfaces if
            possible.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIIncrementalDownload">
            <summary>
            An incremental download object attempts to fetch a file piecemeal over time
            in an effort to minimize network bandwidth usage.
            
            Canceling a background download does not cause the file on disk to be
            deleted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.Init(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIFile,System.Int32,System.Int32)">
            <summary>
            Initialize the incremental download object.  If the destination file
            already exists, then only the remaining portion of the file will be
            fetched.
            
            NOTE: The downloader will create the destination file if it does not
            already exist.  It will create the file with the permissions 0600 if
            needed.  To affect the permissions of the file, consumers of this
            interface may create an empty file at the specified destination prior to
            starting the incremental download.
            
            NOTE: Since this class may create a temporary file at the specified
            destination, it is advisable for the consumer of this interface to specify
            a file name for the destination that would not tempt the user into
            double-clicking it.  For example, it might be wise to append a file
            extension like &quot;.part&quot; to the end of the destination to protect users from
            accidentally running &quot;blah.exe&quot; before it is a complete file.
            </summary>
            <param name="uri">
            The URI to fetch.
            </param>
            <param name="destination">
            The location where the file is to be stored.
            </param>
            <param name="chunkSize">
            The size of the chunks to fetch.  A non-positive value results in
            the default chunk size being used.
            </param>
            <param name="intervalInSeconds">
            The amount of time to wait between fetching chunks.  Pass a
            negative to use the default interval, or 0 to fetch the remaining
            part of the file in one chunk.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetURIAttribute">
            <summary>
            The URI being fetched.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetFinalURIAttribute">
            <summary>
            The URI being fetched after any redirects have been followed.  This
            attribute is set just prior to calling OnStartRequest on the observer
            passed to the start method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetDestinationAttribute">
            <summary>
            The file where the download is being written.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetTotalSizeAttribute">
            <summary>
            The total number of bytes for the requested file.  This attribute is set
            just prior to calling OnStartRequest on the observer passed to the start
            method.
            
            This attribute has a value of -1 if the total size is unknown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.GetCurrentSizeAttribute">
            <summary>
            The current number of bytes downloaded so far.  This attribute is set just
            prior to calling OnStartRequest on the observer passed to the start
            method.
            
            This attribute has a value of -1 if the current size is unknown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalDownload.Start(Gecko.Interfaces.nsIRequestObserver,Gecko.Interfaces.nsISupports)">
            <summary>
            Start the incremental download.
            </summary>
            <param name="observer">
            An observer to be notified of various events.  OnStartRequest is
            called when finalURI and totalSize have been determined or when an
            error occurs.  OnStopRequest is called when the file is completely
            downloaded or when an error occurs.  If this object implements
            nsIProgressEventSink, then its OnProgress method will be called as
            data is written to the destination file.  If this object implements
            nsIInterfaceRequestor, then it will be assigned as the underlying
            channel&apos;s notification callbacks, which allows it to provide a
            nsIAuthPrompt implementation if needed by the channel, for example.
            </param>
            <param name="ctxt">
            User defined object forwarded to the observer&apos;s methods.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoaderObserver.OnIncrementalData(Gecko.Interfaces.nsIIncrementalStreamLoader,Gecko.Interfaces.nsISupports,System.UInt32,System.Byte[],System.UInt32@)">
            <summary>
            Called when new data has arrived on the stream.
            </summary>
            <param name="loader">
            the stream loader that loaded the stream.
            </param>
            <param name="ctxt">
            the context parameter of the underlying channel
            </param>
            <param name="dataLength">
            the length of the new data received
            </param>
            <param name="data">
            the contents of the new data received.
            
            This method will always be called asynchronously by the
            nsIIncrementalStreamLoader involved, on the thread that called the
            loader&apos;s init() method.
            
            If the observer wants to not accumulate all or portional of the data in
            the internal buffer, the consumedLength shall be set to the value of
            the dataLength or less. By default the consumedLength value is assumed 0.
            The data and dataLength reflect the non-consumed data and will be
            accumulated if consumedLength is not set.
            
            In comparison with onStreamComplete(), the data buffer cannot be
            adopted if this method returns NS_SUCCESS_ADOPTED_DATA.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoaderObserver.OnStreamComplete(Gecko.Interfaces.nsIIncrementalStreamLoader,Gecko.Interfaces.nsISupports,System.Int32,System.UInt32,System.Byte[])">
            <summary>
            Called when the entire stream has been loaded.
            </summary>
            <param name="loader">
            the stream loader that loaded the stream.
            </param>
            <param name="ctxt">
            the context parameter of the underlying channel
            </param>
            <param name="status">
            the status of the underlying channel
            </param>
            <param name="resultLength">
            the length of the data loaded
            </param>
            <param name="result">
            the data
            
            This method will always be called asynchronously by the
            nsIIncrementalStreamLoader involved, on the thread that called the
            loader&apos;s init() method.
            
            If the observer wants to take over responsibility for the
            data buffer (result), it returns NS_SUCCESS_ADOPTED_DATA
            in place of NS_OK as its success code. The loader will then
            &quot;forget&quot; about the data and not free() it after
            onStreamComplete() returns; observer must call free()
            when the data is no longer required.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIIncrementalStreamLoader">
            <summary>
            Asynchronously loads a channel into a memory buffer.
            
            To use this interface, first call init() with a nsIIncrementalStreamLoaderObserver
            that will be notified when the data has been loaded. Then call asyncOpen()
            on the channel with the nsIIncrementalStreamLoader as the listener. The context
            argument in the asyncOpen() call will be passed to the onStreamComplete()
            callback.
            
            XXX define behaviour for sizes &gt;4 GB
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoader.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoader.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoader.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoader.Init(Gecko.Interfaces.nsIIncrementalStreamLoaderObserver)">
            <summary>
            Initialize this stream loader, and start loading the data.
            </summary>
            <param name="aObserver">
            An observer that will be notified when the data is complete.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoader.GetNumBytesReadAttribute">
            <summary>
            Gets the number of bytes read so far.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIncrementalStreamLoader.GetRequestAttribute">
            <summary>
            Gets the request that loaded this file.
            null after the request has finished loading.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIINIParser.GetSections">
            <summary>
            Enumerates the [section]s available in the INI file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIINIParser.GetKeys(Gecko.nsAUTF8StringBase)">
            <summary>
            Enumerates the keys available within a section.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIINIParser.GetString(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Get the value of a string for a particular section and key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIINIParserWriter.SetString(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Set the value of a string for a particular section and key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIINIParserWriter.WriteFile(Gecko.Interfaces.nsIFile,System.UInt32)">
            <summary>
            Write to the INI file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIINIParserFactory.CreateINIParser(Gecko.Interfaces.nsIFile)">
            <summary>
            Create an iniparser instance from a local file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputListAutoComplete.AutoCompleteSearch(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMHTMLInputElement)">
            <summary>
            Generate results for a form input autocomplete menu.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIInputStreamChannel">
            <summary>
            nsIInputStreamChannel
            
            This interface provides methods to initialize an input stream channel.
            The input stream channel serves as a data pump for an input stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamChannel.SetURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Sets the URI for this channel.  This must be called before the
            channel is opened, and it may only be called once.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamChannel.GetContentStreamAttribute">
            <summary>
            Get/set the content stream
            
            This stream contains the data that will be pushed to the channel's
            stream listener.  If the stream is non-blocking and supports the
            nsIAsyncInputStream interface, then the stream will be read directly.
            Otherwise, the stream will be read on a background thread.
            
            This attribute must be set before the channel is opened, and it may
            only be set once.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_IN_PROGRESS: if the setter is called after the channel
            has been opened.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamChannel.GetSrcdocDataAttribute(Gecko.nsAStringBase)">
            <summary>
            Get/set the srcdoc data string.  When the input stream channel is
            created to load a srcdoc iframe, this is set to hold the value of the
            srcdoc attribute.
            
            This should be the same value used to create contentStream, but this is
            not checked.
            
            Changing the value of this attribute will not otherwise affect the
            functionality of the channel or input stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamChannel.GetIsSrcdocChannelAttribute">
            <summary>
            Returns true if srcdocData has been set within the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamChannel.GetBaseURIAttribute">
            <summary>
            The base URI to be used for the channel.  Used when the base URI cannot
            be inferred by other means, for example when this is a srcdoc channel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIInputStreamPump">
            <summary>
            nsIInputStreamPump
            
            This interface provides a means to configure and use a input stream pump
            instance.  The input stream pump will asynchronously read from an input
            stream, and push data to an nsIStreamListener instance.  It utilizes the
            current thread&apos;s nsIEventTarget in order to make reading from the stream
            asynchronous. A different thread can be used if the pump also implements
            nsIThreadRetargetableRequest.
            
            If the given stream supports nsIAsyncInputStream, then the stream pump will
            call the stream&apos;s AsyncWait method to drive the stream listener.  Otherwise,
            the stream will be read on a background thread utilizing the stream
            transport service.  More details are provided below.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.Init(Gecko.Interfaces.nsIInputStream,System.Int64,System.Int64,System.UInt32,System.UInt32,System.Boolean)">
            <summary>
            Initialize the input stream pump.
            </summary>
            <param name="aStream">
            contains the data to be read.  if the input stream is non-blocking,
            then it will be QI&apos;d to nsIAsyncInputStream.  if the QI succeeds
            then the stream will be read directly.  otherwise, it will be read
            on a background thread using the stream transport service.
            </param>
            <param name="aStreamPos">
            specifies the stream offset from which to start reading.  the
            offset value is absolute.  pass -1 to specify the current offset.
            NOTE: this parameter is ignored if the underlying stream does not
            implement nsISeekableStream.
            </param>
            <param name="aStreamLen">
            specifies how much data to read from the stream.  pass -1 to read
            all data available in the stream.
            </param>
            <param name="aSegmentSize">
            if the stream transport service is used, then this parameter
            specifies the segment size for the stream transport&apos;s buffer.
            pass 0 to specify the default value.
            </param>
            <param name="aSegmentCount">
            if the stream transport service is used, then this parameter
            specifies the segment count for the stream transport&apos;s buffer.
            pass 0 to specify the default value.
            </param>
            <param name="aCloseWhenDone">
            if true, the input stream will be closed after it has been read.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamPump.AsyncRead(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            asyncRead causes the input stream to be read in chunks and delivered
            asynchronously to the listener via OnDataAvailable.
            </summary>
            <param name="aListener">
            receives notifications.
            </param>
            <param name="aListenerContext">
            passed to listener methods.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIInputStreamTee">
            <summary>
            A nsIInputStreamTee is a wrapper for an input stream, that when read
            reads the specified amount of data from its |source| and copies that
            data to its |sink|.  |sink| must be a blocking output stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamTee.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamTee.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamTee.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamTee.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamTee.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputStreamTee.GetEventTargetAttribute">
            <summary>
            If |eventTarget| is set, copying to sink is done asynchronously using
            the event-target (e.g. a thread). If |eventTarget| is not set, copying
            to sink happens synchronously while reading from the source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterfaceInfo.GetMethodCountAttribute">
            <summary>
            These include counts for parent (and all ancestors).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterfaceInfo.GetMethodInfo(System.UInt16,System.IntPtr@)">
            <summary>
            These include methods and constants for parent (and all ancestors).
            
            These do *not* make copies ***explicit bending of XPCOM rules***.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterfaceInfo.GetInfoForParam(System.UInt16,System.IntPtr)">
            <summary>
            Get the interface information or iid associated with a param of some
            method in this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterfaceInfo.GetTypeForParam(System.UInt16,System.IntPtr,System.UInt16)">
            <summary>
            These do *not* make copies ***explicit bending of XPCOM rules***.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIInterfaceRequestor">
            <summary>
            The nsIInterfaceRequestor interface defines a generic interface for
            requesting interfaces that a given object might provide access to.
            This is very similar to QueryInterface found in nsISupports.
            The main difference is that interfaces returned from GetInterface()
            are not required to provide a way back to the object implementing this
            interface.  The semantics of QI() dictate that given an interface A that
            you QI() on to get to interface B, you must be able to QI on B to get back
            to A.  This interface however allows you to obtain an interface C from A
            that may or most likely will not have the ability to get back to A.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterfaceRequestor.GetInterface(System.Guid@)">
            <summary>
            Retrieves the specified interface pointer.
            </summary>
            <param name="uuid">
            The IID of the interface being requested.
            </param>
            <param name="result">
            [out] The interface pointer to be filled in if
            the interface is accessible.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_NOINTERFACE: - interface not accessible.
            NS_ERROR*: - method failure.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIIOService">
            <summary>
            nsIIOService provides a set of network utility functions.  This interface
            duplicates many of the nsIProtocolHandler methods in a protocol handler
            independent way (e.g., NewURI inspects the scheme in order to delegate
            creation of the new URI to the appropriate protocol handler).  nsIIOService
            also provides a set of URL parsing utility functions.  These are provided
            as a convenience to the programmer and in some cases to improve performance
            by eliminating intermediate data structures and interfaces.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.GetProtocolHandler(System.String)">
            <summary>
            Returns a protocol handler for a given URI scheme.
            </summary>
            <param name="aScheme">
            the URI scheme
            </param>
            <returns>
            reference to corresponding nsIProtocolHandler
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.GetProtocolFlags(System.String)">
            <summary>
            Returns the protocol flags for a given scheme.
            </summary>
            <param name="aScheme">
            the URI scheme
            </param>
            <returns>
            value of corresponding nsIProtocolHandler::protocolFlags
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            This method constructs a new URI by determining the scheme of the
            URI spec, and then delegating the construction of the URI to the
            protocol handler for that scheme. QueryInterface can be used on
            the resulting URI object to obtain a more specific type of URI.
            </summary>
            <remarks>
            See nsIProtocolHandler::newURI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.NewFileURI(Gecko.Interfaces.nsIFile)">
            <summary>
            This method constructs a new URI from a nsIFile.
            </summary>
            <param name="aFile">
            specifies the file path
            </param>
            <returns>
            reference to a new nsIURI object
            
            Note: in the future, for perf reasons we should allow
            callers to specify whether this is a file or directory by
            splitting this  into newDirURI() and newActualFileURI().
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.NewChannelFromURI2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.UInt32)">
            <summary>
            Creates a channel for a given URI.
            </summary>
            <param name="aURI">
            nsIURI from which to make a channel
            </param>
            <param name="aLoadingNode">
            
            </param>
            <param name="aLoadingPrincipal">
            
            </param>
            <param name="aTriggeringPrincipal">
            
            </param>
            <param name="aSecurityFlags">
            
            </param>
            <param name="aContentPolicyType">
            These will be used as values for the nsILoadInfo object on the
            created channel. For details, see nsILoadInfo in nsILoadInfo.idl
            </param>
            <returns>
            reference to the new nsIChannel object
            
            Please note, if you provide both a loadingNode and a loadingPrincipal,
            then loadingPrincipal must be equal to loadingNode-&gt;NodePrincipal().
            But less error prone is to just supply a loadingNode.
            
            Keep in mind that URIs coming from a webpage should *never* use the
            systemPrincipal as the loadingPrincipal.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.NewChannelFromURIWithLoadInfo(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Equivalent to newChannelFromURI2(aURI, aLoadingNode, ...)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.NewChannel2(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.UInt32)">
            <summary>
            Equivalent to newChannelFromURI2(newURI(...))
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.NewChannelFromURI(Gecko.Interfaces.nsIURI)">
            <summary>
            DEPRECATED
            Please use NewChannelFromURI2()
            
            Creates a channel for a given URI.
            </summary>
            <param name="aURI">
            nsIURI from which to make a channel
            </param>
            <returns>
            reference to the new nsIChannel object
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.NewChannel(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            DEPRECATED
            Please use newChannel2().
            
            Equivalent to newChannelFromURI(newURI(...))
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.GetOfflineAttribute">
            <summary>
            Returns true if networking is in &quot;offline&quot; mode. When in offline mode,
            attempts to access the network will fail (although this does not
            necessarily correlate with whether there is actually a network
            available -- that&apos;s hard to detect without causing the dialer to
            come up).
            
            Changing this fires observer notifications ... see below.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.GetConnectivityAttribute">
            <summary>
            Returns false if there are no interfaces for a network request
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.AllowPort(System.Int32,System.String)">
            <summary>
            Checks if a port number is banned. This involves consulting a list of
            unsafe ports, corresponding to network services that may be easily
            exploitable. If the given port is considered unsafe, then the protocol
            handler (corresponding to aScheme) will be asked whether it wishes to
            override the IO service&apos;s decision to block the port. This gives the
            protocol handler ultimate control over its own security policy while
            ensuring reasonable, default protection.
            </summary>
            <remarks>
            See nsIProtocolHandler::allowPort
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService.ExtractScheme(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase)">
            <summary>
            Utility to extract the scheme from a URL string, consistently and
            according to spec (see RFC 2396).
            
            NOTE: Most URL parsing is done via nsIURI, and in fact the scheme
            can also be extracted from a URL string via nsIURI.  This method
            is provided purely as an optimization.
            </summary>
            <param name="aSpec">
            the URL string to parse
            </param>
            <returns>
            URL scheme
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_MALFORMED_URI: if URL string is not of the right form.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOServiceInternal.SetConnectivity(System.Boolean)">
            <summary>
            This is an internal method that should only be called from ContentChild
            in order to pass the connectivity state from the chrome process to the
            content process. It throws if called outside the content process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOServiceInternal.NotifyWakeup">
            <summary>
            An internal method to asynchronously run our notifications that happen
            when we wake from sleep
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIIOService2">
            <summary>
            nsIIOService2 extends nsIIOService
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.GetProtocolHandler(System.String)">
            <summary>
            Returns a protocol handler for a given URI scheme.
            </summary>
            <param name="aScheme">
            the URI scheme
            </param>
            <returns>
            reference to corresponding nsIProtocolHandler
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.GetProtocolFlags(System.String)">
            <summary>
            Returns the protocol flags for a given scheme.
            </summary>
            <param name="aScheme">
            the URI scheme
            </param>
            <returns>
            value of corresponding nsIProtocolHandler::protocolFlags
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            This method constructs a new URI by determining the scheme of the
            URI spec, and then delegating the construction of the URI to the
            protocol handler for that scheme. QueryInterface can be used on
            the resulting URI object to obtain a more specific type of URI.
            </summary>
            <remarks>
            See nsIProtocolHandler::newURI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewFileURI(Gecko.Interfaces.nsIFile)">
            <summary>
            This method constructs a new URI from a nsIFile.
            </summary>
            <param name="aFile">
            specifies the file path
            </param>
            <returns>
            reference to a new nsIURI object
            
            Note: in the future, for perf reasons we should allow
            callers to specify whether this is a file or directory by
            splitting this  into newDirURI() and newActualFileURI().
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewChannelFromURI2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.UInt32)">
            <summary>
            Creates a channel for a given URI.
            </summary>
            <param name="aURI">
            nsIURI from which to make a channel
            </param>
            <param name="aLoadingNode">
            
            </param>
            <param name="aLoadingPrincipal">
            
            </param>
            <param name="aTriggeringPrincipal">
            
            </param>
            <param name="aSecurityFlags">
            
            </param>
            <param name="aContentPolicyType">
            These will be used as values for the nsILoadInfo object on the
            created channel. For details, see nsILoadInfo in nsILoadInfo.idl
            </param>
            <returns>
            reference to the new nsIChannel object
            
            Please note, if you provide both a loadingNode and a loadingPrincipal,
            then loadingPrincipal must be equal to loadingNode-&gt;NodePrincipal().
            But less error prone is to just supply a loadingNode.
            
            Keep in mind that URIs coming from a webpage should *never* use the
            systemPrincipal as the loadingPrincipal.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewChannelFromURIWithLoadInfo(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Equivalent to newChannelFromURI2(aURI, aLoadingNode, ...)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewChannel2(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.UInt32)">
            <summary>
            Equivalent to newChannelFromURI2(newURI(...))
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewChannelFromURI(Gecko.Interfaces.nsIURI)">
            <summary>
            DEPRECATED
            Please use NewChannelFromURI2()
            
            Creates a channel for a given URI.
            </summary>
            <param name="aURI">
            nsIURI from which to make a channel
            </param>
            <returns>
            reference to the new nsIChannel object
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewChannel(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            DEPRECATED
            Please use newChannel2().
            
            Equivalent to newChannelFromURI(newURI(...))
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.GetOfflineAttribute">
            <summary>
            Returns true if networking is in &quot;offline&quot; mode. When in offline mode,
            attempts to access the network will fail (although this does not
            necessarily correlate with whether there is actually a network
            available -- that&apos;s hard to detect without causing the dialer to
            come up).
            
            Changing this fires observer notifications ... see below.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.GetConnectivityAttribute">
            <summary>
            Returns false if there are no interfaces for a network request
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.AllowPort(System.Int32,System.String)">
            <summary>
            Checks if a port number is banned. This involves consulting a list of
            unsafe ports, corresponding to network services that may be easily
            exploitable. If the given port is considered unsafe, then the protocol
            handler (corresponding to aScheme) will be asked whether it wishes to
            override the IO service&apos;s decision to block the port. This gives the
            protocol handler ultimate control over its own security policy while
            ensuring reasonable, default protection.
            </summary>
            <remarks>
            See nsIProtocolHandler::allowPort
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.ExtractScheme(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase)">
            <summary>
            Utility to extract the scheme from a URL string, consistently and
            according to spec (see RFC 2396).
            
            NOTE: Most URL parsing is done via nsIURI, and in fact the scheme
            can also be extracted from a URL string via nsIURI.  This method
            is provided purely as an optimization.
            </summary>
            <param name="aSpec">
            the URL string to parse
            </param>
            <returns>
            URL scheme
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_MALFORMED_URI: if URL string is not of the right form.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.GetManageOfflineStatusAttribute">
            <summary>
            While this is set, IOService will monitor an nsINetworkLinkService
            (if available) and set its offline status to &quot;true&quot; whenever
            isLinkUp is false.
            
            Applications that want to control changes to the IOService&apos;s offline
            status should set this to false, watch for network:link-status-changed
            broadcasts, and change nsIIOService::offline as they see fit. Note
            that this means during application startup, IOService may be offline
            if there is no link, until application code runs and can turn off
            this management.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewChannelFromURIWithProxyFlags2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.UInt32)">
            <summary>
            Creates a channel for a given URI.
            </summary>
            <param name="aURI">
            nsIURI from which to make a channel
            </param>
            <param name="aProxyURI">
            nsIURI to use for proxy resolution. Can be null in which
            case aURI is used
            </param>
            <param name="aProxyFlags">
            flags from nsIProtocolProxyService to use
            when resolving proxies for this new channel
            </param>
            <param name="aLoadingNode">
            
            </param>
            <param name="aLoadingPrincipal">
            
            </param>
            <param name="aTriggeringPrincipal">
            
            </param>
            <param name="aSecurityFlags">
            
            </param>
            <param name="aContentPolicyType">
            These will be used as values for the nsILoadInfo object on the
            created channel. For details, see nsILoadInfo in nsILoadInfo.idl
            </param>
            <returns>
            reference to the new nsIChannel object
            
            Please note, if you provide both a loadingNode and a loadingPrincipal,
            then loadingPrincipal must be equal to loadingNode-&gt;NodePrincipal().
            But less error prone is to just supply a loadingNode.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOService2.NewChannelFromURIWithProxyFlags(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            DEPRECATED
            Please use newChannelFromURIWithProxyFlags2()
            
            Creates a channel for a given URI.
            </summary>
            <param name="aURI">
            nsIURI from which to make a channel
            </param>
            <param name="aProxyURI">
            nsIURI to use for proxy resolution. Can be null in which
            case aURI is used
            </param>
            <param name="aProxyFlags">
            flags from nsIProtocolProxyService to use
            when resolving proxies for this new channel
            </param>
            <returns>
            reference to the new nsIChannel object
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIIOUtil">
            <summary>
            nsIIOUtil provdes various xpcom/io-related utility methods.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOUtil.InputStreamIsBuffered(Gecko.Interfaces.nsIInputStream)">
            <summary>
            Test whether an input stream is buffered.  See nsStreamUtils.h
            documentation for NS_InputStreamIsBuffered for the definition of
            "buffered" used here and for edge-case behavior.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_POINTER: if null is passed in.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIIOUtil.OutputStreamIsBuffered(Gecko.Interfaces.nsIOutputStream)">
            <summary>
            Test whether an output stream is buffered.  See nsStreamUtils.h
            documentation for NS_OutputStreamIsBuffered for the definition of
            "buffered" used here and for edge-case behavior.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_POINTER: if null is passed in.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetOriginalURIAttribute">
            <summary>
            The original URI used to construct the channel. This is used in
            the case of a redirect or URI &quot;resolution&quot; (e.g. resolving a
            resource: URI to a file: URI) so that the original pre-redirect
            URI can still be obtained.  This is never null.  Attempts to
            set it to null must throw.
            
            NOTE: this is distinctly different from the http Referer (referring URI),
            which is typically the page that contained the original URI (accessible
            from nsIHttpChannel).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetURIAttribute">
            <summary>
            The URI corresponding to the channel.  Its value is immutable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetOwnerAttribute">
            <summary>
            The owner, corresponding to the entity that is responsible for this
            channel.  Used by the security manager to grant or deny privileges to
            mobile code loaded from this channel.
            
            NOTE: this is a strong reference to the owner, so if the owner is also
            holding a strong reference to the channel, care must be taken to
            explicitly drop its reference to the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetNotificationCallbacksAttribute">
            <summary>
            The notification callbacks for the channel.  This is set by clients, who
            wish to provide a means to receive progress, status and protocol-specific
            notifications.  If this value is NULL, the channel implementation may use
            the notification callbacks from its load group.  The channel may also
            query the notification callbacks from its load group if its notification
            callbacks do not supply the requested interface.
            
            Interfaces commonly requested include: nsIProgressEventSink, nsIPrompt,
            and nsIAuthPrompt/nsIAuthPrompt2.
            
            When the channel is done, it must not continue holding references to
            this object.
            
            NOTE: A channel implementation should take care when &quot;caching&quot; an
            interface pointer queried from its notification callbacks.  If the
            notification callbacks are changed, then a cached interface pointer may
            become invalid and may therefore need to be re-queried.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetSecurityInfoAttribute">
            <summary>
            Transport-level security information (if any) corresponding to the
            channel.
            
            NOTE: In some circumstances TLS information is propagated onto
            non-nsIHttpChannel objects to indicate that their contents were likely
            delivered over TLS all the same.  For example, document.open() may
            create an nsWyciwygChannel to store the data that will be written to the
            document.  In that case, if the caller has TLS information, we propagate
            that info onto the nsWyciwygChannel given that it is likely that the
            caller will be writing data that was delivered over TLS to the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetContentTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The MIME type of the channel&apos;s content if available.
            
            NOTE: the content type can often be wrongly specified (e.g., wrong file
            extension, wrong MIME type, wrong document type stored on a server, etc.),
            and the caller most likely wants to verify with the actual data.
            
            Setting contentType before the channel has been opened provides a hint
            to the channel as to what the MIME type is.  The channel may ignore this
            hint in deciding on the actual MIME type that it will report.
            
            Setting contentType after onStartRequest has been fired or after open()
            is called will override the type determined by the channel.
            
            Setting contentType between the time that asyncOpen() is called and the
            time when onStartRequest is fired has undefined behavior at this time.
            
            The value of the contentType attribute is a lowercase string.  A value
            assigned to this attribute will be parsed and normalized as follows:
            1- any parameters (delimited with a &apos;;&apos;) will be stripped.
            2- if a charset parameter is given, then its value will replace the
            the contentCharset attribute of the channel.
            3- the stripped contentType will be lowercased.
            Any implementation of nsIChannel must follow these rules.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetContentCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The character set of the channel&apos;s content if available and if applicable.
            This attribute only applies to textual data.
            
            The value of the contentCharset attribute is a mixedcase string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetContentLengthAttribute">
            <summary>
            The length of the data associated with the channel if available.  A value
            of -1 indicates that the content length is unknown. Note that this is a
            64-bit value and obsoletes the &quot;content-length&quot; property used on some
            channels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.Open">
            <summary>
            Synchronously open the channel.
            </summary>
            <returns>
            blocking input stream to the channel&apos;s data.
            
            NOTE: nsIChannel implementations are not required to implement this
            method.  Moreover, since this method may block the calling thread, it
            should not be called on a thread that processes UI events.  Like any
            other nsIChannel method it must not be called on any thread other
            than the XPCOM main thread.
            
            NOTE: Implementations should throw NS_ERROR_IN_PROGRESS if the channel
            is reopened.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.Open2">
            <summary>
            Performs content security check and calls open()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.AsyncOpen(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            Asynchronously open this channel.  Data is fed to the specified stream
            listener as it becomes available.  The stream listener&apos;s methods are
            called on the thread that calls asyncOpen and are not called until
            after asyncOpen returns.  If asyncOpen returns successfully, the
            channel promises to call at least onStartRequest and onStopRequest.
            
            If the nsIRequest object passed to the stream listener&apos;s methods is not
            this channel, an appropriate onChannelRedirect notification needs to be
            sent to the notification callbacks before onStartRequest is called.
            Once onStartRequest is called, all following method calls on aListener
            will get the request that was passed to onStartRequest.
            
            If the channel&apos;s and loadgroup&apos;s notification callbacks do not provide
            an nsIChannelEventSink when onChannelRedirect would be called, that&apos;s
            equivalent to having called onChannelRedirect.
            
            If asyncOpen returns successfully, the channel is responsible for
            keeping itself alive until it has called onStopRequest on aListener or
            called onChannelRedirect.
            
            Implementations are allowed to synchronously add themselves to the
            associated load group (if any).
            
            NOTE: Implementations should throw NS_ERROR_ALREADY_OPENED if the
            channel is reopened.
            </summary>
            <param name="aListener">
            the nsIStreamListener implementation
            </param>
            <param name="aContext">
            an opaque parameter forwarded to aListener&apos;s methods
            </param>
            <remarks>
            See nsIChannelEventSink for onChannelRedirect
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.AsyncOpen2(Gecko.Interfaces.nsIStreamListener)">
            <summary>
            Performs content security check and calls asyncOpen().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetContentDispositionAttribute">
            <summary>
            Access to the type implied or stated by the Content-Disposition header
            if available and if applicable. This allows determining inline versus
            attachment.
            
            Setting contentDisposition provides a hint to the channel about the
            disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will
            be used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty, and return
            DISPOSITION_ATTACHMENT if an invalid/noncompliant value is present.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetContentDispositionFilenameAttribute(Gecko.nsAStringBase)">
            <summary>
            Access to the filename portion of the Content-Disposition header if
            available and if applicable. This allows getting the preferred filename
            without having to parse it out yourself.
            
            Setting contentDispositionFilename provides a hint to the channel about
            the disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will be
            used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header doesn&apos;t
            exist for this type of channel, if the header is empty, if the header
            doesn&apos;t contain a filename portion, or the value of the filename
            attribute is empty/missing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetContentDispositionHeaderAttribute(Gecko.nsACStringBase)">
            <summary>
            Access to the raw Content-Disposition header if available and applicable.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetLoadInfoAttribute">
            <summary>
            The LoadInfo object contains information about a network load, why it
            was started, and how we plan on using the resulting response.
            If a network request is redirected, the new channel will receive a new
            LoadInfo object. The new object will contain mostly the same
            information as the pre-redirect one, but updated as appropriate.
            For detailed information about what parts of LoadInfo are updated on
            redirect, see documentation on individual properties.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetIsUnsafeAttribute">
            <summary>
            Returns TRUE if the JAR file is not safe (if the content type reported
            by the server for a remote JAR is not of an expected type).  Scripting,
            redirects, and plugins should be disabled when loading from this
            channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetJarFileAttribute">
            <summary>
            Returns the JAR file.  May be null if the jar is remote.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARChannel.GetZipEntryAttribute">
            <summary>
            Returns the zip entry if the file is synchronously accessible.
            This will work even without opening the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARProtocolHandler.GetJARCacheAttribute">
            <summary>
            JARCache contains the collection of open jar files.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJARURI">
            <summary>
            JAR URLs have the following syntax
            
            jar:&lt;jar-file-uri&gt;!/&lt;jar-entry&gt;
            
            EXAMPLE: jar:http://www.big.com/blue.jar!/ocean.html
            
            The nsIURL methods operate on the &lt;jar-entry&gt; part of the spec.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetSpecAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a string representation of the URI. Setting the spec causes
            the new spec to be parsed per the rules for the scheme the URI
            currently has.  In particular, setting the spec to a URI string with a
            different scheme will generally produce incorrect results; no one
            outside of a protocol handler implementation should be doing that.  If
            the URI stores information from the nsIIOService.newURI call used to
            create it other than just the parsed string, then behavior of this
            information on setting the spec attribute is undefined.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetPrePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The prePath (eg. scheme://user:password@host:port) returns the string
            before the path.  This is useful for authentication or managing sessions.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The Scheme is the protocol to which this URI refers.  The scheme is
            restricted to the US-ASCII charset per RFC2396.  Setting this is
            highly discouraged outside of a protocol handler implementation, since
            that will generally lead to incorrect results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetUserPassAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The username:password (or username only if value doesn&apos;t contain a &apos;:&apos;)
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetUsernameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The optional username and password, assuming the preHost consists of
            username:password.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetHostPortAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host:port (or simply the host, if port == -1).
            
            If this attribute is set to a value that only has a host part, the port
            will not be reset. To reset the port as well use setHostAndPort.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.SetHostAndPort(Gecko.nsAUTF8StringBase)">
            <summary>
            This function will always set a host and a port. If the port part is
            empty, the value of the port will be set to the default value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The host is the internet domain name to which this URI refers.  It could
            be an IPv4 (or IPv6) address literal.  If supported, it could be a
            non-ASCII internationalized domain name.
            
            Characters are NOT escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetPortAttribute">
            <summary>
            A port value of -1 corresponds to the protocol&apos;s default port (eg. -1
            implies port 80 for http URIs).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The path, typically including at least a leading &apos;/&apos; (but may also be
            empty, depending on the protocol).
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.Equals(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison).
            
            eg. http://foo.com:80/ == http://foo.com
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.SchemeIs(System.String)">
            <summary>
            An optimization to do scheme checks without requiring the users of nsIURI
            to GetScheme, thereby saving extra allocating and freeing. Returns true if
            the schemes match (case ignored).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.Clone">
            <summary>
            Clones the current URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.Resolve(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            This method resolves a relative string into an absolute URI string,
            using this URI as the base.
            
            NOTE: some implementations may have no concept of a relative URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetAsciiSpecAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI spec with an ASCII compatible encoding.  Host portion follows
            the IDNA draft spec.  Other parts are URL-escaped per the rules of
            RFC2396.  The result is strictly ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetAsciiHostPortAttribute(Gecko.nsACStringBase)">
            <summary>
            The host:port (or simply the host, if port == -1), with an ASCII compatible
            encoding.  Host portion follows the IDNA draft spec.  The result is strictly
            ASCII.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetAsciiHostAttribute(Gecko.nsACStringBase)">
            <summary>
            The URI host with an ASCII compatible encoding.  Follows the IDNA
            draft spec for converting internationalized domain names (UTF-8) to
            ASCII for compatibility with existing internet infrasture.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetOriginCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset of the document from which this URI originated.  An empty
            value implies UTF-8.
            
            If this value is something other than UTF-8 then the URI components
            (e.g., spec, prePath, username, etc.) will all be fully URL-escaped.
            Otherwise, the URI components may contain unescaped multibyte UTF-8
            characters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the reference portion (the part after the &quot;#&quot;) of the URI.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.EqualsExceptRef(Gecko.Interfaces.nsIURI)">
            <summary>
            URI equivalence test (not a strict string comparison), ignoring
            the value of the .ref member.
            
            eg. http://foo.com/# == http://foo.com
            http://foo.com/#aaa == http://foo.com/#bbb
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.CloneIgnoringRef">
            <summary>
            Clones the current URI, clearing the &apos;ref&apos; attribute in the clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.CloneWithNewRef(Gecko.nsAUTF8StringBase)">
            <summary>
            Clones the current URI, replacing the &apos;ref&apos; attribute in the clone with
            the ref supplied.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetSpecIgnoringRefAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            returns a string for the current URI with the ref element cleared.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetHasRefAttribute">
            <summary>
            Returns if there is a reference portion (the part after the &quot;#&quot;) of the URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetFilePathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a path including the directory and file portions of a
            URL.  For example, the filePath of &quot;http://host/foo/bar.html#baz&quot;
            is &quot;/foo/bar.html&quot;.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetQueryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the query portion (the part after the &quot;?&quot;) of the URL.
            If there isn&apos;t one, an empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetDirectoryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the directory portion of a URL.  If the URL denotes a path to a
            directory and not a file, e.g. http://host/foo/bar/, then the Directory
            attribute accesses the complete /foo/bar/ portion, and the FileName is
            the empty string. If the trailing slash is omitted, then the Directory
            is /foo/ and the file is bar (i.e. this is a syntactic, not a semantic
            breakdown of the Path).  And hence don&apos;t rely on this for something to
            be a definitely be a file. But you can get just the leading directory
            portion for sure.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetFileNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file name portion of a URL.  If the URL denotes a path to a
            directory and not a file, e.g. http://host/foo/bar/, then the Directory
            attribute accesses the complete /foo/bar/ portion, and the FileName is
            the empty string. Note that this is purely based on searching for the
            last trailing slash. And hence don&apos;t rely on this to be a definite file.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetFileBaseNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file basename portion of a filename in a url.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetFileExtensionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the file extension portion of a filename in a url.  If a file
            extension does not exist, the empty string is returned.
            
            Some characters may be escaped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetCommonBaseSpec(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            This method takes a uri and compares the two.  The common uri portion
            is returned as a string.  The minimum common uri portion is the
            protocol, and any of these if present:  login, password, host and port
            If no commonality is found, &quot;&quot; is returned.  If they are identical, the
            whole path with file/ref/etc. is returned.  For file uris, it is
            expected that the common spec would be at least &quot;file:///&quot; since &apos;/&apos; is
            a shared common root.
            
            Examples:
            this.spec               aURIToCompare.spec        result
            1) http://mozilla.org/     http://www.mozilla.org/   &quot;&quot;
            2) http://foo.com/bar/     ftp://foo.com/bar/        &quot;&quot;
            3) http://foo.com:8080/    http://foo.com/bar/       &quot;&quot;
            4) ftp://user@foo.com/     ftp://user:pw@foo.com/    &quot;&quot;
            5) ftp://foo.com/bar/      ftp://foo.com/bar         ftp://foo.com
            6) ftp://foo.com/bar/      ftp://foo.com/bar/b.html  ftp://foo.com/bar
            7) http://foo.com/a.htm#i  http://foo.com/b.htm      http://foo.com
            8) ftp://foo.com/c.htm#i   ftp://foo.com/c.htm       ftp://foo.com/c.htm
            9) file:///a/b/c.html      file:///d/e/c.html        file:
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetRelativeSpec(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            This method tries to create a string which specifies the location of the
            argument relative to |this|.  If the argument and |this| are equal, the
            method returns &quot;&quot;.  If any of the URIs&apos; scheme, host, userpass, or port
            don&apos;t match, the method returns the full spec of the argument.
            
            Examples:
            this.spec               aURIToCompare.spec        result
            1) http://mozilla.org/     http://www.mozilla.org/   http://www.mozilla.org
            2) http://mozilla.org/     http://www.mozilla.org    http://www.mozilla.org
            3) http://foo.com/bar/     http://foo.com:80/bar/    &quot;&quot;
            4) http://foo.com/         http://foo.com/a.htm#b    a.html#b
            5) http://foo.com/a/b/     http://foo.com/c          ../../c
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetJARFileAttribute">
            <summary>
            Returns the root URI (the one for the actual JAR file) for this JAR
            (e.g., http://www.big.com/blue.jar).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.GetJAREntryAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the entry specified for this JAR URI (e.g., &quot;ocean.html&quot;).  This
            value may contain %-escaped byte sequences.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJARURI.CloneWithJARFile(Gecko.Interfaces.nsIURI)">
            <summary>
            Create a clone of the JAR URI with a new root URI (the URI for the
            actual JAR file).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJSInspector">
            <summary>
            Utilities for running nested event loops, asking them to return, and
            keeping track of which ones are still running.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJSInspector.EnterNestedEventLoop(SpiderMonkey.JSVal@)">
            <summary>
            Process the current thread&apos;s event queue, calling event handlers until
            a call to exitNestedEventLoop, below, asks us to return.
            
            The name &apos;enterNestedEventLoop&apos; may be misleading if read too literally.
            This method loops calling event handlers until one asks it to stop, and
            then returns. So by that point, the nested event loop has been not only
            entered, but also run and exited.
            
            When enterNestedEventLoop calls an event handler, that handler may itself
            call enterNestedEventLoop, and so on, so that there may be arbitrarily
            many such calls on the stack at the same time.
            
            We say an enterNestedEventLoop call is &quot;running&quot; if it has not yet been
            asked to return, or &quot;stopped&quot; if it has been asked to return once it has
            finished processing the current event.
            </summary>
            <param name="requestor">
            A token of the caller&apos;s choice to identify this event
            loop.
            </param>
            <returns>
            depth      The number of running enterNestedEventLoop calls
            remaining, now that this one has returned.
            
            (Note that not all calls still on the stack are
            necessary running; exitNestedEventLoop can ask any
            number of enterNestedEventLoop calls to return.)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIJSInspector.ExitNestedEventLoop">
            <summary>
            Stop the youngest running enterNestedEventLoop call, asking it to return
            once it has finished processing the current event.
            
            The name 'exitNestedEventLoop' may be misleading if read too literally.
            The affected event loop does not return immediately when this method is
            called. Rather, this method simply returns to its caller; the affected
            loop's current event handler is allowed to run to completion; and then
            that loop returns without processing any more events.
            
            This method ignores loops that have already been stopped, and operates on
            the youngest loop that is still running. Each call to this method stops
            another running loop.
            </summary>
            <returns>
            depth      The number of running enterNestedEventLoop calls
            remaining, now that one has been stopped.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if there are no running enterNestedEventLoop calls.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIJSInspector.GetEventLoopNestLevelAttribute">
            <summary>
            The number of running enterNestedEventLoop calls on the stack.
            This count does not include stopped enterNestedEventLoop calls.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJSInspector.GetLastNestRequestorAttribute">
            <summary>
            The |requestor| value that was passed to the youngest running
            enterNestedEventLoop call.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJSON">
            <summary>
            Don&apos;t use this!  Use JSON.parse and JSON.stringify directly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJSON.Encode(SpiderMonkey.JSVal@,System.IntPtr,System.Byte,Gecko.nsAStringBase)">
            <summary>
            New users should use JSON.stringify!
            The encode() method is only present for backward compatibility.
            encode() is not a conforming JSON stringify implementation!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJSON.EncodeToStream(Gecko.Interfaces.nsIOutputStream,System.String,System.Boolean,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            New users should use JSON.stringify.
            You may also want to have a look at nsIConverterOutputStream.
            
            The encodeToStream() method is only present for backward compatibility.
            encodeToStream() is not a conforming JSON stringify implementation!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJSON.Decode(Gecko.nsAStringBase,System.IntPtr)">
            <summary>
            New users should use JSON.parse!
            The decode() method is only present for backward compatibility.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.GetAvailableAttribute">
            <summary>
            Indicates whether jump list taskbar features are supported by the current
            host.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.GetIsListCommittedAttribute">
            <summary>
            Indicates if a commit has already occurred in this session.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.GetMaxListItemsAttribute">
            <summary>
            The maximum number of jump list items the current desktop can support.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.InitListBuild(Gecko.Interfaces.nsIMutableArray)">
            <summary>
            Initializes a jump list build and returns a list of items the user removed
            since the last time a jump list was committed. Removed items can become state
            after initListBuild is called, lists should be built in single-shot fasion.
            </summary>
            <param name="removedItems">
            A list of items that were removed by the user since the last commit.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.AddListToBuild(System.Int16,Gecko.Interfaces.nsIArray,Gecko.nsAStringBase)">
            <summary>
            Adds a list and if required, a set of items for the list.
            </summary>
            <param name="aCatType">
            The type of list to add.
            </param>
            <param name="items">
            An array of nsIJumpListItem items to add to the list.
            </param>
            <param name="catName">
            For custom lists, the title of the list.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.AbortListBuild">
            <summary>
            Aborts and clears the current jump list build.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.CommitListBuild">
            <summary>
            Commits the current jump list build to the Taskbar.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListBuilder.DeleteActiveList">
            <summary>
            Deletes any currently applied taskbar jump list for this application.
            Common uses would be the enabling of a privacy mode and uninstallation.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJumpListItem">
            <summary>
            Implements Win7 Taskbar jump list item interfaces.
            
            Note to consumers: it&apos;s reasonable to expect we&apos;ll need support for other types
            of jump list items (an audio file, an email message, etc.). To add types,
            create the specific interface here, add an implementation class to WinJumpListItem,
            and add support to addListBuild &amp; removed items processing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListItem.GetTypeAttribute">
            <summary>
            Retrieves the jump list item type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListItem.Equals(Gecko.Interfaces.nsIJumpListItem)">
            <summary>
            Compare this item to another.
            
            Compares the type and other properties specific to this item&apos;s
            type.
            
            separator: type
            link: type, uri, title
            shortcut: type, handler app
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJumpListSeparator">
            <summary>
            A menu separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListSeparator.GetTypeAttribute">
            <summary>
            Retrieves the jump list item type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListSeparator.Equals(Gecko.Interfaces.nsIJumpListItem)">
            <summary>
            Compare this item to another.
            
            Compares the type and other properties specific to this item&apos;s
            type.
            
            separator: type
            link: type, uri, title
            shortcut: type, handler app
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJumpListLink">
            <summary>
            A URI link jump list item.
            
            Note the application must be the registered protocol
            handler for the protocol of the link.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListLink.GetTypeAttribute">
            <summary>
            Retrieves the jump list item type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListLink.Equals(Gecko.Interfaces.nsIJumpListItem)">
            <summary>
            Compare this item to another.
            
            Compares the type and other properties specific to this item&apos;s
            type.
            
            separator: type
            link: type, uri, title
            shortcut: type, handler app
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListLink.GetUriAttribute">
            <summary>
            Set or get the uri for this link item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListLink.GetUriTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            Set or get the title for a link item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListLink.GetUriHashAttribute(Gecko.nsACStringBase)">
            <summary>
            Get a &apos;privacy safe&apos; unique string hash of the uri&apos;s
            spec. Useful in tracking removed items using visible
            data stores such as prefs. Generates an MD5 hash of
            the URI spec using nsICryptoHash.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListLink.CompareHash(Gecko.Interfaces.nsIURI)">
            <summary>
            Compare this item&apos;s hash to another uri.
            
            Generates a spec hash of the incoming uri and compares
            it to this item&apos;s uri spec hash.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJumpListShortcut">
            <summary>
            A generic application shortcut with command line support.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListShortcut.GetTypeAttribute">
            <summary>
            Retrieves the jump list item type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListShortcut.Equals(Gecko.Interfaces.nsIJumpListItem)">
            <summary>
            Compare this item to another.
            
            Compares the type and other properties specific to this item&apos;s
            type.
            
            separator: type
            link: type, uri, title
            shortcut: type, handler app
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListShortcut.GetAppAttribute">
            <summary>
            Set or get the handler app for this shortcut item.
            
            The handler app may also be used along with iconIndex to generate an icon
            for the jump list item.
            </summary>
            <remarks>
            See faviconPageUri
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListShortcut.GetIconIndexAttribute">
            <summary>
            Set or get the icon displayed with the jump list item.
            
            Indicates the resource index of the icon contained within the handler
            executable which may be used as the jump list icon.
            </summary>
            <remarks>
            See faviconPageUri
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIJumpListShortcut.GetFaviconPageUriAttribute">
            <summary>
            Set or get the URI of a page whose favicon may be used as the icon.
            
            When a jump list build occurs, the favicon to be used for the item is
            obtained using the following steps:
            - First, attempt to use the asynchronously retrieved and scaled favicon
            associated with the faviconPageUri.
            - If faviconPageUri is null, or if retrieving the favicon fails, fall
            back to using the handler executable and iconIndex.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIKeygenThread">
            <summary>
            nsIKeygenThread
            This is used to communicate with the thread generating a key pair,
            to be used by the dialog displaying status information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIKeygenThread.StartKeyGeneration(Gecko.Interfaces.nsIObserver)">
            <summary>
            startKeyGeneration - run the thread
            A user interface using this interface needs to
            call this method as soon as the status information
            is displaying. This will trigger key generation.
            To allow the closure of the status information,
            the thread needs a handle to an observer.
            
            observer will be called on the UI thread.
            When the key generation is done, the observe method will
            be called with a topic of &quot;keygen-finished&quot; and null data
            and subject.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIKeygenThread.UserCanceled(System.Boolean@)">
            <summary>
            userCanceled - notify the thread
            If the user canceled, the thread is no longer allowed to
            close the dialog. However, if the thread already closed
            it, we are not allowed to close it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILineInputStream.ReadLine(Gecko.nsACStringBase)">
            <summary>
            Read a single line from the stream, where a line is a
            possibly zero length sequence of 8bit chars terminated by a
            CR, LF, CRLF, LFCR, or eof.
            The line terminator is not returned.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoadContext">
            <summary>
            An nsILoadContext represents the context of a load.  This interface
            can be queried for various information about where the load is
            happening.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetAssociatedWindowAttribute">
            <summary>
            associatedWindow is the window with which the load is associated, if any.
            Note that the load may be triggered by a document which is different from
            the document in associatedWindow, and in fact the source of the load need
            not be same-origin with the document in associatedWindow.  This attribute
            may be null if there is no associated window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetTopWindowAttribute">
            <summary>
            topWindow is the top window which is of same type as associatedWindow.
            This is equivalent to associatedWindow.top, but is provided here as a
            convenience.  All the same caveats as associatedWindow of apply, of
            course.  This attribute may be null if there is no associated window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetTopFrameElementAttribute">
            <summary>
            topFrameElement is the &lt;iframe&gt;, &lt;frame&gt;, or &lt;browser&gt; element which
            contains the topWindow with which the load is associated.
            
            Note that we may have a topFrameElement even when we don&apos;t have an
            associatedWindow, if the topFrameElement&apos;s content lives out of process.
            topFrameElement is available in single-process and multiprocess contexts.
            Note that topFrameElement may be in chrome even when the nsILoadContext is
            associated with content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetNestedFrameIdAttribute">
            <summary>
            If this LoadContext corresponds to a nested remote iframe, we don&apos;t have
            access to the topFrameElement.  Instead, we must use this id to send
            messages. A return value of 0 signifies that this load context is not for
            a nested frame.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetIsContentAttribute">
            <summary>
            True if the load context is content (as opposed to chrome).  This is
            determined based on the type of window the load is performed in, NOT based
            on any URIs that might be around.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetUseRemoteTabsAttribute">
            <summary>
            Attribute that determines if remote (out-of-process) tabs should be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.SetPrivateBrowsing(System.Boolean)">
            <summary>
            Set the private browsing state of the load context, meant to be used internally.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.SetRemoteTabs(System.Boolean)">
            <summary>
            Set the remote tabs state of the load context, meant to be used internally.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetIsInIsolatedMozBrowserElementAttribute">
            <summary>
            Returns true iff the load is occurring inside an isolated mozbrowser
            element. &lt;iframe mozbrowser mozapp&gt; and &lt;xul:browser&gt; are not considered to
            be mozbrowser elements.  &lt;iframe mozbrowser noisolation&gt; does not count as
            isolated since isolation is disabled.  Isolation can only be disabled if
            the containing document is chrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetAppIdAttribute">
            <summary>
            Returns the app id of the app the load is occurring is in. Returns
            nsIScriptSecurityManager::NO_APP_ID if the load is not part of an app.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.GetOriginAttributesAttribute">
            <summary>
            A dictionary of the non-default origin attributes associated with this
            nsILoadContext.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContext.IsTrackingProtectionOn">
            <summary>
            Returns true if tracking protection is enabled for the load context.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoadContextInfo">
            <summary>
            Helper interface to carry informatin about the load context
            encapsulating origin attributes and IsAnonymous, IsPrivite properties.
            It shall be used where nsILoadContext cannot be used or is not
            available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContextInfo.GetIsPrivateAttribute">
            <summary>
            Whether the context is in a Private Browsing mode
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContextInfo.GetIsAnonymousAttribute">
            <summary>
            Whether the load is initiated as anonymous
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadContextInfo.GetOriginAttributesAttribute(System.IntPtr)">
            <summary>
            NeckoOriginAttributes hiding all the security context attributes
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoadContextInfoFactory">
            <summary>
            Since NeckoOriginAttributes struct limits the implementation of
            nsILoadContextInfo (that needs to be thread safe) to C++,
            we need a scriptable factory to create instances of that
            interface from JS.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoadGroup">
            <summary>
            A load group maintains a collection of nsIRequest objects.
            This is used in lots of places where groups of requests need to be tracked.
            For example, nsIDocument::mDocumentLoadGroup is used to track all requests
            made for subdocuments in order to track page load progress and allow all
            requests made on behalf of the document to be stopped, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetGroupObserverAttribute">
            <summary>
            The group observer is notified when requests are added to and removed
            from this load group.  The groupObserver is weak referenced.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetDefaultLoadRequestAttribute">
            <summary>
            Accesses the default load request for the group.  Each time a number
            of requests are added to a group, the defaultLoadRequest may be set
            to indicate that all of the requests are related to a base request.
            
            The load group inherits its load flags from the default load request.
            If the default load request is NULL, then the group&apos;s load flags are
            not changed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.AddRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Adds a new request to the group.  This will cause the default load
            flags to be applied to the request.  If this is a foreground
            request then the groupObserver&apos;s onStartRequest will be called.
            
            If the request is the default load request or if the default load
            request is null, then the load group will inherit its load flags from
            the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.RemoveRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Removes a request from the group.  If this is a foreground request
            then the groupObserver&apos;s onStopRequest will be called.
            
            By the time this call ends, aRequest will have been removed from the
            loadgroup, even if this function throws an exception.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetRequestsAttribute">
            <summary>
            Returns the requests contained directly in this group.
            Enumerator element type: nsIRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetActiveCountAttribute">
            <summary>
            Returns the count of &quot;active&quot; requests (ie. requests without the
            LOAD_BACKGROUND bit set).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetNotificationCallbacksAttribute">
            <summary>
            Notification callbacks for the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetRequestContextIDAttribute">
            <summary>
            Context for managing things like js/css connection blocking,
            and per-tab connection grouping.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetDefaultLoadFlagsAttribute">
            <summary>
            The set of load flags that will be added to all new requests added to
            this group. Any existing requests in the load group are not modified,
            so it is expected these flags will be added before requests are added
            to the group - typically via nsIDocShell::defaultLoadFlags on a new
            docShell.
            Note that these flags are *not* added to the default request for the
            load group; it is expected the default request will already have these
            flags (again, courtesy of setting nsIDocShell::defaultLoadFlags before
            the docShell has created the default request.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroup.GetUserAgentOverrideCacheAttribute(Gecko.nsACStringBase)">
            <summary>
            The cached user agent override created by UserAgentOverrides.jsm. Used
            for all sub-resource requests in the loadgroup.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoadGroupChild">
            <summary>
            nsILoadGroupChild provides a hierarchy of load groups so that the
            root load group can be used to conceptually tie a series of loading
            operations into a logical whole while still leaving them separate
            for the purposes of cancellation and status events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroupChild.GetParentLoadGroupAttribute">
            <summary>
            The parent of this load group. It is stored with
            a nsIWeakReference/nsWeakPtr so there is no requirement for the
            parentLoadGroup to out live the child, nor will the child keep a
            reference count on the parent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroupChild.GetChildLoadGroupAttribute">
            <summary>
            The nsILoadGroup associated with this nsILoadGroupChild
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadGroupChild.GetRootLoadGroupAttribute">
            <summary>
            The rootLoadGroup is the recursive parent of this
            load group where parent is defined as parentlLoadGroup if set
            or childLoadGroup.loadGroup as a backup. (i.e. parentLoadGroup takes
            precedence.) The nsILoadGroup child is the root if neither parent
            nor loadgroup attribute is specified.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoadInfo">
            <summary>
            The LoadInfo object contains information about a network load, why it
            was started, and how we plan on using the resulting response.
            If a network request is redirected, the new channel will receive a new
            LoadInfo object. The new object will contain mostly the same
            information as the pre-redirect one, but updated as appropriate.
            For detailed information about what parts of LoadInfo are updated on
            redirect, see documentation on individual properties.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetLoadingPrincipalAttribute">
            <summary>
            This is the principal of the network request&apos;s caller/requester where
            the resulting resource will be used. I.e. it is the principal which
            will get access to the result of the request. (Where &quot;get access to&quot;
            might simply mean &quot;embed&quot; depending on the type of resource that is
            loaded).
            
            For example for an image, it is the principal of the document where
            the image is rendered. For a stylesheet it is the principal of the
            document where the stylesheet will be applied.
            
            So if document at http://a.com/page.html loads an image from
            http://b.com/pic.jpg, then loadingPrincipal will be
            http://a.com/page.html.
            
            For &lt;iframe&gt; and &lt;frame&gt; loads, the LoadingPrincipal is the
            principal of the parent document. For top-level loads, the
            LoadingPrincipal is null. For all loads except top-level loads
            the LoadingPrincipal is never null.
            
            If the loadingPrincipal is the system principal, no security checks
            will be done at all. There will be no security checks on the initial
            load or any subsequent redirects. This means there will be no
            nsIContentPolicy checks or any CheckLoadURI checks. Because of
            this, never set the loadingPrincipal to the system principal when
            the URI to be loaded is controlled by a webpage.
            If the loadingPrincipal and triggeringPrincipal are both
            codebase-principals, then we will always call into
            nsIContentPolicies and CheckLoadURI. The call to nsIContentPolicies
            and CheckLoadURI happen even if the URI to be loaded is same-origin
            with the loadingPrincipal or triggeringPrincipal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.BinaryLoadingPrincipal">
            <summary>
            A C++-friendly version of loadingPrincipal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetTriggeringPrincipalAttribute">
            <summary>
            This is the principal which caused the network load to start. I.e.
            this is the principal which provided the URL to be loaded. This is
            often the same as the LoadingPrincipal, but there are a few cases
            where that&apos;s not true.
            
            For example for loads into an &lt;iframe&gt;, the LoadingPrincipal is always
            the principal of the parent document. However the triggeringPrincipal
            is the principal of the document which provided the URL that the
            &lt;iframe&gt; is navigating to. This could be the previous document inside
            the &lt;iframe&gt; which set document.location. Or a document elsewhere in
            the frame tree which contained a &lt;a target=&quot;...&quot;&gt; which targetted the
            &lt;iframe&gt;.
            
            If a stylesheet links to a sub-resource, like an @imported stylesheet,
            or a background image, then the triggeringPrincipal is the principal
            of the stylesheet, while the LoadingPrincipal is the principal of the
            document being styled.
            
            The triggeringPrincipal is never null.
            
            If the triggeringPrincipal is the system principal, no security checks
            will be done at all. There will be no security checks on the initial
            load or any subsequent redirects. This means there will be no
            nsIContentPolicy checks or any CheckLoadURI checks. Because of
            this, never set the triggeringPrincipal to the system principal when
            the URI to be loaded is controlled by a webpage.
            If the loadingPrincipal and triggeringPrincipal are both
            codebase-principals, then we will always call into
            nsIContentPolicies and CheckLoadURI. The call to nsIContentPolicies
            and CheckLoadURI happen even if the URI to be loaded is same-origin
            with the loadingPrincipal or triggeringPrincipal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.BinaryTriggeringPrincipal">
            <summary>
            A C++-friendly version of triggeringPrincipal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetPrincipalToInheritAttribute">
            <summary>
            For non-document loads the principalToInherit is always null. For
            loads of type TYPE_DOCUMENT or TYPE_SUBDOCUMENT the principalToInherit
            might be null. If it&apos;s non null, then this is the principal that is
            inherited if a principal needs to be inherited. If the principalToInherit
            is null but the inherit flag is set, then the triggeringPrincipal is
            the principal that is inherited.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.BinaryPrincipalToInherit">
            <summary>
            A C++-friendly version of principalToInherit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetLoadingDocumentAttribute">
            <summary>
            This is the ownerDocument of the LoadingNode. Unless the LoadingNode
            is a Document, in which case the LoadingDocument is the same as the
            LoadingNode.
            
            For top-level loads, and for loads originating from workers, the
            LoadingDocument is null. When the LoadingDocument is not null, the
            LoadingPrincipal is set to the principal of the LoadingDocument.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.BinaryLoadingNode">
            <summary>
            A C++-friendly version of loadingDocument (loadingNode).
            This is the Node where the resulting resource will be used. I.e. it is
            the Node which will get access to the result of the request. (Where
            &quot;get access to&quot; might simply mean &quot;embed&quot; depending on the type of
            resource that is loaded).
            
            For example for an &lt;img&gt;/&lt;video&gt; it is the image/video element. For
            document loads inside &lt;iframe&gt; and &lt;frame&gt;s, the LoadingNode is the
            &lt;iframe&gt;/&lt;frame&gt; element. For an XMLHttpRequest, it is the Document
            which contained the JS which initiated the XHR. For a stylesheet, it
            is the Document that contains &lt;link rel=stylesheet&gt;.
            
            For loads triggered by the HTML pre-parser, the LoadingNode is the
            Document which is currently being parsed.
            
            For top-level loads, and for loads originating from workers, the
            LoadingNode is null. If the LoadingNode is non-null, then the
            LoadingPrincipal is the principal of the LoadingNode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetSecurityFlagsAttribute">
            <summary>
            The securityFlags of that channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetSecurityModeAttribute">
            <summary>
            Allows to query only the security mode bits from above.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetIsInThirdPartyContextAttribute">
            <summary>
            True if this request is embedded in a context that can&apos;t be third-party
            (i.e. an iframe embedded in a cross-origin parent window). If this is
            false, then this request may be third-party if it&apos;s a third-party to
            loadingPrincipal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetCookiePolicyAttribute">
            <summary>
            See the SEC_COOKIES_* flags above. This attribute will never return
            SEC_COOKIES_DEFAULT, but will instead return what the policy resolves to.
            I.e. SEC_COOKIES_SAME_ORIGIN for CORS mode, and SEC_COOKIES_INCLUDE
            otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetForceInheritPrincipalAttribute">
            <summary>
            If forceInheritPrincipal is true, the data coming from the channel should
            use loadingPrincipal for its principal, even when the data is loaded over
            http:// or another protocol that would normally use a URI-based principal.
            This attribute will never be true when loadingSandboxed is true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetForceInheritPrincipalOverruleOwnerAttribute">
            <summary>
            If forceInheritPrincipalOverruleOwner is true, the data coming from the
            channel should use principalToInherit for its principal, even when the
            data is loaded over http:// or another protocol that would normally use
            a URI-based principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetLoadingSandboxedAttribute">
            <summary>
            If loadingSandboxed is true, the data coming from the channel is
            being loaded sandboxed, so it should have a nonce origin and
            hence should use a NullPrincipal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetAboutBlankInheritsAttribute">
            <summary>
            If aboutBlankInherits is true, then about:blank should inherit
            the principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetAllowChromeAttribute">
            <summary>
            If allowChrome is true, then use nsIScriptSecurityManager::ALLOW_CHROME
            when calling CheckLoadURIWithPrincipal().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetDisallowScriptAttribute">
            <summary>
            If disallowScript is true, then use nsIScriptSecurityManager::DISALLOW_SCRIPT
            when calling CheckLoadURIWithPrincipal().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetDontFollowRedirectsAttribute">
            <summary>
            Returns true if SEC_DONT_FOLLOW_REDIRECTS is set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetLoadErrorPageAttribute">
            <summary>
            Returns true if SEC_LOAD_ERROR_PAGE is set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetExternalContentPolicyTypeAttribute">
            <summary>
            The external contentPolicyType of the channel, used for security checks
            like Mixed Content Blocking and Content Security Policy.
            
            Specifically, content policy types with _INTERNAL_ in their name will
            never get returned from this attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.InternalContentPolicyType">
            <summary>
            The internal contentPolicyType of the channel, used for constructing
            RequestContext values when creating a fetch event for an intercepted
            channel.
            
            This should not be used for the purposes of security checks, since
            the content policy implementations cannot be expected to deal with
            _INTERNAL_ values.  Please use the contentPolicyType attribute above
            for that purpose.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetUpgradeInsecureRequestsAttribute">
            <summary>
            Returns true if document or any of the documents ancestors
            up to the toplevel document make use of the CSP directive
            &apos;upgrade-insecure-requests&apos;. Used to identify upgrade
            requests in e10s where the loadingDocument is not available.
            
            Warning: If the loadingDocument is null, then the
            upgradeInsecureRequests is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetVerifySignedContentAttribute">
            <summary>
            If true, the content of the channel is queued up and checked
            if it matches a content signature. Note, setting this flag
            to true will negatively impact performance since the preloader
            can not start until all of the content is fetched from the
            netwerk.
            
            Only use that in combination with TYPE_DOCUMENT.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetEnforceSRIAttribute">
            <summary>
            If true, this load will fail if it has no SRI integrity
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetForceInheritPrincipalDroppedAttribute">
            <summary>
            The SEC_FORCE_INHERIT_PRINCIPAL flag may be dropped when a load info
            object is created.  Specifically, it will be dropped if the SEC_SANDBOXED
            flag is also present.  This flag is set if SEC_FORCE_INHERIT_PRINCIPAL was
            dropped.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetInnerWindowIDAttribute">
            <summary>
            These are the window IDs of the window in which the element being
            loaded lives. parentOuterWindowID is the window ID of this window&apos;s
            parent.
            
            Note that these window IDs can be 0 if the window is not
            available. parentOuterWindowID will be the same as outerWindowID if the
            window has no parent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetFrameOuterWindowIDAttribute">
            <summary>
            Only when the element being loaded is &lt;frame src=&quot;foo.html&quot;&gt;
            (or, more generally, if the element QIs to nsIFrameLoaderOwner),
            the frameOuterWindowID is the outer window containing the
            foo.html document.
            
            Note: For other cases, frameOuterWindowID is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.ResetPrincipalsToNullPrincipal">
            <summary>
            For all loads of none TYPE_DOUCMENT this function resets the
            LoadingPrincipal, the TriggeringPrincipal and the
            PrincipalToInherit to a freshly created NullPrincipal which inherits
            the current origin attributes from the loadinfo.
            For loads of TYPE_DOCUMENT this function resets only the
            TriggeringPrincipal as well as the PrincipalToInherit to a freshly
            created NullPrincipal which inherits the origin attributes from
            the loadInfo. (Please note that the LoadingPrincipal for TYPE_DOCUMENT
            loads is always null.)
            
            WARNING: Please only use that function if you know exactly what
            you are doing!!!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetOriginAttributesAttribute(System.IntPtr)">
            <summary>
            Customized NeckoOriginAttributes within LoadInfo to allow overwriting of the
            default originAttributes from the loadingPrincipal.
            
            In chrome side, originAttributes.privateBrowsingId will always be 0 even if
            the usePrivateBrowsing is true, because chrome docshell won&apos;t set
            privateBrowsingId on origin attributes (See bug 1278664). This is to make
            sure nsILoadInfo and nsILoadContext have the same origin attributes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetEnforceSecurityAttribute">
            <summary>
            Whenever a channel is openend by asyncOpen2() [or also open2()],
            lets set this flag so that redirects of such channels are also
            openend using asyncOpen2() [open2()].
            
            Please note, once the flag is set to true it must remain true
            throughout the lifetime of the channel. Trying to set it
            to anything else than true will be discareded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetInitialSecurityCheckDoneAttribute">
            <summary>
            Whenever a channel is evaluated by the ContentSecurityManager
            the first time, we set this flag to true to indicate that
            subsequent calls of AsyncOpen2() do not have to enforce all
            security checks again. E.g., after a redirect there is no
            need to set up CORS again. We need this separate flag
            because the redirectChain might also contain internal
            redirects which might pollute the redirectChain so we can&apos;t
            rely on the size of the redirectChain-array to query whether
            a channel got redirected or not.
            
            Please note, once the flag is set to true it must remain true
            throughout the lifetime of the channel. Trying to set it
            to anything else than true will be discarded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.AppendRedirectedPrincipal(Gecko.Interfaces.nsIPrincipal,System.Boolean)">
            <summary>
            Whenever a channel gets redirected, append the principal of the
            channel [before the channels got redirected] to the loadinfo,
            so that at every point this array lets us reason about all the
            redirects this channel went through.
            </summary>
            <param name="aPrincipal,">
            the channelURIPrincipal before the channel
            got redirected.
            </param>
            <param name="aIsInternalRedirect">
            should be true if the channel is going
            through an internal redirect, otherwise false.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetRedirectChainIncludingInternalRedirectsAttribute(System.IntPtr)">
            <summary>
            An array of nsIPrincipals which stores redirects associated with this
            channel. This array is filled whether or not the channel has ever been
            opened. The last element of the array is associated with the most recent
            redirect. Please note, that this array *includes* internal redirects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.BinaryRedirectChainIncludingInternalRedirects">
            <summary>
            A C++-friendly version of redirectChain.
            Please note that this array has the same lifetime as the
            loadInfo object - use with caution!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetRedirectChainAttribute(System.IntPtr)">
            <summary>
            Same as RedirectChain but does *not* include internal redirects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.BinaryRedirectChain">
            <summary>
            A C++-friendly version of redirectChain.
            Please note that this array has the same lifetime as the
            loadInfo object - use with caution!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.SetCorsPreflightInfo(System.IntPtr,System.Boolean)">
            <summary>
            Sets the list of unsafe headers according to CORS spec, as well as
            potentially forces a preflight.
            Note that you do not need to set the Content-Type header. That will be
            automatically detected as needed.
            
            Only call this function when using the SEC_REQUIRE_CORS_DATA_INHERITS mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.CorsUnsafeHeaders">
            <summary>
            A C++-friendly getter for the list of cors-unsafe headers.
            Please note that this array has the same lifetime as the
            loadInfo object - use with caution!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetForcePreflightAttribute">
            <summary>
            Returns value set through setCorsPreflightInfo.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetIsPreflightAttribute">
            <summary>
            A C++ friendly getter for the forcePreflight flag.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetForceHSTSPrimingAttribute">
            <summary>
            True if this is a mixed-content load and HSTS priming request will be sent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetMixedContentWouldBlockAttribute">
            <summary>
            Carry the decision whether this load would be blocked by mixed content so
            that if HSTS priming fails, the correct decision can be made.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.SetHSTSPriming(System.Boolean)">
            <summary>
            Mark this LoadInfo as needing HSTS Priming
            </summary>
            <param name="wouldBlock">
            Carry the decision of Mixed Content Blocking to be
            applied when HSTS priming is complete.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetTaintingAttribute">
            <summary>
            Determine the associated channel&apos;s current tainting.  Note, this can
            change due to a service worker intercept, so it should be checked after
            OnStartRequest() fires.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.MaybeIncreaseTainting(System.UInt32)">
            <summary>
            Note a new tainting level and possibly increase the current tainting
            to match.  If the tainting level is already greater than the given
            value, then there is no effect.  It is not possible to reduce the tainting
            level on an existing channel/loadinfo.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoadInfo.GetIsTopLevelLoadAttribute">
            <summary>
            Returns true if this load is for top level document.
            Note that the load for a sub-frame&apos;s document will return false here.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalCertService.GetOrCreateCert(Gecko.nsACStringBase,Gecko.Interfaces.nsILocalCertGetCallback)">
            <summary>
            Get or create a new self-signed X.509 cert to represent this device over a
            secure transport, like TLS.
            
            The cert is stored permanently in the profile&apos;s key store after first use,
            and is valid for 1 year.  If an expired or otherwise invalid cert is found
            with the nickname supplied here, it is removed and a new one is made.
            </summary>
            <param name="nickname">
            Nickname that identifies the cert
            </param>
            <param name="cb">
            Callback to be notified with the result
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalCertService.RemoveCert(Gecko.nsACStringBase,Gecko.Interfaces.nsILocalCertCallback)">
            <summary>
            Remove a X.509 cert with the given nickname.
            </summary>
            <param name="nickname">
            Nickname that identifies the cert
            </param>
            <param name="cb">
            Callback to be notified with the result
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalCertService.GetLoginPromptRequiredAttribute">
            <summary>
            Whether calling |getOrCreateCert| or |removeCert| will trigger a login
            prompt to be displayed.  Generally this happens if the user has set a
            master password, but has not yet logged in.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalCertGetCallback.HandleCert(Gecko.Interfaces.nsIX509Cert,System.Int32)">
            <summary>
            Called with the result of the getOrCreateCert operation above.
            </summary>
            <param name="cert">
            Requested cert, or null if some error
            </param>
            <param name="result">
            Result code from the get operation
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalCertCallback.HandleResult(System.Int32)">
            <summary>
            Called with the result of the removeCert operation above.
            </summary>
            <param name="result">
            Result code from the operation
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsILocale">
            <summary>
            Represents one locale, which can be used for things like sorting text strings
            and formatting numbers, dates and times.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocale.GetCategory(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Get the locale code for a given category.
            
            A locale code is of the form language[-COUNTRY[-region]], where
            &quot;language&quot; is an ISO 639 language code (two letter codes preferred over
            three letter codes when available), &quot;COUNTRY&quot; is an ISO 3166 two letter
            country code, and &quot;region&quot; is a string of up to 5 letters.
            
            A category is one of the following:
            NSILOCALE_CTYPE: Character classification and case conversion.
            NSILOCALE_COLLATE: Collation order. How strings are sorted.
            NSILOCALE_MONETARY: Monetary formatting.
            NSILOCALE_NUMERIC: Numeric, non-monetary formatting.
            NSILOCALE_TIME: Date and time formats.
            NSILOCALE_MESSAGES: Related to fonts, character encodings etc.
            </summary>
            <param name="category">
            The category of interest.
            </param>
            <returns>
            The locale code to be used for the given category.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsILocaleService">
            <summary>
            The Locale service interface. This is a singleton object, and should be
            obtained from the &lt;tt&gt;nsServiceManager&lt;/tt&gt;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocaleService.NewLocale(Gecko.nsAStringBase)">
            <summary>
            Create a new nsILocale from a locale string.
            </summary>
            <param name="aLocale">
            A locale code as described in nsILocale.
            </param>
            <returns>
            A nsILocale representing the given locale.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILocaleService.GetSystemLocale">
            <summary>
            Get the user preference for locale from the operating system.
            </summary>
            <returns>
            User&apos;s OS setting for preferred locale.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILocaleService.GetApplicationLocale">
            <summary>
            Get the user preference for locale from the operating system.
            
            NOTE: This has nothing to do with the locale used for localization of
            the application (UI text strings etc.). This method returns something
            similar to getSystemLocale.
            </summary>
            <returns>
            User&apos;s OS setting for preferred locale.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILocaleService.GetLocaleFromAcceptLanguage(System.String)">
            <summary>
            Get the most preferred locale from a list of locale preferences.
            </summary>
            <param name="acceptLanguage">
            Locale preference in the same format as the Accept-Language HTTP
            header.
            </param>
            <returns>
            The most preferred locale according to the acceptLanguage
            parameter.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILocaleService.GetLocaleComponentForUserAgent(Gecko.nsAStringBase)">
            <summary>
            Get the user preference for locale from the operating system.
            
            NOTE: This has nothing to do with any HTTP User-Agent. This method
            returns the same as getSystemLocale, but as a string.
            </summary>
            <returns>
            User&apos;s OS setting for preferred locale in the format described
            in nsILocale.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsILocalFile">
            <summary>
            An empty interface to provide backwards compatibility for existing code.
            </summary>
            <remarks>
            See nsIFile
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Append(Gecko.nsAStringBase)">
            <summary>
            append[Native]
            
            This function is used for constructing a descendent of the
            current nsIFile.
            </summary>
            <param name="node">
            A string which is intended to be a child node of the nsIFile.
            For the |appendNative| method, the node must be in the native
            filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Normalize">
            <summary>
            Normalize the pathName (e.g. removing .. and . components on Unix).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Create(System.UInt32,System.UInt32)">
            <summary>
            create
            
            This function will create a new file or directory in the
            file system. Any nodes that have not been created or
            resolved, will be.  If the file or directory already
            exists create() will return NS_ERROR_FILE_ALREADY_EXISTS.
            </summary>
            <param name="type">
            This specifies the type of file system object
            to be made.  The only two types at this time
            are file and directory which are defined above.
            If the type is unrecongnized, we will return an
            error (NS_ERROR_FILE_UNKNOWN_TYPE).
            </param>
            <param name="permissions">
            The unix style octal permissions.  This may
            be ignored on systems that do not need to do
            permissions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetLeafNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Accessor to the leaf name of the file itself.
            For the |nativeLeafName| method, the nativeLeafName must
            be in the native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.CopyTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            copyTo[Native]
            
            This will copy this file to the specified newParentDir.
            If a newName is specified, the file will be renamed.
            If &apos;this&apos; is not created we will return an error
            (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
            
            copyTo may fail if the file already exists in the destination
            directory.
            
            copyTo will NOT resolve aliases/shortcuts during the copy.
            </summary>
            <param name="newParentDir">
            This param is the destination directory. If the
            newParentDir is null, copyTo() will use the parent
            directory of this file. If the newParentDir is not
            empty and is not a directory, an error will be
            returned (NS_ERROR_FILE_DESTINATION_NOT_DIR). For the
            |CopyToNative| method, the newName must be in the
            native filesystem charset.
            </param>
            <param name="newName">
            This param allows you to specify a new name for
            the file to be copied. This param may be empty, in
            which case the current leaf name will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.CopyToFollowingLinks(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            copyToFollowingLinks[Native]
            
            This function is identical to copyTo with the exception that,
            as the name implies, it follows symbolic links.  The XP_UNIX
            implementation always follow symbolic links when copying.  For
            the |CopyToFollowingLinks| method, the newName must be in the
            native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.MoveTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            moveTo[Native]
            
            A method to move this file or directory to newParentDir.
            If a newName is specified, the file or directory will be renamed.
            If &apos;this&apos; is not created we will return an error
            (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
            If &apos;this&apos; is a file, and the destination file already exists, moveTo
            will replace the old file.
            This object is updated to refer to the new file.
            
            moveTo will NOT resolve aliases/shortcuts during the copy.
            moveTo will do the right thing and allow copies across volumes.
            moveTo will return an error (NS_ERROR_FILE_DIR_NOT_EMPTY) if &apos;this&apos; is
            a directory and the destination directory is not empty.
            moveTo will return an error (NS_ERROR_FILE_ACCESS_DENIED) if &apos;this&apos; is
            a directory and the destination directory is not writable.
            </summary>
            <param name="newParentDir">
            This param is the destination directory. If the
            newParentDir is empty, moveTo() will rename the file
            within its current directory. If the newParentDir is
            not empty and does not name a directory, an error will
            be returned (NS_ERROR_FILE_DESTINATION_NOT_DIR).  For
            the |moveToNative| method, the newName must be in the
            native filesystem charset.
            </param>
            <param name="newName">
            This param allows you to specify a new name for
            the file to be moved. This param may be empty, in
            which case the current leaf name will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.RenameTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            renameTo
            
            This method is identical to moveTo except that if this file or directory
            is moved to a a different volume, it fails and returns an error
            (NS_ERROR_FILE_ACCESS_DENIED).
            This object will still point to the old location after renaming.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Remove(System.Boolean)">
            <summary>
            This will try to delete this file.  The &apos;recursive&apos; flag
            must be PR_TRUE to delete directories which are not empty.
            
            This will not resolve any symlinks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetPermissionsAttribute">
            <summary>
            Attributes of nsIFile.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetLastModifiedTimeAttribute">
            <summary>
            File Times are to be in milliseconds from
            midnight (00:00:00), January 1, 1970 Greenwich Mean
            Time (GMT).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetFileSizeAttribute">
            <summary>
            WARNING!  On the Mac, getting/setting the file size with nsIFile
            only deals with the size of the data fork.  If you need to
            know the size of the combined data and resource forks use the
            GetFileSizeWithResFork() method defined on nsILocalFileMac.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetTargetAttribute(Gecko.nsAStringBase)">
            <summary>
            target &amp; path
            
            Accessor to the string path.  The native version of these
            strings are not guaranteed to be a usable path to pass to
            NSPR or the C stdlib.  There are problems that affect
            platforms on which a path does not fully specify a file
            because two volumes can have the same name (e.g., mac).
            This is solved by holding &quot;private&quot;, native data in the
            nsIFile implementation.  This native data is lost when
            you convert to a string.
            
            DO NOT PASS TO USE WITH NSPR OR STDLIB!
            
            target
            Find out what the symlink points at.  Will give error
            (NS_ERROR_FILE_INVALID_PATH) if not a symlink.
            
            path
            Find out what the nsIFile points at.
            
            Note that the ACString attributes are returned in the
            native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.IsSpecial">
            <summary>
            Not a regular file, not a directory, not a symlink.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.CreateUnique(System.UInt32,System.UInt32)">
            <summary>
            createUnique
            
            This function will create a new file or directory in the
            file system. Any nodes that have not been created or
            resolved, will be.  If this file already exists, we try
            variations on the leaf name &quot;suggestedName&quot; until we find
            one that did not already exist.
            
            If the search for nonexistent files takes too long
            (thousands of the variants already exist), we give up and
            return NS_ERROR_FILE_TOO_BIG.
            </summary>
            <param name="type">
            This specifies the type of file system object
            to be made.  The only two types at this time
            are file and directory which are defined above.
            If the type is unrecongnized, we will return an
            error (NS_ERROR_FILE_UNKNOWN_TYPE).
            </param>
            <param name="permissions">
            The unix style octal permissions.  This may
            be ignored on systems that do not need to do
            permissions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Clone">
            <summary>
            clone()
            
            This function will allocate and initialize a nsIFile object to the
            exact location of the |this| nsIFile.
            </summary>
            <param name="file">
            A nsIFile which this object will be initialize
            with.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Equals(Gecko.Interfaces.nsIFile)">
            <summary>
            Will determine if the inFile equals this.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Contains(Gecko.Interfaces.nsIFile)">
            <summary>
            Will determine if inFile is a descendant of this file.
            This routine looks in subdirectories too.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetParentAttribute">
            <summary>
            Parent will be null when this is at the top of the volume.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetDirectoryEntriesAttribute">
            <summary>
            Returns an enumeration of the elements in a directory. Each
            element in the enumeration is an nsIFile.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FILE_NOT_DIRECTORY: if the current nsIFile does
            not specify a directory.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.InitWithPath(Gecko.nsAStringBase)">
            <summary>
            initWith[Native]Path
            
            This function will initialize the nsIFile object.  Any
            internal state information will be reset.
            </summary>
            <param name="filePath">
            A string which specifies a full file path to a
            location.  Relative paths will be treated as an
            error (NS_ERROR_FILE_UNRECOGNIZED_PATH).  For
            initWithNativePath, the filePath must be in the native
            filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.InitWithFile(Gecko.Interfaces.nsIFile)">
            <summary>
            initWithFile
            
            Initialize this object with another file
            </summary>
            <param name="aFile">
            the file this becomes equivalent to
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetFollowLinksAttribute">
            <summary>
            followLinks
            
            This attribute will determine if the nsLocalFile will auto
            resolve symbolic links.  By default, this value will be false
            on all non unix systems.  On unix, this attribute is effectively
            a noop.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.OpenNSPRFileDesc(System.Int32,System.Int32)">
            <summary>
            Return the result of PR_Open on the file.  The caller is
            responsible for calling PR_Close on the result.  On success, the
            returned PRFileDescr must be non-null.
            </summary>
            <param name="flags">
            the PR_Open flags from prio.h, plus optionally
            OS_READAHEAD or DELETE_ON_CLOSE. OS_READAHEAD is a hint to the
            OS that the file will be read sequentially with agressive
            readahead. DELETE_ON_CLOSE is unreliable on Windows and is deprecated.
            Instead use NS_OpenAnonymousTemporaryFile() to create a temporary
            file which will be deleted upon close.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.OpenANSIFileDesc(System.String)">
            <summary>
            Return the result of fopen on the file.  The caller is
            responsible for calling fclose on the result.  On success, the
            returned FILE pointer must be non-null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Load">
            <summary>
            Return the result of PR_LoadLibrary on the file.  The caller is
            responsible for calling PR_UnloadLibrary on the result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.AppendRelativePath(Gecko.nsAStringBase)">
            <summary>
            appendRelative[Native]Path
            
            Append a relative path to the current path of the nsIFile object.
            </summary>
            <param name="relativeFilePath">
            relativeFilePath is a native relative path. For security reasons,
            this cannot contain .. or cannot start with a directory separator.
            For the |appendRelativeNativePath| method, the relativeFilePath
            must be in the native filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetPersistentDescriptorAttribute(Gecko.nsACStringBase)">
            <summary>
            Accessor to a null terminated string which will specify
            the file in a persistent manner for disk storage.
            
            The character set of this attribute is undefined.  DO NOT TRY TO
            INTERPRET IT AS HUMAN READABLE TEXT!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Reveal">
            <summary>
            reveal
            
            Ask the operating system to open the folder which contains
            this file or folder. This routine only works on platforms which
            support the ability to open a folder and is run async on Windows.
            This routine must be called on the main.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.Launch">
            <summary>
            launch
            
            Ask the operating system to attempt to open the file.
            this really just simulates &quot;double clicking&quot; the file on your platform.
            This routine only works on platforms which support this functionality
            and is run async on Windows.  This routine must be called on the
            main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetRelativeDescriptor(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            getRelativeDescriptor
            
            Returns a relative file path in an opaque, XP format. It is therefore
            not a native path.
            
            The character set of the string returned from this function is
            undefined.  DO NOT TRY TO INTERPRET IT AS HUMAN READABLE TEXT!
            </summary>
            <param name="fromFile">
            the file from which the descriptor is relative.
            Throws if fromFile is null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.SetRelativeDescriptor(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            setRelativeDescriptor
            
            Initializes the file to the location relative to fromFile using
            a string returned by getRelativeDescriptor.
            </summary>
            <param name="fromFile">
            the file to which the descriptor is relative
            </param>
            <param name="relative">
            the relative descriptor obtained from getRelativeDescriptor
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.GetRelativePath(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            getRelativePath
            
            Returns a relative file from &apos;fromFile&apos; to this file as a UTF-8 string.
            Going up the directory tree is represented via &quot;../&quot;.  &apos;/&apos; is used as
            the path segment separator.  This is not a native path, since it&apos;s UTF-8
            encoded.
            </summary>
            <param name="fromFile">
            the file from which the path is relative.
            Throws if fromFile is null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFile.SetRelativePath(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            setRelativePath
            
            Initializes the file to the location relative to fromFile using
            a string returned by getRelativePath.
            </summary>
            <param name="fromFile">
            the file from which the path is relative
            </param>
            <param name="relative">
            the relative path obtained from getRelativePath
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Append(Gecko.nsAStringBase)">
            <summary>
            append[Native]
            
            This function is used for constructing a descendent of the
            current nsIFile.
            </summary>
            <param name="node">
            A string which is intended to be a child node of the nsIFile.
            For the |appendNative| method, the node must be in the native
            filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Normalize">
            <summary>
            Normalize the pathName (e.g. removing .. and . components on Unix).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Create(System.UInt32,System.UInt32)">
            <summary>
            create
            
            This function will create a new file or directory in the
            file system. Any nodes that have not been created or
            resolved, will be.  If the file or directory already
            exists create() will return NS_ERROR_FILE_ALREADY_EXISTS.
            </summary>
            <param name="type">
            This specifies the type of file system object
            to be made.  The only two types at this time
            are file and directory which are defined above.
            If the type is unrecongnized, we will return an
            error (NS_ERROR_FILE_UNKNOWN_TYPE).
            </param>
            <param name="permissions">
            The unix style octal permissions.  This may
            be ignored on systems that do not need to do
            permissions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetLeafNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Accessor to the leaf name of the file itself.
            For the |nativeLeafName| method, the nativeLeafName must
            be in the native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.CopyTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            copyTo[Native]
            
            This will copy this file to the specified newParentDir.
            If a newName is specified, the file will be renamed.
            If &apos;this&apos; is not created we will return an error
            (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
            
            copyTo may fail if the file already exists in the destination
            directory.
            
            copyTo will NOT resolve aliases/shortcuts during the copy.
            </summary>
            <param name="newParentDir">
            This param is the destination directory. If the
            newParentDir is null, copyTo() will use the parent
            directory of this file. If the newParentDir is not
            empty and is not a directory, an error will be
            returned (NS_ERROR_FILE_DESTINATION_NOT_DIR). For the
            |CopyToNative| method, the newName must be in the
            native filesystem charset.
            </param>
            <param name="newName">
            This param allows you to specify a new name for
            the file to be copied. This param may be empty, in
            which case the current leaf name will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.CopyToFollowingLinks(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            copyToFollowingLinks[Native]
            
            This function is identical to copyTo with the exception that,
            as the name implies, it follows symbolic links.  The XP_UNIX
            implementation always follow symbolic links when copying.  For
            the |CopyToFollowingLinks| method, the newName must be in the
            native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.MoveTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            moveTo[Native]
            
            A method to move this file or directory to newParentDir.
            If a newName is specified, the file or directory will be renamed.
            If &apos;this&apos; is not created we will return an error
            (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST).
            If &apos;this&apos; is a file, and the destination file already exists, moveTo
            will replace the old file.
            This object is updated to refer to the new file.
            
            moveTo will NOT resolve aliases/shortcuts during the copy.
            moveTo will do the right thing and allow copies across volumes.
            moveTo will return an error (NS_ERROR_FILE_DIR_NOT_EMPTY) if &apos;this&apos; is
            a directory and the destination directory is not empty.
            moveTo will return an error (NS_ERROR_FILE_ACCESS_DENIED) if &apos;this&apos; is
            a directory and the destination directory is not writable.
            </summary>
            <param name="newParentDir">
            This param is the destination directory. If the
            newParentDir is empty, moveTo() will rename the file
            within its current directory. If the newParentDir is
            not empty and does not name a directory, an error will
            be returned (NS_ERROR_FILE_DESTINATION_NOT_DIR).  For
            the |moveToNative| method, the newName must be in the
            native filesystem charset.
            </param>
            <param name="newName">
            This param allows you to specify a new name for
            the file to be moved. This param may be empty, in
            which case the current leaf name will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.RenameTo(Gecko.Interfaces.nsIFile,Gecko.nsAStringBase)">
            <summary>
            renameTo
            
            This method is identical to moveTo except that if this file or directory
            is moved to a a different volume, it fails and returns an error
            (NS_ERROR_FILE_ACCESS_DENIED).
            This object will still point to the old location after renaming.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Remove(System.Boolean)">
            <summary>
            This will try to delete this file.  The &apos;recursive&apos; flag
            must be PR_TRUE to delete directories which are not empty.
            
            This will not resolve any symlinks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetPermissionsAttribute">
            <summary>
            Attributes of nsIFile.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetLastModifiedTimeAttribute">
            <summary>
            File Times are to be in milliseconds from
            midnight (00:00:00), January 1, 1970 Greenwich Mean
            Time (GMT).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetFileSizeAttribute">
            <summary>
            WARNING!  On the Mac, getting/setting the file size with nsIFile
            only deals with the size of the data fork.  If you need to
            know the size of the combined data and resource forks use the
            GetFileSizeWithResFork() method defined on nsILocalFileMac.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetTargetAttribute(Gecko.nsAStringBase)">
            <summary>
            target &amp; path
            
            Accessor to the string path.  The native version of these
            strings are not guaranteed to be a usable path to pass to
            NSPR or the C stdlib.  There are problems that affect
            platforms on which a path does not fully specify a file
            because two volumes can have the same name (e.g., mac).
            This is solved by holding &quot;private&quot;, native data in the
            nsIFile implementation.  This native data is lost when
            you convert to a string.
            
            DO NOT PASS TO USE WITH NSPR OR STDLIB!
            
            target
            Find out what the symlink points at.  Will give error
            (NS_ERROR_FILE_INVALID_PATH) if not a symlink.
            
            path
            Find out what the nsIFile points at.
            
            Note that the ACString attributes are returned in the
            native filesystem charset.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.IsSpecial">
            <summary>
            Not a regular file, not a directory, not a symlink.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.CreateUnique(System.UInt32,System.UInt32)">
            <summary>
            createUnique
            
            This function will create a new file or directory in the
            file system. Any nodes that have not been created or
            resolved, will be.  If this file already exists, we try
            variations on the leaf name &quot;suggestedName&quot; until we find
            one that did not already exist.
            
            If the search for nonexistent files takes too long
            (thousands of the variants already exist), we give up and
            return NS_ERROR_FILE_TOO_BIG.
            </summary>
            <param name="type">
            This specifies the type of file system object
            to be made.  The only two types at this time
            are file and directory which are defined above.
            If the type is unrecongnized, we will return an
            error (NS_ERROR_FILE_UNKNOWN_TYPE).
            </param>
            <param name="permissions">
            The unix style octal permissions.  This may
            be ignored on systems that do not need to do
            permissions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Clone">
            <summary>
            clone()
            
            This function will allocate and initialize a nsIFile object to the
            exact location of the |this| nsIFile.
            </summary>
            <param name="file">
            A nsIFile which this object will be initialize
            with.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Equals(Gecko.Interfaces.nsIFile)">
            <summary>
            Will determine if the inFile equals this.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Contains(Gecko.Interfaces.nsIFile)">
            <summary>
            Will determine if inFile is a descendant of this file.
            This routine looks in subdirectories too.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetParentAttribute">
            <summary>
            Parent will be null when this is at the top of the volume.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetDirectoryEntriesAttribute">
            <summary>
            Returns an enumeration of the elements in a directory. Each
            element in the enumeration is an nsIFile.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FILE_NOT_DIRECTORY: if the current nsIFile does
            not specify a directory.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.InitWithPath(Gecko.nsAStringBase)">
            <summary>
            initWith[Native]Path
            
            This function will initialize the nsIFile object.  Any
            internal state information will be reset.
            </summary>
            <param name="filePath">
            A string which specifies a full file path to a
            location.  Relative paths will be treated as an
            error (NS_ERROR_FILE_UNRECOGNIZED_PATH).  For
            initWithNativePath, the filePath must be in the native
            filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.InitWithFile(Gecko.Interfaces.nsIFile)">
            <summary>
            initWithFile
            
            Initialize this object with another file
            </summary>
            <param name="aFile">
            the file this becomes equivalent to
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetFollowLinksAttribute">
            <summary>
            followLinks
            
            This attribute will determine if the nsLocalFile will auto
            resolve symbolic links.  By default, this value will be false
            on all non unix systems.  On unix, this attribute is effectively
            a noop.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.OpenNSPRFileDesc(System.Int32,System.Int32)">
            <summary>
            Return the result of PR_Open on the file.  The caller is
            responsible for calling PR_Close on the result.  On success, the
            returned PRFileDescr must be non-null.
            </summary>
            <param name="flags">
            the PR_Open flags from prio.h, plus optionally
            OS_READAHEAD or DELETE_ON_CLOSE. OS_READAHEAD is a hint to the
            OS that the file will be read sequentially with agressive
            readahead. DELETE_ON_CLOSE is unreliable on Windows and is deprecated.
            Instead use NS_OpenAnonymousTemporaryFile() to create a temporary
            file which will be deleted upon close.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.OpenANSIFileDesc(System.String)">
            <summary>
            Return the result of fopen on the file.  The caller is
            responsible for calling fclose on the result.  On success, the
            returned FILE pointer must be non-null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Load">
            <summary>
            Return the result of PR_LoadLibrary on the file.  The caller is
            responsible for calling PR_UnloadLibrary on the result.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.AppendRelativePath(Gecko.nsAStringBase)">
            <summary>
            appendRelative[Native]Path
            
            Append a relative path to the current path of the nsIFile object.
            </summary>
            <param name="relativeFilePath">
            relativeFilePath is a native relative path. For security reasons,
            this cannot contain .. or cannot start with a directory separator.
            For the |appendRelativeNativePath| method, the relativeFilePath
            must be in the native filesystem charset.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetPersistentDescriptorAttribute(Gecko.nsACStringBase)">
            <summary>
            Accessor to a null terminated string which will specify
            the file in a persistent manner for disk storage.
            
            The character set of this attribute is undefined.  DO NOT TRY TO
            INTERPRET IT AS HUMAN READABLE TEXT!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Reveal">
            <summary>
            reveal
            
            Ask the operating system to open the folder which contains
            this file or folder. This routine only works on platforms which
            support the ability to open a folder and is run async on Windows.
            This routine must be called on the main.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.Launch">
            <summary>
            launch
            
            Ask the operating system to attempt to open the file.
            this really just simulates &quot;double clicking&quot; the file on your platform.
            This routine only works on platforms which support this functionality
            and is run async on Windows.  This routine must be called on the
            main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetRelativeDescriptor(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            getRelativeDescriptor
            
            Returns a relative file path in an opaque, XP format. It is therefore
            not a native path.
            
            The character set of the string returned from this function is
            undefined.  DO NOT TRY TO INTERPRET IT AS HUMAN READABLE TEXT!
            </summary>
            <param name="fromFile">
            the file from which the descriptor is relative.
            Throws if fromFile is null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.SetRelativeDescriptor(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            setRelativeDescriptor
            
            Initializes the file to the location relative to fromFile using
            a string returned by getRelativeDescriptor.
            </summary>
            <param name="fromFile">
            the file to which the descriptor is relative
            </param>
            <param name="relative">
            the relative descriptor obtained from getRelativeDescriptor
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetRelativePath(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            getRelativePath
            
            Returns a relative file from &apos;fromFile&apos; to this file as a UTF-8 string.
            Going up the directory tree is represented via &quot;../&quot;.  &apos;/&apos; is used as
            the path segment separator.  This is not a native path, since it&apos;s UTF-8
            encoded.
            </summary>
            <param name="fromFile">
            the file from which the path is relative.
            Throws if fromFile is null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.SetRelativePath(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            setRelativePath
            
            Initializes the file to the location relative to fromFile using
            a string returned by getRelativePath.
            </summary>
            <param name="fromFile">
            the file from which the path is relative
            </param>
            <param name="relative">
            the relative path obtained from getRelativePath
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.InitWithCommandLine(Gecko.nsAStringBase)">
            <summary>
            initWithCommandLine
            
            Initialize this object based on the main app path of a commandline
            handler.
            </summary>
            <param name="aCommandLine">
            the commandline to parse an app path out of.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetVersionInfoField(System.String,Gecko.nsAStringBase)">
            <summary>
            getVersionInfoValue
            
            Retrieve a metadata field from the file&apos;s VERSIONINFO block.
            Throws NS_ERROR_FAILURE if no value is found, or the value is empty.
            </summary>
            <param name="aField">
            The field to look up.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetCanonicalPathAttribute(Gecko.nsAStringBase)">
            <summary>
            The canonical path of the file, which avoids short/long
            pathname inconsistencies. The nsIFile persistent
            descriptor is not guaranteed to be canonicalized (it may
            persist either the long or the short path name). The format of
            the canonical path will vary with the underlying file system:
            it will typically be the short pathname on filesystems that
            support both short and long path forms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.GetFileAttributesWinAttribute">
            <summary>
            fileAttributesWin
            
            Set or get windows specific file attributes.
            
            Throws NS_ERROR_FILE_INVALID_PATH for an invalid file.
            Throws NS_ERROR_FAILURE if the set or get fails.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.SetShortcut(Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsIFile,System.String,System.String,Gecko.Interfaces.nsIFile,System.Int32)">
            <summary>
            setShortcut
            
            Creates the specified shortcut, or updates it if it already exists.
            
            If the shortcut is being updated (i.e. the shortcut already exists),
            any excluded parameters will remain unchanged in the shortcut file.
            For example, if you want to change the description of a specific
            shortcut but keep the target, working dir, args, and icon the same,
            pass null for those parameters and only pass in a value for the
            description.
            
            If the shortcut does not already exist and targetFile is not specified,
            setShortcut will throw NS_ERROR_FILE_TARGET_DOES_NOT_EXIST.
            </summary>
            <param name="targetFile">
            the path that the shortcut should target
            </param>
            <param name="workingDir">
            the working dir that should be set for the shortcut
            </param>
            <param name="args">
            the args string that should be set for the shortcut
            </param>
            <param name="description">
            the description that should be set for the shortcut
            </param>
            <param name="iconFile">
            the file containing an icon to be used for this
            shortcut
            </param>
            <param name="iconIndex">
            this value selects a specific icon from within
            iconFile.  If iconFile contains only one icon, this
            value should be 0.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalFileWin.OpenNSPRFileDescShareDelete(System.Int32,System.Int32)">
            <summary>
            Identical to nsIFile::openNSPRFileDesc except it also uses the
            FILE_SHARE_DELETE flag.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoginInfo">
            <summary>
            An object containing information for a login stored by the
            password manager.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.GetHostnameAttribute(Gecko.nsAStringBase)">
            <summary>
            The hostname the login applies to.
            
            The hostname should be formatted as an URL. For example,
            &quot;https://site.com&quot;, &quot;http://site.com:1234&quot;, &quot;ftp://ftp.site.com&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.GetFormSubmitURLAttribute(Gecko.nsAStringBase)">
            <summary>
            The URL a form-based login was submitted to.
            
            For logins obtained from HTML forms, this field is the |action|
            attribute from the |form| element, with the path removed. For
            example &quot;http://www.site.com&quot;. [Forms with no |action| attribute
            default to submitting to their origin URL, so we store that.]
            
            For logins obtained from a HTTP or FTP protocol authentication,
            this field is NULL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.GetHttpRealmAttribute(Gecko.nsAStringBase)">
            <summary>
            The HTTP Realm a login was requested for.
            
            When an HTTP server sends a 401 result, the WWW-Authenticate
            header includes a realm to identify the &quot;protection space.&quot; See
            RFC2617. If the response sent has a missing or blank realm, the
            hostname is used instead.
            
            For logins obtained from HTML forms, this field is NULL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.GetUsernameAttribute(Gecko.nsAStringBase)">
            <summary>
            The username for the login.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.GetUsernameFieldAttribute(Gecko.nsAStringBase)">
            <summary>
            The |name| attribute for the username input field.
            
            For logins obtained from a HTTP or FTP protocol authentication,
            this field is an empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.GetPasswordAttribute(Gecko.nsAStringBase)">
            <summary>
            The password for the login.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.GetPasswordFieldAttribute(Gecko.nsAStringBase)">
            <summary>
            The |name| attribute for the password input field.
            
            For logins obtained from a HTTP or FTP protocol authentication,
            this field is an empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.Init(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Initialize a newly created nsLoginInfo object.
            
            The arguments are the fields for the new object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.Equals(Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Test for strict equality with another nsILoginInfo object.
            </summary>
            <param name="aLoginInfo">
            The other object to test.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.Matches(Gecko.Interfaces.nsILoginInfo,System.Boolean)">
            <summary>
            Test for loose equivalency with another nsILoginInfo object. The
            passwordField and usernameField values are ignored, and the password
            values may be optionally ignored. If one login&apos;s formSubmitURL is an
            empty string (but not null), it will be treated as a wildcard. [The
            blank value indicates the login was stored before bug 360493 was fixed.]
            </summary>
            <param name="aLoginInfo">
            The other object to test.
            </param>
            <param name="ignorePassword">
            If true, ignore the password when checking for match.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginInfo.Clone">
            <summary>
            Create an identical copy of the login, duplicating all of the login&apos;s
            nsILoginInfo and nsILoginMetaInfo properties.
            
            This allows code to be forwards-compatible, when additional properties
            are added to nsILoginMetaInfo (or nsILoginInfo) in the future.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.GetInitializationPromiseAttribute">
            <summary>
            This promise is resolved when initialization is complete, and is rejected
            in case initialization failed.  This includes the initial loading of the
            login data as well as any migration from previous versions.
            
            Calling any method of nsILoginManager before this promise is resolved
            might trigger the synchronous initialization fallback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.AddLogin(Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Store a new login in the login manager.
            </summary>
            <param name="aLogin">
            The login to be added.
            </param>
            <returns>
            a clone of the login info with the guid set (even if it was not provided)
            
            Default values for the login&apos;s nsILoginMetaInfo properties will be
            created. However, if the caller specifies non-default values, they will
            be used instead.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.RemoveLogin(Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Remove a login from the login manager.
            </summary>
            <param name="aLogin">
            The login to be removed.
            
            The specified login must exactly match a stored login. However, the
            values of any nsILoginMetaInfo properties are ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.ModifyLogin(Gecko.Interfaces.nsILoginInfo,Gecko.Interfaces.nsISupports)">
            <summary>
            Modify an existing login in the login manager.
            </summary>
            <param name="oldLogin">
            The login to be modified.
            </param>
            <param name="newLoginData">
            The new login values (either a nsILoginInfo or nsIProperyBag)
            
            If newLoginData is a nsILoginInfo, all of the old login&apos;s nsILoginInfo
            properties are changed to the values from newLoginData (but the old
            login&apos;s nsILoginMetaInfo properties are unmodified).
            
            If newLoginData is a nsIPropertyBag, only the specified properties
            will be changed. The nsILoginMetaInfo properties of oldLogin can be
            changed in this manner.
            
            If the propertybag contains an item named &quot;timesUsedIncrement&quot;, the
            login&apos;s timesUsed property will be incremented by the item&apos;s value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.RemoveAllLogins">
            <summary>
            Remove all logins known to login manager.
            
            The browser sanitization feature allows the user to clear any stored
            passwords. This interface allows that to be done without getting each
            login first (which might require knowing the master password).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.GetAllLogins(System.UInt32@,System.IntPtr@)">
            <summary>
            Fetch all logins in the login manager. An array is always returned;
            if there are no logins the array is empty.
            </summary>
            <param name="count">
            The number of elements in the array. JS callers can simply use
            the array&apos;s .length property and omit this param.
            </param>
            <param name="logins">
            An array of nsILoginInfo objects.
            
            NOTE: This can be called from JS as:
            var logins = pwmgr.getAllLogins();
            (|logins| is an array).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.GetAllDisabledHosts(System.UInt32@,System.IntPtr@)">
            <summary>
            Obtain a list of all hosts for which password saving is disabled.
            </summary>
            <param name="count">
            The number of elements in the array. JS callers can simply use
            the array&apos;s .length property and omit this param.
            </param>
            <param name="hostnames">
            An array of hostname strings, in origin URL format without a
            pathname. For example: &quot;https://www.site.com&quot;.
            
            NOTE: This can be called from JS as:
            var logins = pwmgr.getDisabledAllLogins();
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.GetLoginSavingEnabled(Gecko.nsAStringBase)">
            <summary>
            Check to see if saving logins has been disabled for a host.
            </summary>
            <param name="aHost">
            The hostname to check. This argument should be in the origin
            URL format, without a pathname. For example: &quot;http://foo.com&quot;.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.SetLoginSavingEnabled(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Disable (or enable) storing logins for the specified host. When
            disabled, the login manager will not prompt to store logins for
            that host. Existing logins are not affected.
            </summary>
            <param name="aHost">
            The hostname to set. This argument should be in the origin
            URL format, without a pathname. For example: &quot;http://foo.com&quot;.
            </param>
            <param name="isEnabled">
            Specify if saving logins should be enabled (true) or
            disabled (false)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.FindLogins(System.UInt32@,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.IntPtr@)">
            <summary>
            Search for logins matching the specified criteria. Called when looking
            for logins that might be applicable to a form or authentication request.
            </summary>
            <param name="count">
            The number of elements in the array. JS callers can simply use
            the array&apos;s .length property, and supply an dummy object for
            this out param. For example: |findLogins({}, hostname, ...)|
            </param>
            <param name="aHostname">
            The hostname to restrict searches to, in URL format. For
            example: &quot;http://www.site.com&quot;.
            To find logins for a given nsIURI, you would typically pass in
            its prePath.
            </param>
            <param name="aActionURL">
            For form logins, this argument should be the URL to which the
            form will be submitted. For protocol logins, specify null.
            An empty string (&quot;&quot;) will match any value (except null).
            </param>
            <param name="aHttpRealm">
            For protocol logins, this argument should be the HTTP Realm
            for which the login applies. This is obtained from the
            WWW-Authenticate header. See RFC2617. For form logins,
            specify null.
            An empty string (&quot;&quot;) will match any value (except null).
            </param>
            <param name="logins">
            An array of nsILoginInfo objects.
            
            NOTE: This can be called from JS as:
            var logins = pwmgr.findLogins({}, hostname, ...);
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.CountLogins(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Search for logins matching the specified criteria, as with
            findLogins(). This interface only returns the number of matching
            logins (and not the logins themselves), which allows a caller to
            check for logins without causing the user to be prompted for a master
            password to decrypt the logins.
            </summary>
            <param name="aHostname">
            The hostname to restrict searches to. Specify an empty string
            to match all hosts. A null value will not match any logins, and
            will thus always return a count of 0.
            </param>
            <param name="aActionURL">
            The URL to which a form login will be submitted. To match any
            form login, specify an empty string. To not match any form
            login, specify null.
            </param>
            <param name="aHttpRealm">
            The HTTP Realm for which the login applies. To match logins for
            any realm, specify an empty string. To not match logins for any
            realm, specify null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.AutoCompleteSearchAsync(Gecko.nsAStringBase,Gecko.Interfaces.nsIAutoCompleteResult,Gecko.Interfaces.nsIDOMHTMLInputElement,Gecko.Interfaces.nsIFormAutoCompleteObserver)">
            <summary>
            Generate results for a userfield autocomplete menu.
            
            NOTE: This interface is provided for use only by the FormFillController,
            which calls it directly. This isn&apos;t really ideal, it should
            probably be callback registered through the FFC.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.StopSearch">
            <summary>
            Stop a previously-started async search.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.SearchLogins(System.UInt32@,Gecko.Interfaces.nsIPropertyBag,System.IntPtr@)">
            <summary>
            Search for logins in the login manager. An array is always returned;
            if there are no logins the array is empty.
            </summary>
            <param name="count">
            The number of elements in the array. JS callers can simply use
            the array&apos;s .length property, and supply an dummy object for
            this out param. For example: |searchLogins({}, matchData)|
            </param>
            <param name="matchData">
            The data used to search. This does not follow the same
            requirements as findLogins for those fields. Wildcard matches are
            simply not specified.
            </param>
            <param name="logins">
            An array of nsILoginInfo objects.
            
            NOTE: This can be called from JS as:
            var logins = pwmgr.searchLogins({}, matchData);
            (|logins| is an array).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.GetUiBusyAttribute">
            <summary>
            True when a master password prompt is being displayed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManager.GetIsLoggedInAttribute">
            <summary>
            True when the master password has already been entered, and so a caller
            can ask for decrypted logins without triggering a prompt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerCrypto.Encrypt(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            encrypt
            </summary>
            <param name="plainText">
            The string to be encrypted.
            
            Encrypts the specified string, returning the ciphertext value.
            
            NOTE: The current implemention of this inferface simply uses NSS/PSM&apos;s
            &quot;Secret Decoder Ring&quot; service. It is not recommended for general
            purpose encryption/decryption.
            
            Can throw if the user cancels entry of their master password.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerCrypto.Decrypt(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            decrypt
            </summary>
            <param name="cipherText">
            The string to be decrypted.
            
            Decrypts the specified string, returning the plaintext value.
            
            Can throw if the user cancels entry of their master password, or if the
            cipherText value can not be successfully decrypted (eg, if it was
            encrypted with some other key).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerCrypto.GetUiBusyAttribute">
            <summary>
            uiBusy
            
            True when a master password prompt is being displayed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerCrypto.GetIsLoggedInAttribute">
            <summary>
            isLoggedIn
            
            Current login state of the token used for encryption. If the user is
            not logged in, performing a crypto operation will result in a master
            password prompt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerCrypto.GetDefaultEncTypeAttribute">
            <summary>
            defaultEncType
            
            Default encryption type used by an implementation of this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerPrompter.Init(Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            Initialize the prompter. Must be called before using other interfaces.
            </summary>
            <param name="aWindow">
            The window in which the user is doing some login-related action that&apos;s
            resulting in a need to prompt them for something. The prompt
            will be associated with this window (or, if a notification bar
            is being used, topmost opener in some cases).
            
            aWindow can be null if there is no associated window, e.g. in a JSM
            or Sandbox. In this case there will be no checkbox to save the login
            since the window is needed to know if this is a private context.
            
            If this window is a content window, the corresponding window and browser
            elements will be calculated. If this window is a chrome window, the
            corresponding browser element needs to be set using setBrowser.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerPrompter.GetBrowserAttribute">
            <summary>
            The browser this prompter is being created for.
            This is required if the init function received a chrome window as argument.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerPrompter.GetOpenerAttribute">
            <summary>
            The opener that was used to open the window passed to init.
            The opener can be used to determine in which window the prompt
            should be shown. Must be a content window that is not a frame window,
            make sure to pass the top window using e.g. window.top.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerPrompter.PromptToSavePassword(Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Ask the user if they want to save a login (Yes, Never, Not Now)
            </summary>
            <param name="aLogin">
            The login to be saved.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerPrompter.PromptToChangePassword(Gecko.Interfaces.nsILoginInfo,Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Ask the user if they want to change a login&apos;s password or username.
            If the user consents, modifyLogin() will be called.
            </summary>
            <param name="aOldLogin">
            The existing login (with the old password).
            </param>
            <param name="aNewLogin">
            The new login.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerPrompter.PromptToChangePasswordWithUsernames(Gecko.Interfaces.nsILoginInfo[],System.UInt32,Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Ask the user if they want to change the password for one of
            multiple logins, when the caller can&apos;t determine exactly which
            login should be changed. If the user consents, modifyLogin() will
            be called.
            </summary>
            <param name="logins">
            An array of existing logins.
            </param>
            <param name="count">
            (length of the array)
            </param>
            <param name="aNewLogin">
            The new login.
            
            Note: Because the caller does not know the username of the login
            to be changed, aNewLogin.username and aNewLogin.usernameField
            will be set (using the user&apos;s selection) before modifyLogin()
            is called.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.Initialize">
            <summary>
            Initialize the component.
            
            At present, other methods of this interface may be called before the
            returned promise is resolved or rejected.
            </summary>
            <returns>
            {Promise}
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.Terminate">
            <summary>
            Ensures that all data has been written to disk and all files are closed.
            
            At present, this method is called by regression tests only.  Finalization
            on shutdown is done by observers within the component.
            </summary>
            <returns>
            {Promise}
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.AddLogin(Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Store a new login in the storage module.
            </summary>
            <param name="aLogin">
            The login to be added.
            </param>
            <returns>
            a clone of the login info with the guid set (even if it was not provided).
            
            Default values for the login&apos;s nsILoginMetaInfo properties will be
            created. However, if the caller specifies non-default values, they will
            be used instead.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.RemoveLogin(Gecko.Interfaces.nsILoginInfo)">
            <summary>
            Remove a login from the storage module.
            </summary>
            <param name="aLogin">
            The login to be removed.
            
            The specified login must exactly match a stored login. However, the
            values of any nsILoginMetaInfo properties are ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.ModifyLogin(Gecko.Interfaces.nsILoginInfo,Gecko.Interfaces.nsISupports)">
            <summary>
            Modify an existing login in the storage module.
            </summary>
            <param name="oldLogin">
            The login to be modified.
            </param>
            <param name="newLoginData">
            The new login values (either a nsILoginInfo or nsIProperyBag)
            
            If newLoginData is a nsILoginInfo, all of the old login&apos;s nsILoginInfo
            properties are changed to the values from newLoginData (but the old
            login&apos;s nsILoginMetaInfo properties are unmodified).
            
            If newLoginData is a nsIPropertyBag, only the specified properties
            will be changed. The nsILoginMetaInfo properties of oldLogin can be
            changed in this manner.
            
            If the propertybag contains an item named &quot;timesUsedIncrement&quot;, the
            login&apos;s timesUsed property will be incremented by the item&apos;s value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.RemoveAllLogins">
            <summary>
            Remove all stored logins.
            
            The browser sanitization feature allows the user to clear any stored
            passwords. This interface allows that to be done without getting each
            login first (which might require knowing the master password).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.GetAllLogins(System.UInt32@,System.IntPtr@)">
            <summary>
            Fetch all logins in the login manager. An array is always returned;
            if there are no logins the array is empty.
            </summary>
            <param name="count">
            The number of elements in the array. JS callers can simply use
            the array&apos;s .length property and omit this param.
            </param>
            <param name="logins">
            An array of nsILoginInfo objects.
            
            NOTE: This can be called from JS as:
            var logins = pwmgr.getAllLogins();
            (|logins| is an array).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.SearchLogins(System.UInt32@,Gecko.Interfaces.nsIPropertyBag,System.IntPtr@)">
            <summary>
            Search for logins in the login manager. An array is always returned;
            if there are no logins the array is empty.
            </summary>
            <param name="count">
            The number of elements in the array. JS callers can simply use
            the array&apos;s .length property, and supply an dummy object for
            this out param. For example: |searchLogins({}, matchData)|
            </param>
            <param name="matchData">
            The data used to search. This does not follow the same
            requirements as findLogins for those fields. Wildcard matches are
            simply not specified.
            </param>
            <param name="logins">
            An array of nsILoginInfo objects.
            
            NOTE: This can be called from JS as:
            var logins = pwmgr.searchLogins({}, matchData);
            (|logins| is an array).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.FindLogins(System.UInt32@,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.IntPtr@)">
            <summary>
            Search for logins matching the specified criteria. Called when looking
            for logins that might be applicable to a form or authentication request.
            </summary>
            <param name="count">
            The number of elements in the array. JS callers can simply use
            the array&apos;s .length property, and supply an dummy object for
            this out param. For example: |findLogins({}, hostname, ...)|
            </param>
            <param name="aHostname">
            The hostname to restrict searches to, in URL format. For
            example: &quot;http://www.site.com&quot;.
            </param>
            <param name="aActionURL">
            For form logins, this argument should be the URL to which the
            form will be submitted. For protocol logins, specify null.
            </param>
            <param name="aHttpRealm">
            For protocol logins, this argument should be the HTTP Realm
            for which the login applies. This is obtained from the
            WWW-Authenticate header. See RFC2617. For form logins,
            specify null.
            </param>
            <param name="logins">
            An array of nsILoginInfo objects.
            
            NOTE: This can be called from JS as:
            var logins = pwmgr.findLogins({}, hostname, ...);
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.CountLogins(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Search for logins matching the specified criteria, as with
            findLogins(). This interface only returns the number of matching
            logins (and not the logins themselves), which allows a caller to
            check for logins without causing the user to be prompted for a master
            password to decrypt the logins.
            </summary>
            <param name="aHostname">
            The hostname to restrict searches to. Specify an empty string
            to match all hosts. A null value will not match any logins, and
            will thus always return a count of 0.
            </param>
            <param name="aActionURL">
            The URL to which a form login will be submitted. To match any
            form login, specify an empty string. To not match any form
            login, specify null.
            </param>
            <param name="aHttpRealm">
            The HTTP Realm for which the login applies. To match logins for
            any realm, specify an empty string. To not match logins for any
            realm, specify null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.GetUiBusyAttribute">
            <summary>
            True when a master password prompt is being shown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginManagerStorage.GetIsLoggedInAttribute">
            <summary>
            True when the master password has already been entered, and so a caller
            can ask for decrypted logins without triggering a prompt.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsILoginMetaInfo">
            <summary>
            An object containing metainfo for a login stored by the login manager.
            
            Code using login manager can generally ignore this interface. When adding
            logins, default value will be created. When modifying logins, these
            properties will be unchanged unless a change is explicitly requested [by
            using modifyLogin() with a nsIPropertyBag]. When deleting a login or
            comparing logins, these properties are ignored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginMetaInfo.GetGuidAttribute(Gecko.nsAStringBase)">
            <summary>
            The GUID to uniquely identify the login. This can be any arbitrary
            string, but a format as created by nsIUUIDGenerator is recommended.
            For example, &quot;{d4e1a1f6-5ea0-40ee-bff5-da57982f21cf}&quot;
            
            addLogin will generate a random value unless a value is provided.
            
            addLogin and modifyLogin will throw if the GUID already exists.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginMetaInfo.GetTimeCreatedAttribute">
            <summary>
            The time, in Unix Epoch milliseconds, when the login was first created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginMetaInfo.GetTimeLastUsedAttribute">
            <summary>
            The time, in Unix Epoch milliseconds, when the login was last submitted
            in a form or used to begin an HTTP auth session.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginMetaInfo.GetTimePasswordChangedAttribute">
            <summary>
            The time, in Unix Epoch milliseconds, when the login was last modified.
            
            Contrary to what the name may suggest, this attribute takes into account
            not only the password but also the username attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILoginMetaInfo.GetTimesUsedAttribute">
            <summary>
            The number of times the login was submitted in a form or used to begin
            an HTTP auth session.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMemory">
            <summary>
            nsIMemory: interface to allocate and deallocate memory. Also provides
            for notifications in low-memory situations.
            
            The frozen exported symbols moz_xmalloc, moz_xrealloc, and free
            provide a more efficient way to access XPCOM memory allocation. Using
            those symbols is preferred to using the methods on this interface.
            
            A client that wishes to be notified of low memory situations (for
            example, because the client maintains a large memory cache that
            could be released when memory is tight) should register with the
            observer service (see nsIObserverService) using the topic
            &quot;memory-pressure&quot;.  There are specific types of notications
            that can occur.  These types will be passed as the |aData|
            parameter of the of the &quot;memory-pressure&quot; notification:
            
            &quot;low-memory&quot;
            This will be passed as the extra data when the pressure
            observer is being asked to flush for low-memory conditions.
            
            &quot;low-memory-ongoing&quot;
            This will be passed when we continue to be in a low-memory
            condition and we want to flush caches and do other cheap
            forms of memory minimization, but heavy handed approaches like
            a GC are unlikely to succeed.
            
            &quot;-no-forward&quot;
            This is appended to the above two parameters when the resulting
            notification should not be forwarded to the child processes.
            
            &quot;heap-minimize&quot;
            This will be passed as the extra data when the pressure
            observer is being asked to flush because of a heap minimize
            call.
            
            &quot;alloc-failure&quot;
            This will be passed as the extra data when the pressure
            observer has been asked to flush because a malloc() or
            realloc() has failed.
            
            &quot;lowering-priority&quot;
            This will be passed as the extra data when the priority of a child
            process is lowered. The pressure observers could take the chance to
            clear caches that could be easily regenerated. This type of
            notification only appears in child processes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMemory.HeapMinimize(System.Boolean)">
            <summary>
            Attempts to shrink the heap.
            </summary>
            <param name="immediate">
            - if true, heap minimization will occur
            immediately if the call was made on the main thread. If
            false, the flush will be scheduled to happen when the app is
            idle.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if 'immediate' is set an the call
            was not on the application's main thread.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMemory.IsLowMemoryPlatform">
            <summary>
            This predicate can be used to determine if the platform is a &quot;low-memory&quot;
            platform. Callers may use this to dynamically tune their behaviour
            to favour reduced memory usage at the expense of performance. The value
            returned by this function will not change over the lifetime of the process.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDumpGCAndCCLogsCallback">
            <summary>
            Callback interface for |dumpGCAndCCLogsToFile|, below.  Note that
            these method calls can occur before |dumpGCAndCCLogsToFile|
            returns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDumpGCAndCCLogsCallback.OnDump(Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsIFile,System.Boolean)">
            <summary>
            Called whenever a process has successfully finished dumping its GC/CC logs.
            Incomplete dumps (e.g., if the child crashes or is killed due to memory
            exhaustion) are not reported.
            </summary>
            <param name="aGCLog">
            The file that the GC log was written to.
            </param>
            <param name="aCCLog">
            The file that the CC log was written to.
            </param>
            <param name="aIsParent">
            indicates whether this log file pair is from the
            parent process.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDumpGCAndCCLogsCallback.OnFinish">
            <summary>
            Called when GC/CC logging has finished, after all calls to |onDump|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMemoryInfoDumper.DumpMemoryReportsToNamedFile(Gecko.nsAStringBase,Gecko.Interfaces.nsIFinishDumpingCallback,Gecko.Interfaces.nsISupports,System.Boolean)">
            <summary>
            This dumps gzipped memory reports for this process and its child
            processes.  If a file of the given name exists, it will be overwritten.
            </summary>
            <param name="aFilename">
            The output file.
            </param>
            <param name="aFinishDumping">
            The callback called on completion.
            </param>
            <param name="aFinishDumpingData">
            The environment for the callback.
            </param>
            <param name="aAnonymize">
            Should the reports be anonymized?
            
            Sample output, annotated with comments for explanatory purposes.
            
            {
            The version number of the format, which will be incremented each time
            backwards-incompatible changes are made. A mandatory integer.
            &quot;version&quot;: 1
            
            Equal to nsIMemoryReporterManager::hasMozMallocUsableSize. A
            mandatory boolean.
            &quot;hasMozMallocUsableSize&quot;: true,
            
            The memory reports. A mandatory array.
            &quot;reports&quot;: [
            The properties correspond to the arguments of
            nsIHandleReportCallback::callback. Every one is mandatory.
            {&quot;process&quot;:&quot;Main Process (pid 12345)&quot;, &quot;path&quot;:&quot;explicit/foo/bar&quot;,
            &quot;kind&quot;:1, &quot;units&quot;:0, &quot;amount&quot;:2000000, &quot;description&quot;:&quot;Foo bar.&quot;},
            {&quot;process&quot;:&quot;Main Process (pid 12345)&quot;, &quot;path&quot;:&quot;heap-allocated&quot;,
            &quot;kind&quot;:1, &quot;units&quot;:0, &quot;amount&quot;:3000000, &quot;description&quot;:&quot;Heap allocated.&quot;},
            {&quot;process&quot;:&quot;Main Process (pid 12345)&quot;, &quot;path&quot;:&quot;vsize&quot;,
            &quot;kind&quot;:1, &quot;units&quot;:0, &quot;amount&quot;:10000000, &quot;description&quot;:&quot;Vsize.&quot;}
            ]
            }
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMemoryInfoDumper.DumpMemoryInfoToTempDir(Gecko.nsAStringBase,System.Boolean,System.Boolean)">
            <summary>
            Similar to dumpMemoryReportsToNamedFile, this method dumps gzipped memory
            reports for this process and its child processes to files in the tmp
            directory called memory-reports-&lt;identifier&gt;-&lt;pid&gt;.json.gz (or something
            similar, such as memory-reports-&lt;identifier&gt;-&lt;pid&gt;-1.json.gz; no existing
            file will be overwritten).
            
            If DMD is enabled, this method also dumps gzipped DMD output for this
            process and its child processes to files in the tmp directory called
            dmd-&lt;identifier&gt;-&lt;pid&gt;.txt.gz (or something similar; again, no existing
            file will be overwritten).
            </summary>
            <param name="aIdentifier">
            this identifier will appear in the filename of our
            about:memory dump and those of our children.
            
            If the identifier is empty, the implementation may set it arbitrarily
            and use that new value for its own dump and the dumps of its child
            processes.  For example, the implementation may set |aIdentifier| to the
            number of seconds since the epoch.
            </param>
            <param name="aAnonymize">
            Should the reports be anonymized?
            </param>
            <param name="aMinimizeMemoryUsage">
            indicates whether we should run a series of
            gc/cc&apos;s in an attempt to reduce our memory usage before collecting our
            memory report.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMemoryInfoDumper.DumpGCAndCCLogsToFile(Gecko.nsAStringBase,System.Boolean,System.Boolean,Gecko.Interfaces.nsIDumpGCAndCCLogsCallback)">
            <summary>
            Dump GC and CC logs to files in the OS&apos;s temp directory (or in
            $MOZ_CC_LOG_DIRECTORY, if that environment variable is specified).
            </summary>
            <param name="aIdentifier">
            If aIdentifier is non-empty, this string will appear in
            the filenames of the logs we create (both for this process and, if
            aDumpChildProcesses is true, for our child processes).
            
            If aIdentifier is empty, the implementation may set it to an
            arbitrary value; for example, it may set aIdentifier to the number
            of seconds since the epoch.
            </param>
            <param name="aDumpAllTraces">
            indicates whether we should run an all-traces CC
            log.  An all-traces log visits all objects currently eligible for cycle
            collection, while a non-all-traces log avoids visiting some objects
            which we know are reachable.
            
            All-traces logs are much bigger than the alternative, but they may be
            helpful when trying to understand why a particular object is alive.  For
            example, a non-traces-log will skip references held by an active
            document; if your object is being held alive by such a document, you
            probably want to see those references.
            </param>
            <param name="aDumpChildProcesses">
            indicates whether we should call
            DumpGCAndCCLogsToFile in our child processes.  If so, the child processes
            will dump their children, and so on.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMemoryInfoDumper.DumpGCAndCCLogsToSink(System.Boolean,Gecko.Interfaces.nsICycleCollectorLogSink)">
            <summary>
            Like |dumpGCAndCCLogsToFile|, but sends the logs to the given log
            sink object instead of accessing the filesystem directly, and
            dumps the current process only.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMemoryProfiler">
            <summary>
            The memory profiler samples allocation events. An allocation event
            includes a type (what and at where is going to be allocated), a
            size, a timestamp and the corresponding stack trace. Free events
            are also tracked. For managed languages, namely languages relying
            on garbage collection, a free event is generated when an object is
            reclaimed by the garbage collector.  These sampled events can be
            used to approximate the full history of allocations afterwards.
            That means we can get various memory profiles of a program in
            different perspectives by post-processing the history in different
            ways. The profiler is designed at the very beginning to support not
            only JavaScript but also native codes. Naturally, not only
            JavaScript objects but also native allocations are tracked.
            
            The result returned is the sampled allocation event traces in a
            compact format. The events is sorted according to the timestamp
            when the event happened. Each event has a trace index pointing to
            the traces table. Each trace entry has a name index pointing to the
            names table and a parent index pointing to the parent trace in the
            traces table. By following the trace index one could rebuild the
            complete backtrace of an allocation event.
            
            [ Events ]
            +-------+-------+      +-------+
            | Size  | Size  |      | Size  |
            |-------|-------|      |-------|
            | Time  | Time  |......| Time  |
            |-------|-------|      |-------|
            +-- Trace | Trace |      | Trace |
            | +-------+-------+      +-------+
            |
            | [ Traces ]
            +-&gt;--------+--------+   +--------+   +--------+
            -| Name   | Name   |   | Name   |   | Name   |
            |--------|--------|...|--------|...|--------|
            | | Parent | Parent |   | Parent |   | Parent |
            | +---|----+----^--++   +--^--|--+   +---^----+
            |     |         |  |       |  |          |
            |     +---------+  +-------+  +----------+
            | [ Names ]
            | +-----------------+-----------------+
            +-&gt; Function name   | Function name   |
            |  &amp; line numbers |  &amp; line numbers |......
            +-----------------+-----------------+
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMemoryProfiler.GetResults(System.IntPtr)">
            <summary>
            Get results in an object which contains three tables:
            {
            names, // an array of function names and positions
            traces, // an array of {nameIdx, parentIdx}
            events, // an array of {size, timestamp, traceIdx}
            }
            Should only be called after stopProfiler.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMenuBuilder">
            <summary>
            An interface used to construct native toolbar or context menus from &lt;menu&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMenuBuilder.OpenContainer(Gecko.nsAStringBase)">
            <summary>
            Create the top level menu or a submenu. The implementation should create
            a new context for this menu, so all subsequent methods will add new items
            to this newly created menu.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMenuBuilder.AddItemFor(Gecko.Interfaces.nsIDOMHTMLMenuItemElement,System.Boolean)">
            <summary>
            Add a new menu item. All menu item details can be obtained from
            the element. This method is not called for hidden elements or elements
            with no or empty label. The icon should be loaded only if aCanLoadIcon
            is true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMenuBuilder.AddSeparator">
            <summary>
            Create a new separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMenuBuilder.UndoAddSeparator">
            <summary>
            Remove last added separator.
            Sometimes it&apos;s needed to remove last added separator, otherwise it&apos;s not
            possible to implement the postprocessing in one pass.
            See http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#building-menus-and-toolbars
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMenuBuilder.CloseContainer">
            <summary>
            Set the context to the parent menu.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMenuBuilder.ToJSONString(Gecko.nsAStringBase)">
            <summary>
            Returns a JSON string representing the menu hierarchy. For a context menu,
            it will be of the form:
            {
            type: &quot;menu&quot;,
            children: [
            {
            type: &quot;menuitem&quot;,
            label: &quot;label&quot;,
            icon: &quot;image.png&quot;
            },
            {
            type: &quot;separator&quot;,
            },
            ];
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMenuBuilder.Click(Gecko.nsAStringBase)">
            <summary>
            Invoke the action of the menuitem with assigned id aGeneratedItemId.
            </summary>
            <param name="aGeneratedItemId">
            the menuitem id
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIMessageLoop">
            <summary>
            This service allows access to the current thread&apos;s Chromium MessageLoop
            instance, with some extra sugar added.  If you&apos;re calling from C++, it may
            or may not make sense for you to use this interface.  If you&apos;re calling from
            JS, you don&apos;t have a choice!
            
            Right now, you can only call PostIdleTask(), and the wrath of khuey is
            stopping you from adding other methods.
            
            nsIMessageLoop&apos;s contractid is &quot;@mozilla.org/message-loop;1&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageLoop.PostIdleTask(Gecko.Interfaces.nsIRunnable,System.UInt32)">
            <summary>
            Posts a task to be run when this thread&apos;s message loop is idle, or after
            ensureRunsAfterMS milliseconds have elapsed.  (That is, the task is
            guaranteed to run /eventually/.)
            
            Note that if the event loop is busy, we will hold a reference to the task
            until ensureRunsAfterMS milliseconds have elapsed.  Be careful when
            specifying long timeouts and tasks which hold references to windows or
            other large objects, because you can leak memory in a difficult-to-detect
            way!
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMessageListener">
            <summary>
            Message managers provide a way for chrome-privileged JS code to
            communicate with each other, even across process boundaries.
            
            Message managers are separated into &quot;parent side&quot; and &quot;child side&quot;.
            These don&apos;t always correspond to process boundaries, but can.  For
            each child-side message manager, there is always exactly one
            corresponding parent-side message manager that it sends messages
            to.  However, for each parent-side message manager, there may be
            either one or many child-side managers it can message.
            
            Message managers that always have exactly one &quot;other side&quot; are of
            type nsIMessageSender.  Parent-side message managers that have many
            &quot;other sides&quot; are of type nsIMessageBroadcaster.
            
            Child-side message managers can send synchronous messages to their
            parent side, but not the other way around.
            
            There are two realms of message manager hierarchies.  One realm
            approximately corresponds to DOM elements, the other corresponds to
            process boundaries.
            
            Message managers corresponding to DOM elements
            ==============================================
            
            In this realm of message managers, there are
            - &quot;frame message managers&quot; which correspond to frame elements
            - &quot;window message managers&quot; which correspond to top-level chrome
            windows
            - &quot;group message managers&quot; which correspond to named message
            managers with a specific window MM as the parent
            - the &quot;global message manager&quot;, on the parent side.  See below.
            
            The DOM-realm message managers can communicate in the ways shown by
            the following diagram.  The parent side and child side can
            correspond to process boundaries, but don&apos;t always.
            
            Parent side                         Child side
            -------------                       ------------
            global MMg
            |
            +--&gt;window MMw1
            |    |
            |    +--&gt;frame MMp1_1&lt;------------&gt;frame MMc1_1
            |    |
            |    +--&gt;frame MMp1_2&lt;------------&gt;frame MMc1_2
            |    |
            |    +--&gt;group MMgr1
            |    |    |
            |    |    +--&gt;frame MMp2_1&lt;-------&gt;frame MMc2_1
            |    |    |
            |    |    +--&gt;frame MMp2_2&lt;-------&gt;frame MMc2_2
            |    |
            |    +--&gt;group MMgr2
            |    |    ...
            |    |
            |    ...
            |
            +--&gt;window MMw2
            ...
            
            For example: a message sent from MMc1_1, from the child side, is
            sent only to MMp1_1 on the parent side.  However, note that all
            message managers in the hierarchy above MMp1_1, in this diagram
            MMw1 and MMg, will also notify their message listeners when the
            message arrives.
            
            A message sent from MMc2_1 will be sent to MMp2_1 and also notify
            all message managers in the hierarchy above that, including the
            group message manager MMgr1.
            
            For example: a message broadcast through the global MMg on the
            parent side would be broadcast to MMw1, which would transitively
            broadcast it to MMp1_1, MM1p_2.  The message would next be
            broadcast to MMgr1, which would broadcast it to MMp2_1 and MMp2_2.
            After that it would broadcast to MMgr2 and then to MMw2, and so
            on down the hierarchy.
            
            PERFORMANCE AND SECURITY WARNING
            Messages broadcast through the global MM and window or group MMs
            can result in messages being dispatched across many OS processes,
            and to many processes with different permissions.  Great care
            should be taken when broadcasting.
            
            Interfaces
            ----------
            
            The global MMg and window MMw&apos;s are message broadcasters implementing
            nsIMessageBroadcaster while the frame MMp&apos;s are simple message senders
            (nsIMessageSender). Their counterparts in the content processes are
            message senders implementing nsIContentFrameMessageManager.
            
            nsIMessageListenerManager
            \
            nsIMessageSender                               nsIMessageBroadcaster
            |
            nsISyncMessageSender (content process/in-process only)
            |
            nsIContentFrameMessageManager (content process/in-process only)
            |
            nsIInProcessContentFrameMessageManager (in-process only)
            
            
            Message managers in the chrome process can also be QI&apos;ed to nsIFrameScriptLoader.
            
            
            Message managers corresponding to process boundaries
            ====================================================
            
            The second realm of message managers is the &quot;process message
            managers&quot;.  With one exception, these always correspond to process
            boundaries.  The picture looks like
            
            Parent process                      Child processes
            ----------------                    -----------------
            global (GPPMM)
            |
            +--&gt;parent in-process PIPMM&lt;--&gt;child in-process CIPPMM
            |
            +--&gt;parent (PPMM1)&lt;------------------&gt;child (CPMM1)
            |
            +--&gt;parent (PPMM2)&lt;------------------&gt;child (CPMM2)
            ...
            
            Note, PIPMM and CIPPMM both run in the parent process.
            
            For example: the parent-process PPMM1 sends messages to the
            child-process CPMM1.
            
            For example: CPMM1 sends messages directly to PPMM1. The global GPPMM
            will also notify their message listeners when the message arrives.
            
            For example: messages sent through the global GPPMM will be
            dispatched to the listeners of the same-process, CIPPMM, CPMM1,
            CPMM2, etc.
            
            PERFORMANCE AND SECURITY WARNING
            Messages broadcast through the GPPMM can result in messages
            being dispatched across many OS processes, and to many processes
            with different permissions.  Great care should be taken when
            broadcasting.
            
            Requests sent to parent-process message listeners should usually
            have replies scoped to the requesting CPMM.  The following pattern
            is common
            
            const ParentProcessListener = {
            receiveMessage: function(aMessage) {
            let childMM = aMessage.target.QueryInterface(Ci.nsIMessageSender);
            switch (aMessage.name) {
            case &quot;Foo:Request&quot;:
            service request
            childMM.sendAsyncMessage(&quot;Foo:Response&quot;, { data });
            }
            }
            };
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageListener.ReceiveMessage">
            <summary>
            This is for JS only.
            receiveMessage is called with one parameter, which has the following
            properties:
            {
            target:    %the target of the message. Either an element owning
            the message manager, or message manager itself if no
            element owns it%
            name:      %message name%,
            sync:      %true or false%.
            data:      %structured clone of the sent message data%,
            json:      %same as .data, deprecated%,
            objects:   %named table of jsvals/objects, or null%
            principal: %principal for the window app
            }
            
            Each listener is invoked with its own copy of the message
            parameter.
            
            When the listener is called, &apos;this&apos; value is the target of the message.
            
            If the message is synchronous, the possible return value is
            returned as JSON (will be changed to use structured clones).
            When there are multiple listeners to sync messages, each
            listener&apos;s return value is sent back as an array.  |undefined|
            return values show up as undefined values in the array.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageListenerManager.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageListenerManager.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageListenerManager.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageListenerManager.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMessageSender">
            <summary>
            Message &quot;senders&quot; have a single &quot;other side&quot; to which messages are
            sent.  For example, a child-process message manager will send
            messages that are only delivered to its one parent-process message
            manager.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageSender.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageSender.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageSender.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageSender.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageSender.SendAsyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Send |messageName| and |obj| to the "other side" of this message
            manager.  This invokes listeners who registered for
            |messageName|.
            
            See nsIMessageListener::receiveMessage() for the format of the
            data delivered to listeners.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if the sender is not initialized.  For
            example, we will throw NS_ERROR_NOT_INITIALIZED if we try to send
            a message to a cross-process frame but the other process has not
            yet been set up.
            NS_ERROR_FAILURE: when the message receiver cannot be found.  For
            example, we will throw NS_ERROR_FAILURE if we try to send a message
            to a cross-process frame whose process has crashed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageSender.GetProcessMessageManagerAttribute">
            <summary>
            For remote browsers there is always a corresponding process message
            manager. The intention of this attribute is to link leaf level frame
            message managers on the parent side with the corresponding process
            message managers (if there is one). For any other cases this property
            is null.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMessageBroadcaster">
            <summary>
            Message &quot;broadcasters&quot; don&apos;t have a single &quot;other side&quot; that they
            send messages to, but rather a set of subordinate message managers.
            For example, broadcasting a message through a window message
            manager will broadcast the message to all frame message managers
            within its window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageBroadcaster.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageBroadcaster.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageBroadcaster.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageBroadcaster.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageBroadcaster.BroadcastAsyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Like |sendAsyncMessage()|, but also broadcasts this message to
            all &quot;child&quot; message managers of this message manager.  See long
            comment above for details.
            
            WARNING: broadcasting messages can be very expensive and leak
            sensitive data.  Use with extreme caution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageBroadcaster.GetChildCountAttribute">
            <summary>
            Number of subordinate message managers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageBroadcaster.GetChildAt(System.UInt32)">
            <summary>
            Return a single subordinate message manager.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.SendAsyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Send |messageName| and |obj| to the "other side" of this message
            manager.  This invokes listeners who registered for
            |messageName|.
            
            See nsIMessageListener::receiveMessage() for the format of the
            data delivered to listeners.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if the sender is not initialized.  For
            example, we will throw NS_ERROR_NOT_INITIALIZED if we try to send
            a message to a cross-process frame but the other process has not
            yet been set up.
            NS_ERROR_FAILURE: when the message receiver cannot be found.  For
            example, we will throw NS_ERROR_FAILURE if we try to send a message
            to a cross-process frame whose process has crashed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.GetProcessMessageManagerAttribute">
            <summary>
            For remote browsers there is always a corresponding process message
            manager. The intention of this attribute is to link leaf level frame
            message managers on the parent side with the corresponding process
            message managers (if there is one). For any other cases this property
            is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.SendSyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendAsyncMessage()|, except blocks the sender until all
            listeners of the message have been invoked.  Returns an array
            containing return values from each listener invoked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncMessageSender.SendRpcMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendSyncMessage()|, except re-entrant. New RPC messages may be
            issued even if, earlier on the call stack, we are waiting for a reply
            to an earlier sendRpcMessage() call.
            
            Both sendSyncMessage and sendRpcMessage will block until a reply is
            received, but they may be temporarily interrupted to process an urgent
            incoming message (such as a CPOW request).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.SendAsyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Send |messageName| and |obj| to the "other side" of this message
            manager.  This invokes listeners who registered for
            |messageName|.
            
            See nsIMessageListener::receiveMessage() for the format of the
            data delivered to listeners.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if the sender is not initialized.  For
            example, we will throw NS_ERROR_NOT_INITIALIZED if we try to send
            a message to a cross-process frame but the other process has not
            yet been set up.
            NS_ERROR_FAILURE: when the message receiver cannot be found.  For
            example, we will throw NS_ERROR_FAILURE if we try to send a message
            to a cross-process frame whose process has crashed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.GetProcessMessageManagerAttribute">
            <summary>
            For remote browsers there is always a corresponding process message
            manager. The intention of this attribute is to link leaf level frame
            message managers on the parent side with the corresponding process
            message managers (if there is one). For any other cases this property
            is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.SendSyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendAsyncMessage()|, except blocks the sender until all
            listeners of the message have been invoked.  Returns an array
            containing return values from each listener invoked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.SendRpcMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendSyncMessage()|, except re-entrant. New RPC messages may be
            issued even if, earlier on the call stack, we are waiting for a reply
            to an earlier sendRpcMessage() call.
            
            Both sendSyncMessage and sendRpcMessage will block until a reply is
            received, but they may be temporarily interrupted to process an urgent
            incoming message (such as a CPOW request).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.Dump(Gecko.nsAStringBase)">
            <summary>
            Print a string to stdout.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.PrivateNoteIntentionalCrash">
            <summary>
            If leak detection is enabled, print a note to the leak log that this
            process will intentionally crash.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMessageManagerGlobal.Atob(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Ascii base64 data to binary data and vice versa
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.SendAsyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Send |messageName| and |obj| to the "other side" of this message
            manager.  This invokes listeners who registered for
            |messageName|.
            
            See nsIMessageListener::receiveMessage() for the format of the
            data delivered to listeners.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if the sender is not initialized.  For
            example, we will throw NS_ERROR_NOT_INITIALIZED if we try to send
            a message to a cross-process frame but the other process has not
            yet been set up.
            NS_ERROR_FAILURE: when the message receiver cannot be found.  For
            example, we will throw NS_ERROR_FAILURE if we try to send a message
            to a cross-process frame whose process has crashed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.GetProcessMessageManagerAttribute">
            <summary>
            For remote browsers there is always a corresponding process message
            manager. The intention of this attribute is to link leaf level frame
            message managers on the parent side with the corresponding process
            message managers (if there is one). For any other cases this property
            is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.SendSyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendAsyncMessage()|, except blocks the sender until all
            listeners of the message have been invoked.  Returns an array
            containing return values from each listener invoked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.SendRpcMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendSyncMessage()|, except re-entrant. New RPC messages may be
            issued even if, earlier on the call stack, we are waiting for a reply
            to an earlier sendRpcMessage() call.
            
            Both sendSyncMessage and sendRpcMessage will block until a reply is
            received, but they may be temporarily interrupted to process an urgent
            incoming message (such as a CPOW request).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.Dump(Gecko.nsAStringBase)">
            <summary>
            Print a string to stdout.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.PrivateNoteIntentionalCrash">
            <summary>
            If leak detection is enabled, print a note to the leak log that this
            process will intentionally crash.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.Atob(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Ascii base64 data to binary data and vice versa
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.GetContentAttribute">
            <summary>
            The current top level window in the frame or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentFrameMessageManager.GetDocShellAttribute">
            <summary>
            The top level docshell or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.SendAsyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Send |messageName| and |obj| to the "other side" of this message
            manager.  This invokes listeners who registered for
            |messageName|.
            
            See nsIMessageListener::receiveMessage() for the format of the
            data delivered to listeners.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if the sender is not initialized.  For
            example, we will throw NS_ERROR_NOT_INITIALIZED if we try to send
            a message to a cross-process frame but the other process has not
            yet been set up.
            NS_ERROR_FAILURE: when the message receiver cannot be found.  For
            example, we will throw NS_ERROR_FAILURE if we try to send a message
            to a cross-process frame whose process has crashed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.GetProcessMessageManagerAttribute">
            <summary>
            For remote browsers there is always a corresponding process message
            manager. The intention of this attribute is to link leaf level frame
            message managers on the parent side with the corresponding process
            message managers (if there is one). For any other cases this property
            is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.SendSyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendAsyncMessage()|, except blocks the sender until all
            listeners of the message have been invoked.  Returns an array
            containing return values from each listener invoked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.SendRpcMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendSyncMessage()|, except re-entrant. New RPC messages may be
            issued even if, earlier on the call stack, we are waiting for a reply
            to an earlier sendRpcMessage() call.
            
            Both sendSyncMessage and sendRpcMessage will block until a reply is
            received, but they may be temporarily interrupted to process an urgent
            incoming message (such as a CPOW request).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.Dump(Gecko.nsAStringBase)">
            <summary>
            Print a string to stdout.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.PrivateNoteIntentionalCrash">
            <summary>
            If leak detection is enabled, print a note to the leak log that this
            process will intentionally crash.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.Atob(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Ascii base64 data to binary data and vice versa
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.GetContentAttribute">
            <summary>
            The current top level window in the frame or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInProcessContentFrameMessageManager.GetDocShellAttribute">
            <summary>
            The top level docshell or null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.AddMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener,System.Boolean)">
            <summary>
            Register |listener| to receive |messageName|.  All listener
            callbacks for a particular message are invoked when that message
            is received.
            
            The message manager holds a strong ref to |listener|.
            
            If the same listener registers twice for the same message, the
            second registration is ignored.
            
            Pass true for listenWhenClosed if you want to receive messages
            during the short period after a frame has been removed from the
            DOM and before its frame script has finished unloading. This
            parameter only has an effect for frame message managers in
            the main process. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.RemoveMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            Undo an |addMessageListener| call -- that is, calling this causes us to no
            longer invoke |listener| when |messageName| is received.
            
            removeMessageListener does not remove a message listener added via
            addWeakMessageListener; use removeWeakMessageListener for that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.AddWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This is just like addMessageListener, except the message manager holds a
            weak ref to |listener|.
            
            If you have two weak message listeners for the same message, they may be
            called in any order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.RemoveWeakMessageListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIMessageListener)">
            <summary>
            This undoes an |addWeakMessageListener| call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.SendAsyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Send |messageName| and |obj| to the "other side" of this message
            manager.  This invokes listeners who registered for
            |messageName|.
            
            See nsIMessageListener::receiveMessage() for the format of the
            data delivered to listeners.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if the sender is not initialized.  For
            example, we will throw NS_ERROR_NOT_INITIALIZED if we try to send
            a message to a cross-process frame but the other process has not
            yet been set up.
            NS_ERROR_FAILURE: when the message receiver cannot be found.  For
            example, we will throw NS_ERROR_FAILURE if we try to send a message
            to a cross-process frame whose process has crashed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.GetProcessMessageManagerAttribute">
            <summary>
            For remote browsers there is always a corresponding process message
            manager. The intention of this attribute is to link leaf level frame
            message managers on the parent side with the corresponding process
            message managers (if there is one). For any other cases this property
            is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.SendSyncMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendAsyncMessage()|, except blocks the sender until all
            listeners of the message have been invoked.  Returns an array
            containing return values from each listener invoked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.SendRpcMessage(Gecko.nsAStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,Gecko.Interfaces.nsIPrincipal,System.IntPtr,System.Byte)">
            <summary>
            Like |sendSyncMessage()|, except re-entrant. New RPC messages may be
            issued even if, earlier on the call stack, we are waiting for a reply
            to an earlier sendRpcMessage() call.
            
            Both sendSyncMessage and sendRpcMessage will block until a reply is
            received, but they may be temporarily interrupted to process an urgent
            incoming message (such as a CPOW request).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.Dump(Gecko.nsAStringBase)">
            <summary>
            Print a string to stdout.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.PrivateNoteIntentionalCrash">
            <summary>
            If leak detection is enabled, print a note to the leak log that this
            process will intentionally crash.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.Atob(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Ascii base64 data to binary data and vice versa
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIContentProcessMessageManager.GetInitialProcessDataAttribute(System.IntPtr)">
            <summary>
            Read out a copy of the object that was initialized in the parent
            process via nsIProcessScriptLoader.initialProcessData.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameScriptLoader.LoadFrameScript(Gecko.nsAStringBase,System.Boolean,System.Boolean)">
            <summary>
            Load a script in the (remote) frame. aURL must be the absolute URL.
            data: URLs are also supported. For example data:,dump(&quot;foo\n&quot;);
            If aAllowDelayedLoad is true, script will be loaded when the
            remote frame becomes available. Otherwise the script will be loaded
            only if the frame is already available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameScriptLoader.RemoveDelayedFrameScript(Gecko.nsAStringBase)">
            <summary>
            Removes aURL from the list of scripts which support delayed load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFrameScriptLoader.GetDelayedFrameScripts(System.IntPtr)">
            <summary>
            Returns all delayed scripts that will be loaded once a (remote)
            frame becomes available. The return value is a list of pairs
            [&lt;URL&gt;, &lt;WasLoadedInGlobalScope&gt;].
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcessScriptLoader.LoadProcessScript(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Load a script in the (possibly remote) process. aURL must be the absolute URL.
            data: URLs are also supported. For example data:,dump(&quot;foo\n&quot;);
            If aAllowDelayedLoad is true, script will be loaded when the
            remote frame becomes available. Otherwise the script will be loaded
            only if the frame is already available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcessScriptLoader.RemoveDelayedProcessScript(Gecko.nsAStringBase)">
            <summary>
            Removes aURL from the list of scripts which support delayed load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcessScriptLoader.GetDelayedProcessScripts(System.IntPtr)">
            <summary>
            Returns all delayed scripts that will be loaded once a (remote)
            frame becomes available. The return value is a list of URLs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGlobalProcessScriptLoader.LoadProcessScript(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Load a script in the (possibly remote) process. aURL must be the absolute URL.
            data: URLs are also supported. For example data:,dump(&quot;foo\n&quot;);
            If aAllowDelayedLoad is true, script will be loaded when the
            remote frame becomes available. Otherwise the script will be loaded
            only if the frame is already available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGlobalProcessScriptLoader.RemoveDelayedProcessScript(Gecko.nsAStringBase)">
            <summary>
            Removes aURL from the list of scripts which support delayed load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGlobalProcessScriptLoader.GetDelayedProcessScripts(System.IntPtr)">
            <summary>
            Returns all delayed scripts that will be loaded once a (remote)
            frame becomes available. The return value is a list of URLs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIGlobalProcessScriptLoader.GetInitialProcessDataAttribute(System.IntPtr)">
            <summary>
            Allows the parent process to set the initial process data for
            new, not-yet-created child processes. This attribute should only
            be used by the global parent process message manager. When a new
            process is created, it gets a copy of this data (via structured
            cloning). It can access the data via the initialProcessData
            attribute of its childprocessmessagemanager.
            
            This value will always be a JS object. Different users are
            expected to set properties on this object. The property name
            should be unique enough that other Gecko consumers won&apos;t
            accidentally choose it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcessChecker.AssertPermission(Gecko.nsAStringBase)">
            <summary>
            Return true if the &quot;remote&quot; process has |aPermission|.  This is
            intended to be used by JS implementations of cross-process DOM
            APIs, like so
            
            recvFooRequest: function(message) {
            if (!message.target.assertPermission(&quot;foo&quot;)) {
            return false;
            }
            service foo request
            
            This interface only returns meaningful data when our content is
            in a separate process.  If it shares the same OS process as us,
            then applying this permission check doesn&apos;t add any security,
            though it doesn&apos;t hurt anything either.
            
            Note: If the remote content process does *not* have |aPermission|,
            it will be killed as a precaution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcessChecker.AssertContainApp(Gecko.nsAStringBase)">
            <summary>
            Return true if the &quot;remote&quot; process has |aManifestURL|.  This is
            intended to be used by JS implementations of cross-process DOM
            APIs, like so
            
            recvFooRequest: function(message) {
            if (!message.target.assertContainApp(&quot;foo&quot;)) {
            return false;
            }
            service foo request
            
            This interface only returns meaningful data when our content is
            in a separate process.  If it shares the same OS process as us,
            then applying this manifest URL check doesn&apos;t add any security,
            though it doesn&apos;t hurt anything either.
            
            Note: If the remote content process does *not* contain |aManifestURL|,
            it will be killed as a precaution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcessChecker.AssertAppHasStatus(System.UInt16)">
            <summary>
            Return true if the &quot;remote&quot; process&apos; principal has an appStatus equal to
            |aStatus|.
            
            This interface only returns meaningful data when our content is
            in a separate process.  If it shares the same OS process as us,
            then applying this permission check doesn&apos;t add any security,
            though it doesn&apos;t hurt anything either.
            
            Note: If the remote content process does *not* has the |aStatus|,
            it will be killed as a precaution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEHeaderParam.GetParameter(Gecko.nsACStringBase,System.String,Gecko.nsACStringBase,System.Boolean,System.String@,Gecko.nsAStringBase)">
            <summary>
            Given the value of a single header field  (such as
            Content-Disposition and Content-Type) and the name of a parameter
            (e.g. filename, name, charset), returns the value of the parameter.
            The value is obtained by decoding RFC 2231/5987-style encoding,
            RFC 2047-style encoding, and converting to UniChar(UTF-16)
            from charset specified in RFC 2231/2047 encoding, UTF-8,
            &lt;code&gt;aFallbackCharset&lt;/code&gt;, the locale charset as fallback if
            &lt;code&gt;TryLocaleCharset&lt;/code&gt; is set, and null-padding as last resort
            if all else fails.
            
            &lt;p&gt;
            This method internally invokes &lt;code&gt;getParameterInternal&lt;/code&gt;,
            However, it does not stop at decoding RFC 2231 (the task for
            &lt;code&gt;getParameterInternal&lt;/code&gt; but tries to cope
            with several non-standard-compliant cases mentioned below.
            
            &lt;p&gt;
            Note that a lot of MUAs put RFC 2047-encoded parameters. Unfortunately,
            this includes Mozilla as of 2003-05-30. Even more standard-ignorant MUAs,
            web servers and application servers put &apos;raw 8bit characters&apos;. This will
            try to cope with all these cases as gracefully as possible. Additionally,
            it returns the language tag if the parameter is encoded per RFC 2231 and
            includes lang.
            
            &lt;p&gt;
            Note that GetParameterHTTP skips some of the workarounds used for
            mail (MIME) header fields, and thus SHOULD be used from non-mail
            code.
            </summary>
            <param name="aHeaderVal">
            a header string to get the value of a parameter
            from.
            </param>
            <param name="aParamName">
            the name of a MIME header parameter (e.g.
            filename, name, charset). If empty,  returns
            the first (possibly) _unnamed_ &apos;parameter&apos;.
            </param>
            <param name="aFallbackCharset">
            fallback charset to try if  the string after
            RFC 2231/2047 decoding or the raw 8bit
            string is not UTF-8
            </param>
            <param name="aTryLocaleCharset">
            If set, makes yet another attempt
            with the locale charset.
            </param>
            <param name="aLang">
            If non-null, assigns it to a pointer
            to a string containing the value of language
            obtained from RFC 2231 parsing. Caller has to
            free it.
            </param>
            <returns>
            the value of &lt;code&gt;aParamName&lt;/code&gt; in Unichar(UTF-16).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEHeaderParam.GetParameterHTTP(Gecko.nsACStringBase,System.String,Gecko.nsACStringBase,System.Boolean,System.String@,Gecko.nsAStringBase)">
            <summary>
            Like getParameter, but disabling encodings and workarounds specific to
            MIME (as opposed to HTTP).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEHeaderParam.DecodeRFC5987Param(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsAStringBase)">
            <summary>
            Given the value of a header field parameter using the encoding
            defined in RFC 5987, decode the value into a Unicode string, and extract
            the optional language parameter.
            
            &lt;p&gt;
            This function is purposefully picky; it will abort for all (most?)
            invalid inputs. This is by design. In particular, it does not support
            any character encodings other than UTF-8, in order not to promote
            non-interoperable usage.
            
            &lt;p&gt;
            Code that parses HTTP header fields (as opposed to MIME header fields)
            should use this function.
            </summary>
            <param name="aParamVal">
            a header field parameter to decode.
            </param>
            <param name="aLang">
            will be set to the language part (possibly
            empty).
            </param>
            <returns>
            the decoded parameter value.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEHeaderParam.GetParameterInternal(System.String,System.String,System.String@,System.String@)">
            <summary>
            Given the value of a single header field  (such as
            Content-Disposition and Content-Type) and the name of a parameter
            (e.g. filename, name, charset), returns the value of the parameter
            after decoding RFC 2231-style encoding.
            &lt;p&gt;
            For &lt;strong&gt;internal use only&lt;/strong&gt;. The only other place where
            this needs to be  invoked  is  |MimeHeaders_get_parameter| in
            mailnews/mime/src/mimehdrs.cpp defined as
            char * MimeHeaders_get_parameter (const char *header_value,
            const char *parm_name,
            char **charset, char **language)
            
            Otherwise, this method would have been made static.
            </summary>
            <param name="aHeaderVal">
            a header string to get the value of a parameter from.
            </param>
            <param name="aParamName">
            the name of a MIME header parameter (e.g.
            filename, name, charset). If empty,  returns
            the first (possibly) _unnamed_ &apos;parameter&apos;.
            </param>
            <param name="aCharset">
            If non-null, it gets assigned a new pointer
            to a string containing the value of charset obtained
            from RFC 2231 parsing. Caller has to free it.
            </param>
            <param name="aLang">
            If non-null, it gets assigned a new pointer
            to a string containing the value of language obtained
            from RFC 2231 parsing. Caller has to free it.
            </param>
            <returns>
            the value of &lt;code&gt;aParamName&lt;/code&gt; after
            RFC 2231 decoding but without charset conversion.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEHeaderParam.DecodeRFC2047Header(System.String,System.String,System.Boolean,System.Boolean,Gecko.nsACStringBase)">
            <summary>
            Given a header value, decodes RFC 2047-style encoding and
            returns the decoded header value in UTF-8 if either it&apos;s
            RFC-2047-encoded or aDefaultCharset is given. Otherwise,
            returns the input header value (in whatever encoding)
            as it is except that  RFC 822 (using backslash) quotation and
            CRLF (if aEatContinuation is set) are stripped away
            &lt;p&gt;
            For internal use only. The only other place where this needs to be
            invoked  is  &lt;code&gt;MIME_DecodeMimeHeader&lt;/code&gt; in
            mailnews/mime/src/mimehdrs.cpp defined as
            char * Mime_DecodeMimeHeader(char *header_val, const char *charset,
            bool override, bool eatcontinuation)
            </summary>
            <param name="aHeaderVal">
            a header value to decode
            </param>
            <param name="aDefaultCharset">
            MIME charset to use in place of MIME charset
            specified in RFC 2047 style encoding
            when &lt;code&gt;aOverrideCharset&lt;/code&gt; is set.
            </param>
            <param name="aOverrideCharset">
            When set, overrides MIME charset specified
            in RFC 2047 style encoding with &lt;code&gt;aDefaultCharset&lt;/code&gt;
            </param>
            <param name="aEatContinuation">
            When set, removes CR/LF
            </param>
            <returns>
            decoded header value
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEHeaderParam.DecodeParameter(Gecko.nsACStringBase,System.String,System.String,System.Boolean,Gecko.nsACStringBase)">
            <summary>
            Given a header parameter, decodes RFC 2047 style encoding (if it&apos;s
            not obtained from RFC 2231 encoding),  converts it to
            UTF-8 and returns the result in UTF-8 if an attempt to extract
            charset info. from a few different sources succeeds.
            Otherwise,  returns the input header value (in whatever encoding)
            as it is except that  RFC 822 (using backslash) quotation is
            stripped off.
            &lt;p&gt;
            For internal use only. The only other place where this needs to be
            invoked  is  &lt;code&gt;mime_decode_filename&lt;/code&gt; in
            mailnews/mime/src/mimehdrs.cpp defined as
            char * mime_decode_filename(char *name, const char *charset,
            MimeDisplayOptions *opt)
            </summary>
            <param name="aParamValue">
            the value of a parameter to decode and convert
            </param>
            <param name="aCharset">
            charset obtained from RFC 2231 decoding  in which
            &lt;code&gt;aParamValue&lt;/code&gt; is encoded. If null,
            indicates that it needs to try RFC 2047, instead.
            </param>
            <param name="aDefaultCharset">
            MIME charset to use when aCharset is null and
            cannot be obtained per RFC 2047 (most likely
            because &apos;bare&apos; string is  used.)  Besides, it
            overrides aCharset/MIME charset obtained from
            RFC 2047 if &lt;code&gt;aOverrideCharset&lt;/code&gt;  is set.
            </param>
            <param name="aOverrideCharset">
            When set, overrides MIME charset specified
            in RFC 2047 style encoding with
            &lt;code&gt;aDefaultCharset&lt;/code&gt;
            </param>
            <returns>
            decoded parameter
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIHandlerInfo">
            <summary>
            nsIHandlerInfo gives access to the information about how a given protocol
            scheme or MIME-type is handled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The type of this handler info.  For MIME handlers, this is the MIME type.
            For protocol handlers, it&apos;s the scheme.
            </summary>
            <returns>
            String representing the type.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            A human readable description of the handler type
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetPreferredApplicationHandlerAttribute">
            <summary>
            The application the user has said they want associated with this content
            type. This is not always guaranteed to be set!!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetPossibleApplicationHandlersAttribute">
            <summary>
            Applications that can handle this content type.
            
            The list will include the preferred handler, if any.  Elements of this
            array are nsIHandlerApp objects, and this attribute will always reference
            an array, whether or not there are any possible handlers.  If there are
            no possible handlers, the array will contain no elements, so just check
            its length (nsIArray::length) to see if there are any possible handlers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetHasDefaultHandlerAttribute">
            <summary>
            Indicates whether a default application handler exists,
            i.e. whether launchWithFile with action = useSystemDefault is possible
            and defaultDescription will contain usable information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetDefaultDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            A pretty name description of the associated default application. Only
            usable if hasDefaultHandler is true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI, in a way that
            depends on the value of preferredAction. preferredAction must be
            useHelperApp or useSystemDefault.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            The window to parent the dialog against, and, if a web handler
            is chosen, it is loaded in this window as well.  See
            nsIHandlerApp.launchWithURI for more details.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetPreferredActionAttribute">
            <summary>
            preferredAction is how the user specified they would like to handle
            this content type: save to disk, use specified helper app, use OS
            default handler or handle using navigator; possible value constants
            listed below
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIHandlerInfo.GetAlwaysAskBeforeHandlingAttribute">
            <summary>
            alwaysAskBeforeHandling: if true, we should always give the user a
            dialog asking how to dispose of this content.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMIMEInfo">
            <summary>
            nsIMIMEInfo extends nsIHandlerInfo with a bunch of information specific to
            MIME content-types. There is a one-to-many relationship between MIME types
            and file extensions. This means that a MIMEInfo object may have multiple
            file extensions associated with it.  However, the reverse is not true.
            
            MIMEInfo objects are generally retrieved from the MIME Service
            </summary>
            <remarks>
            See nsIMIMEService
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The type of this handler info.  For MIME handlers, this is the MIME type.
            For protocol handlers, it&apos;s the scheme.
            </summary>
            <returns>
            String representing the type.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            A human readable description of the handler type
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetPreferredApplicationHandlerAttribute">
            <summary>
            The application the user has said they want associated with this content
            type. This is not always guaranteed to be set!!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetPossibleApplicationHandlersAttribute">
            <summary>
            Applications that can handle this content type.
            
            The list will include the preferred handler, if any.  Elements of this
            array are nsIHandlerApp objects, and this attribute will always reference
            an array, whether or not there are any possible handlers.  If there are
            no possible handlers, the array will contain no elements, so just check
            its length (nsIArray::length) to see if there are any possible handlers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetHasDefaultHandlerAttribute">
            <summary>
            Indicates whether a default application handler exists,
            i.e. whether launchWithFile with action = useSystemDefault is possible
            and defaultDescription will contain usable information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetDefaultDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            A pretty name description of the associated default application. Only
            usable if hasDefaultHandler is true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI, in a way that
            depends on the value of preferredAction. preferredAction must be
            useHelperApp or useSystemDefault.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            The window to parent the dialog against, and, if a web handler
            is chosen, it is loaded in this window as well.  See
            nsIHandlerApp.launchWithURI for more details.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetPreferredActionAttribute">
            <summary>
            preferredAction is how the user specified they would like to handle
            this content type: save to disk, use specified helper app, use OS
            default handler or handle using navigator; possible value constants
            listed below
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetAlwaysAskBeforeHandlingAttribute">
            <summary>
            alwaysAskBeforeHandling: if true, we should always give the user a
            dialog asking how to dispose of this content.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetFileExtensions">
            <summary>
            Gives you an array of file types associated with this type.
            </summary>
            <returns>
            Array of extensions.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.SetFileExtensions(Gecko.nsAUTF8StringBase)">
            <summary>
            Set File Extensions. Input is a comma delimited list of extensions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.ExtensionExists(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns whether or not the given extension is
            associated with this MIME info.
            </summary>
            <returns>
            TRUE if the association exists.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.AppendExtension(Gecko.nsAUTF8StringBase)">
            <summary>
            Append a given extension to the set of extensions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetPrimaryExtensionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the first extension association in
            the internal set of extensions.
            </summary>
            <returns>
            The first extension.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetMIMETypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The MIME type of this MIMEInfo.
            </summary>
            <returns>
            String representing the MIME type.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.Equals(Gecko.Interfaces.nsIMIMEInfo)">
            <summary>
            Returns whether or not these two nsIMIMEInfos are logically
            equivalent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.GetPossibleLocalHandlersAttribute">
            <summary>
            Returns a list of nsILocalHandlerApp objects containing
            handlers associated with this mimeinfo. Implemented per
            platform using information in this object to generate the
            best list. Typically used for an &quot;open with&quot; style user
            option.
            </summary>
            <returns>
            nsIArray of nsILocalHandlerApp
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInfo.LaunchWithFile(Gecko.Interfaces.nsIFile)">
            <summary>
            Launches the application with the specified file, in a way that
            depends on the value of preferredAction. preferredAction must be
            useHelperApp or useSystemDefault.
            </summary>
            <param name="aFile">
            The file to launch this application with.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsILocalHandlerApp">
            <summary>
            nsILocalHandlerApp is a local OS-level executable
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Human readable name for the handler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.GetDetailedDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            Detailed description for this handler. Suitable for
            a tooltip or short informative sentence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.Equals(Gecko.Interfaces.nsIHandlerApp)">
            <summary>
            Whether or not the given handler app is logically equivalent to the
            invokant (i.e. they represent the same app).
            
            Two apps are the same if they are both either local or web handlers
            and their executables/URI templates and command line parameters are
            the same.
            </summary>
            <param name="aHandlerApp">
            the handler app to compare to the invokant
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            Currently only relevant to web-handler apps.  If given, this
            represents the docshell to load the handler in and is passed
            through to nsIURILoader.openURI.  If this parameter is null or
            not present, the web handler app implementation will attempt to
            find/create a place to load the handler and do so.  As of this
            writing, it tries to load the web handler in a new window using
            nsIBrowserDOMWindow.openURI.  In the future, it may attempt to
            have a more comprehensive strategy which could include handing
            off to the system default browser (bug 394479).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.GetExecutableAttribute">
            <summary>
            Pointer to the executable file used to handle content
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.GetParameterCountAttribute">
            <summary>
            Returns the current number of command line parameters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.ClearParameters">
            <summary>
            Clears the current list of command line parameters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.AppendParameter(Gecko.nsAStringBase)">
            <summary>
            Appends a command line parameter to the command line
            parameter list.
            </summary>
            <param name="param">
            the parameter to add.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.GetParameter(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Retrieves a specific command line parameter.
            </summary>
            <param name="param">
            the index of the parameter to return.
            </param>
            <returns>
            the parameter string.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsILocalHandlerApp.ParameterExists(Gecko.nsAStringBase)">
            <summary>
            Checks to see if a parameter exists in the command line
            parameter list.
            </summary>
            <param name="param">
            the parameter to search for.
            </param>
            <returns>
            TRUE if the parameter exists in the current list.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebHandlerApp">
            <summary>
            nsIWebHandlerApp is a web-based handler, as speced by the WhatWG HTML5
            draft.  Currently, only GET-based handlers are supported.  At some point,
            we probably want to work with WhatWG to spec out and implement POST-based
            handlers as well.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebHandlerApp.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Human readable name for the handler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebHandlerApp.GetDetailedDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            Detailed description for this handler. Suitable for
            a tooltip or short informative sentence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebHandlerApp.Equals(Gecko.Interfaces.nsIHandlerApp)">
            <summary>
            Whether or not the given handler app is logically equivalent to the
            invokant (i.e. they represent the same app).
            
            Two apps are the same if they are both either local or web handlers
            and their executables/URI templates and command line parameters are
            the same.
            </summary>
            <param name="aHandlerApp">
            the handler app to compare to the invokant
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebHandlerApp.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            Currently only relevant to web-handler apps.  If given, this
            represents the docshell to load the handler in and is passed
            through to nsIURILoader.openURI.  If this parameter is null or
            not present, the web handler app implementation will attempt to
            find/create a place to load the handler and do so.  As of this
            writing, it tries to load the web handler in a new window using
            nsIBrowserDOMWindow.openURI.  In the future, it may attempt to
            have a more comprehensive strategy which could include handing
            off to the system default browser (bug 394479).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebHandlerApp.GetUriTemplateAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Template used to construct the URI to GET.  Template is expected to have
            a %s in it, and the escaped URI to be handled is inserted in place of
            that %s, as per the HTML5 spec.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIDBusHandlerApp">
            <summary>
            nsIDBusHandlerApp represents local applications launched by DBus a message
            invoking a method taking a single string argument descibing a URI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Human readable name for the handler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.GetDetailedDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            Detailed description for this handler. Suitable for
            a tooltip or short informative sentence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.Equals(Gecko.Interfaces.nsIHandlerApp)">
            <summary>
            Whether or not the given handler app is logically equivalent to the
            invokant (i.e. they represent the same app).
            
            Two apps are the same if they are both either local or web handlers
            and their executables/URI templates and command line parameters are
            the same.
            </summary>
            <param name="aHandlerApp">
            the handler app to compare to the invokant
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            Currently only relevant to web-handler apps.  If given, this
            represents the docshell to load the handler in and is passed
            through to nsIURILoader.openURI.  If this parameter is null or
            not present, the web handler app implementation will attempt to
            find/create a place to load the handler and do so.  As of this
            writing, it tries to load the web handler in a new window using
            nsIBrowserDOMWindow.openURI.  In the future, it may attempt to
            have a more comprehensive strategy which could include handing
            off to the system default browser (bug 394479).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.GetServiceAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Service defines the dbus service that should handle this protocol.
            If its not set,  NS_ERROR_FAILURE will be returned by LaunchWithURI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.GetObjectPathAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Objpath defines the object path of the dbus service that should handle
            this protocol. If its not set,  NS_ERROR_FAILURE will be returned
            by LaunchWithURI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.GetDBusInterfaceAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            DBusInterface defines the interface of the dbus service that should
            handle this protocol. If its not set,  NS_ERROR_FAILURE will be
            returned by LaunchWithURI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIDBusHandlerApp.GetMethodAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Method defines the dbus method that should be invoked to handle this
            protocol. If its not set,  NS_ERROR_FAILURE will be returned by
            LaunchWithURI
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMIMEInputStream">
            <summary>
            The MIME stream separates headers and a datastream. It also allows
            automatic creation of the content-length header.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.GetAddContentLengthAttribute">
            <summary>
            When true a &quot;Content-Length&quot; header is automatically added to the
            stream. The value of the content-length is automatically calculated
            using the available() method on the data stream. The value is
            recalculated every time the stream is rewinded to the start.
            Not allowed to be changed once the stream has been started to be read.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.AddHeader(System.String,System.String)">
            <summary>
            Adds an additional header to the stream on the form &quot;name: value&quot;. May
            not be called once the stream has been started to be read.
            </summary>
            <param name="name">
            name of the header
            </param>
            <param name="value">
            value of the header
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.SetData(Gecko.Interfaces.nsIInputStream)">
            <summary>
            Sets data-stream. May not be called once the stream has been started
            to be read.
            The cursor of the new stream should be located at the beginning of the
            stream if the implementation of the nsIMIMEInputStream also is used as
            an nsISeekableStream.
            </summary>
            <param name="stream">
            stream containing the data for the stream
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEInputStream.GetDataAttribute">
            <summary>
            Get the wrapped data stream
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMIMEService">
            <summary>
            The MIME service is responsible for mapping file extensions to MIME-types
            (see RFC 2045). It also provides access to nsIMIMEInfo interfaces and
            acts as a general convenience wrapper of nsIMIMEInfo interfaces.
            
            The MIME service maintains a database with a &lt;b&gt;one&lt;/b&gt; MIME type &lt;b&gt;to many&lt;/b&gt;
            file extensions rule. Adding the same file extension to multiple MIME types
            is illegal and behavior is undefined.
            </summary>
            <remarks>
            See nsIMIMEInfo
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEService.GetFromTypeAndExtension(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Retrieves an nsIMIMEInfo using both the extension
            and the type of a file. The type is given preference
            during the lookup. One of aMIMEType and aFileExt
            can be an empty string. At least one of aMIMEType and aFileExt
            must be nonempty.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEService.GetTypeFromExtension(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase)">
            <summary>
            Retrieves a ACString representation of the MIME type
            associated with this file extension.
            </summary>
            <param name="A">
            file extension (excluding the dot (&apos;.&apos;)).
            </param>
            <returns>
            The MIME type, if any.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEService.GetTypeFromURI(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase)">
            <summary>
            Retrieves a ACString representation of the MIME type
            associated with this URI. The association is purely
            file extension to MIME type based. No attempt to determine
            the type via server headers or byte scanning is made.
            </summary>
            <param name="The">
            URI the user wants MIME info on.
            </param>
            <returns>
            The MIME type, if any.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMIMEService.GetPrimaryExtension(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Given a Type/Extension combination, returns the default extension
            for this type. This may be identical to the passed-in extension.
            </summary>
            <param name="aMIMEType">
            The Type to get information on. Must not be empty.
            </param>
            <param name="aFileExt">
            File Extension. Can be empty.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIModule">
            <summary>
            The nsIModule interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIModule.GetClassObject(Gecko.Interfaces.nsIComponentManager,System.Guid@,System.Guid@)">
            <summary>
            Object Instance Creation
            
            Obtains a Class Object from a nsIModule for a given CID and IID pair.
            This class object can either be query to a nsIFactory or a may be
            query to a nsIClassInfo.
            </summary>
            <param name="aCompMgr">
            : The global component manager
            </param>
            <param name="aClass">
            : ClassID of object instance requested
            </param>
            <param name="aIID">
            : IID of interface requested
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIModule.RegisterSelf(Gecko.Interfaces.nsIComponentManager,Gecko.Interfaces.nsIFile,System.String,System.String)">
            <summary>
            One time registration callback
            
            When the nsIModule is discovered, this method will be
            called so that any setup registration can be preformed.
            </summary>
            <param name="aCompMgr">
            : The global component manager
            </param>
            <param name="aLocation">
            : The location of the nsIModule on disk
            </param>
            <param name="aLoaderStr:">
            Opaque loader specific string
            </param>
            <param name="aType">
            : Loader Type being used to load this module
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIModule.UnregisterSelf(Gecko.Interfaces.nsIComponentManager,Gecko.Interfaces.nsIFile,System.String)">
            <summary>
            One time unregistration callback
            
            When the nsIModule is being unregistered, this method will be
            called so that any unregistration can be preformed
            </summary>
            <param name="aCompMgr">
            : The global component manager
            </param>
            <param name="aLocation">
            : The location of the nsIModule on disk
            </param>
            <param name="aLoaderStr">
            : Opaque loader specific string
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIModule.CanUnload(Gecko.Interfaces.nsIComponentManager)">
            <summary>
            Module load management
            </summary>
            <param name="aCompMgr">
            : The global component manager
            </param>
            <returns>
            indicates to the caller if the module can be unloaded.
            Returning PR_TRUE isn&apos;t a guarantee that the module will be
            unloaded. It constitues only willingness of the module to be
            unloaded.  It is very important to ensure that no outstanding
            references to the module&apos;s code/data exist before returning
            PR_TRUE.
            Returning PR_FALSE guaratees that the module won&apos;t be unloaded.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.GetMozbrowserAttribute">
            <summary>
            &lt;iframe&gt; element may have the mozbrowser attribute.
            
            The mozbrowser attribute has no effect unless the &lt;iframe&gt; element is
            contained in a document privileged to create browser frames.
            
            An &lt;iframe&gt; element in a privileged document with the mozbrowser attribute
            emits a variety of events when various things happen inside the frame.
            
            This will be documented eventually, but for more information at the moment,
            see dom/browser-element/BrowserElement{Child,Parent}.js.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.GetReallyIsBrowserOrAppAttribute">
            <summary>
            Gets whether this frame really is a browser or app frame.
            
            In order to really be a browser frame, this frame&apos;s
            nsIDOMMozBrowserFrame::mozbrowser attribute must be true, and the frame
            may have to pass various security checks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.GetReallyIsAppAttribute">
            <summary>
            Gets whether this frame really is an app frame.
            
            In order to really be an app frame, this frame must really be a browser
            frame (this requirement will go away eventually), and  the frame&apos;s mozapp
            attribute must point to the manifest of a valid app.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.GetIsolatedAttribute">
            <summary>
            Gets whether this frame is an isolated frame.
            
            By default, browser frames are isolated, meaning they have a principal
            where OriginAttributes.mIsInIsolatedMozBrowser == true.  This isolates
            storage and other origin related items from non-browser apps, xul:browsers,
            etc.
            
            Isolation can be disabled by setting the frame&apos;s isolated attribute to
            false.  Disabling isolation is only allowed if the containing document has
            browser permission (or equivalent access).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.GetAppManifestURLAttribute(Gecko.nsAStringBase)">
            <summary>
            Gets this frame&apos;s app manifest URL, if the frame really is an app frame.
            Otherwise, returns the empty string.
            
            This method is guaranteed not to fail.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.DisallowCreateFrameLoader">
            <summary>
            Normally, a frame tries to create its frame loader when its src is
            modified, or its contentWindow is accessed.
            
            disallowCreateFrameLoader prevents the frame element from creating its
            frame loader (in the same way that not being inside a document prevents the
            creation of a frame loader).  allowCreateFrameLoader lifts this restriction.
            
            These methods are not re-entrant -- it is an error to call
            disallowCreateFrameLoader twice without first calling allowFrameLoader.
            
            It&apos;s also an error to call either method if we already have a frame loader.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.CreateRemoteFrameLoader(Gecko.Interfaces.nsITabParent)">
            <summary>
            Create a remote (i.e., out-of-process) frame loader attached to the given
            tab parent.
            
            It is an error to call this method if we already have a frame loader.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.InitializeBrowserAPI">
            <summary>
            Initialize the API, and add frame message listener that supports API
            invocations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMozBrowserFrame.DestroyBrowserFrameScripts">
            <summary>
            Notify frame scripts that support the API to destroy.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMultiPartChannel">
            <summary>
            An interface to access the the base channel
            associated with a MultiPartChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiPartChannel.GetBaseChannelAttribute">
            <summary>
            readonly attribute to access the underlying channel
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiPartChannel.GetPartIDAttribute">
            <summary>
            Attribute guaranteed to be different for different parts of
            the same multipart document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiPartChannel.GetIsLastPartAttribute">
            <summary>
            Set to true when onStopRequest is received from the base channel.
            The listener can check this from its onStopRequest to determine
            whether more data can be expected.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMultiplexInputStream">
            <summary>
            The multiplex stream concatenates a list of input streams into a single
            stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.GetCountAttribute">
            <summary>
            Number of streams in this multiplex-stream
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.AppendStream(Gecko.Interfaces.nsIInputStream)">
            <summary>
            Appends a stream to the end of the streams. The cursor of the stream
            should be located at the beginning of the stream if the implementation
            of this nsIMultiplexInputStream also is used as an nsISeekableStream.
            </summary>
            <param name="stream">
            stream to append
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.InsertStream(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Insert a stream at specified index.  If the cursor of this stream is at
            the beginning of the stream at index, the cursor will be placed at the
            beginning of the inserted stream instead.
            The cursor of the new stream should be located at the beginning of the
            stream if the implementation of this nsIMultiplexInputStream also is
            used as an nsISeekableStream.
            </summary>
            <param name="stream">
            stream to insert
            </param>
            <param name="index">
            index to insert stream at, must be &lt;= count
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.RemoveStream(System.UInt32)">
            <summary>
            Remove stream at specified index. If this stream is the one currently
            being read the readcursor is moved to the beginning of the next
            stream
            </summary>
            <param name="index">
            remove stream at this index, must be &lt; count
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMultiplexInputStream.GetStream(System.UInt32)">
            <summary>
            Get stream at specified index.
            </summary>
            <param name="index">
            return stream at this index, must be &lt; count
            </param>
            <returns>
            stream at specified index
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIMutable">
            <summary>
            nsIMutable defines an interface to be implemented by objects which
            can be made immutable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutable.GetMutableAttribute">
            <summary>
            Control whether or not this object can be modified.  If the flag is
            false, no modification is allowed.  Once the flag has been set to false,
            it cannot be reset back to true -- attempts to do so throw
            NS_ERROR_INVALID_ARG.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIMutableArray">
            <summary>
            nsIMutableArray
            A separate set of methods that will act on the array. Consumers of
            nsIArray should not QueryInterface to nsIMutableArray unless they
            own the array.
            
            As above, it is legal to add null elements to the array. Note also
            that null elements can be created as a side effect of
            insertElementAt(). Conversely, if insertElementAt() is never used,
            and null elements are never explicitly added to the array, then it
            is guaranteed that queryElementAt() will never return a null value.
            
            Any of these methods may throw NS_ERROR_OUT_OF_MEMORY when the
            array must grow to complete the call, but the allocation fails.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.GetLengthAttribute">
            <summary>
            length
            
            number of elements in the array.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.QueryElementAt(System.UInt32,System.Guid@)">
            <summary>
            queryElementAt()
            
            Retrieve a specific element of the array, and QueryInterface it
            to the specified interface. null is a valid result for
            this method, but exceptions are thrown in other circumstances
            </summary>
            <param name="index">
            position of element
            </param>
            <param name="uuid">
            the IID of the requested interface
            </param>
            <param name="result">
            the object, QI'd to the requested interface
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NO_INTERFACE: when an entry exists at the
            specified index, but the requested interface is not
            available.
            NS_ERROR_ILLEGAL_VALUE: when index &gt; length-1
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.IndexOf(System.UInt32,Gecko.Interfaces.nsISupports)">
            <summary>
            indexOf()
            
            Get the position of a specific element. Note that since null is
            a valid input, exceptions are used to indicate that an element
            is not found.
            </summary>
            <param name="startIndex">
            The initial element to search in the array
            To start at the beginning, use 0 as the
            startIndex
            </param>
            <param name="element">
            The element you are looking for
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the element was not in the array.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.Enumerate">
            <summary>
            enumerate the array
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the array is empty (to make it easy
            to detect errors), or NS_ERROR_OUT_OF_MEMORY if out of memory.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.Count">
            <summary>
            Count()
            
            Retrieves the length of the array. This is an alias for the
            |nsIArray.length| attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.GetElementAt(System.UInt32)">
            <summary>
            GetElementAt()
            
            Retrieve a specific element of the array. null is a valid result for
            this method.
            
            Note: If the index is out of bounds null will be returned.
            This differs from the behavior of nsIArray.queryElementAt() which
            will throw if an invalid index is specified.
            </summary>
            <param name="index">
            position of element
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.AppendElement(Gecko.Interfaces.nsISupports,System.Boolean)">
            <summary>
            appendElement()
            
            Append an element at the end of the array.
            </summary>
            <param name="element">
            The element to append.
            </param>
            <param name="weak">
            Whether or not to store the element using a weak
            reference.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: when a weak reference is requested,
            but the element does not support
            nsIWeakReference.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.RemoveElementAt(System.UInt32)">
            <summary>
            removeElementAt()
            
            Remove an element at a specific position, moving all elements
            stored at a higher position down one.
            To remove a specific element, use indexOf() to find the index
            first, then call removeElementAt().
            </summary>
            <param name="index">
            the position of the item
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.InsertElementAt(Gecko.Interfaces.nsISupports,System.UInt32,System.Boolean)">
            <summary>
            insertElementAt()
            
            Insert an element at the given position, moving the element
            currently located in that position, and all elements in higher
            position, up by one.
            </summary>
            <param name="element">
            The element to insert
            </param>
            <param name="index">
            The position in the array:
            If the position is lower than the current length
            of the array, the elements at that position and
            onwards are bumped one position up.
            If the position is equal to the current length
            of the array, the new element is appended.
            An index lower than 0 or higher than the current
            length of the array is invalid and will be ignored.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: when a weak reference is requested,
            but the element does not support
            nsIWeakReference.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.ReplaceElementAt(Gecko.Interfaces.nsISupports,System.UInt32,System.Boolean)">
            <summary>
            replaceElementAt()
            
            Replace the element at the given position.
            </summary>
            <param name="element">
            The new element to insert
            </param>
            <param name="index">
            The position in the array
            If the position is lower than the current length
            of the array, an existing element will be replaced.
            If the position is equal to the current length
            of the array, the new element is appended.
            If the position is higher than the current length
            of the array, empty elements are appended followed
            by the new element at the specified position.
            An index lower than 0 is invalid and will be ignored.
            </param>
            <param name="weak">
            Whether or not to store the new element using a weak
            reference.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: when a weak reference is requested,
            but the element does not support
            nsIWeakReference.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIMutableArray.Clear">
            <summary>
            clear()
            
            clear the entire array, releasing all stored objects
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeFileWatcherErrorCallback">
            <summary>
            The interface for the callback invoked when there is an error.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeFileWatcherErrorCallback.Complete(System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="xpcomError">
            The XPCOM error code.
            </param>
            <param name="osError">
            The native OS error (errno under Unix, GetLastError under Windows).
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeFileWatcherCallback">
            <summary>
            The interface for the callback invoked when a change on a watched
            resource is detected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeFileWatcherCallback.Changed(Gecko.nsAStringBase,System.Int32)">
            <summary>
            
            </summary>
            <param name="resourcePath">
            The path of the changed resource. If there were too many changes,
            the string &quot;*&quot; is passed.
            </param>
            <param name="flags">
            Reserved for future uses, not currently used.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeFileWatcherSuccessCallback">
            <summary>
            The interface for the callback invoked when a file watcher operation
            successfully completes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeFileWatcherSuccessCallback.Complete(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="resourcePath">
            The path of the resource for which the operation completes.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeFileWatcherService">
            <summary>
            A service providing native implementations of path changes notification.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeFileWatcherService.AddPath(Gecko.nsAStringBase,Gecko.Interfaces.nsINativeFileWatcherCallback,Gecko.Interfaces.nsINativeFileWatcherErrorCallback,Gecko.Interfaces.nsINativeFileWatcherSuccessCallback)">
            <summary>
            Watches the passed path for changes. If it&apos;s a directory, every file
            it contains is watched. Recursively watches subdirectories. If the
            resource is already being watched, does nothing. If the passed path
            is a file, the behaviour is not specified.
            </summary>
            <param name="pathToWatch">
            The path to watch for changes.
            </param>
            <param name="onChange">
            The callback invoked whenever a change on a watched
            resource is detected.
            </param>
            <param name="onError">
            The optional callback invoked whenever an error occurs.
            </param>
            <param name="onSuccess">
            The optional callback invoked when the file watcher starts
            watching the resource for changes.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeFileWatcherService.RemovePath(Gecko.nsAStringBase,Gecko.Interfaces.nsINativeFileWatcherCallback,Gecko.Interfaces.nsINativeFileWatcherErrorCallback,Gecko.Interfaces.nsINativeFileWatcherSuccessCallback)">
            <summary>
            Removes the provided path from the watched resources. If the path
            was not being watched or the callbacks were not registered, silently
            ignores the request.
            Please note that the file watcher only considers the onChange callbacks
            when deciding to close a watch on a resource. If there are no more onChange
            callbacks associated to the watch, it gets closed (even though it still has
            some error callbacks associated).
            </summary>
            <param name="pathToUnwatch">
            The path to un-watch.
            </param>
            <param name="onChange">
            The registered callback invoked whenever a change on a watched
            resource is detected.
            </param>
            <param name="onError">
            The optionally registered callback invoked whenever an error
            occurs.
            </param>
            <param name="onSuccess">
            The optional callback invoked when the file watcher stops
            watching the resource for changes.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeOSFileResult">
            <summary>
            The result of a successful asynchronous operation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeOSFileResult.GetResultAttribute(System.IntPtr)">
            <summary>
            The actual value produced by the operation.
            
            Actual type of this value depends on the options passed to the
            operation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeOSFileResult.GetDispatchDurationMSAttribute">
            <summary>
            Delay between when the operation was requested on the main thread and
            when the operation was started off main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeOSFileResult.GetExecutionDurationMSAttribute">
            <summary>
            Duration of the off main thread execution.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeOSFileSuccessCallback">
            <summary>
            A callback invoked in case of success.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeOSFileErrorCallback">
            <summary>
            A callback invoked in case of error.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeOSFileErrorCallback.Complete(Gecko.nsACStringBase,System.Int32)">
            <summary>
            
            </summary>
            <param name="operation">
            The name of the failed operation. Provided to aid
            debugging only, may change without notice.
            </param>
            <param name="OSstatus">
            The OS status of the operation (errno under Unix,
            GetLastError under Windows).
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeOSFileInternalsService">
            <summary>
            A service providing native implementations of some of the features
            of OS.File.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeOSFileInternalsService.Read(Gecko.nsAStringBase,SpiderMonkey.JSVal@,Gecko.Interfaces.nsINativeOSFileSuccessCallback,Gecko.Interfaces.nsINativeOSFileErrorCallback,System.IntPtr)">
            <summary>
            Implementation of OS.File.read
            </summary>
            <param name="path">
            The absolute path to the file to read.
            </param>
            <param name="options">
            An object that may contain some of the following fields
            - {number} bytes The maximal number of bytes to read.
            - {string} encoding If provided, return the result as a string, decoded
            using this encoding. Otherwise, pass the result as an ArrayBuffer.
            Invalid encodings cause onError to be called with the platform-specific
            &quot;invalid argument&quot; constant.
            - {string} compression Unimplemented at the moment.
            </param>
            <param name="onSuccess">
            The success callback.
            </param>
            <param name="onError">
            The error callback.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINavBookmarkObserver">
            <summary>
            Observer for bookmarks changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarkObserver.OnBeginUpdateBatch">
            <summary>
            Notifies that a batch transaction has started.
            Other notifications will be sent during the batch, but the observer is
            guaranteed that onEndUpdateBatch() will be called at its completion.
            During a batch the observer should do its best to reduce the work done to
            handle notifications, since multiple changes are going to happen in a short
            timeframe.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarkObserver.OnEndUpdateBatch">
            <summary>
            Notifies that a batch transaction has ended.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarkObserver.OnItemAdded(System.Int64,System.Int64,System.Int32,System.UInt16,Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase,System.UInt64,Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt16)">
            <summary>
            Notifies that an item (any type) was added.  Called after the actual
            addition took place.
            When a new item is created, all the items following it in the same folder
            will have their index shifted down, but no additional notifications will
            be sent.
            </summary>
            <param name="aItemId">
            The id of the item that was added.
            </param>
            <param name="aParentId">
            The id of the folder to which the item was added.
            </param>
            <param name="aIndex">
            The item&apos;s index in the folder.
            </param>
            <param name="aItemType">
            The type of the added item (see TYPE_* constants below).
            </param>
            <param name="aURI">
            The URI of the added item if it was TYPE_BOOKMARK, null otherwise.
            </param>
            <param name="aTitle">
            The title of the added item.
            </param>
            <param name="aDateAdded">
            The stored date added value, in microseconds from the epoch.
            </param>
            <param name="aGuid">
            The unique ID associated with the item.
            </param>
            <param name="aParentGuid">
            The unique ID associated with the item&apos;s parent.
            </param>
            <param name="aSource">
            A change source constant from nsINavBookmarksService::SOURCE_*,
            passed to the method that notifies the observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarkObserver.OnItemRemoved(System.Int64,System.Int64,System.Int32,System.UInt16,Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt16)">
            <summary>
            Notifies that an item was removed.  Called after the actual remove took
            place.
            When an item is removed, all the items following it in the same folder
            will have their index shifted down, but no additional notifications will
            be sent.
            </summary>
            <param name="aItemId">
            The id of the item that was removed.
            </param>
            <param name="aParentId">
            The id of the folder from which the item was removed.
            </param>
            <param name="aIndex">
            The bookmark&apos;s index in the folder.
            </param>
            <param name="aItemType">
            The type of the item to be removed (see TYPE_* constants below).
            </param>
            <param name="aURI">
            The URI of the added item if it was TYPE_BOOKMARK, null otherwise.
            </param>
            <param name="aGuid">
            The unique ID associated with the item.
            </param>
            <param name="aParentGuid">
            The unique ID associated with the item&apos;s parent.
            </param>
            <param name="aSource">
            A change source constant from nsINavBookmarksService::SOURCE_*,
            passed to the method that notifies the observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarkObserver.OnItemChanged(System.Int64,Gecko.nsACStringBase,System.Boolean,Gecko.nsAUTF8StringBase,System.UInt64,System.UInt16,System.Int64,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.UInt16)">
            <summary>
            Notifies that an item&apos;s information has changed.  This will be called
            whenever any attributes like &quot;title&quot; are changed.
            </summary>
            <param name="aItemId">
            The id of the item that was changed.
            </param>
            <param name="aProperty">
            The property which changed.  Can be null for the removal of all of
            the annotations, in this case aIsAnnotationProperty is true.
            </param>
            <param name="aIsAnnotationProperty">
            Whether or not aProperty is the name of an annotation.  If true
            aNewValue is always an empty string.
            </param>
            <param name="aNewValue">
            For certain properties, this is set to the new value of the
            property (see the list below).
            </param>
            <param name="aLastModified">
            The updated last-modified value.
            </param>
            <param name="aItemType">
            The type of the item to be removed (see TYPE_* constants below).
            </param>
            <param name="aParentId">
            The id of the folder containing the item.
            </param>
            <param name="aGuid">
            The unique ID associated with the item.
            </param>
            <param name="aParentGuid">
            The unique ID associated with the item&apos;s parent.
            </param>
            <param name="aOldValue">
            For certain properties, this is set to the new value of the
            property (see the list below).
            </param>
            <param name="aSource">
            A change source constant from nsINavBookmarksService::SOURCE_*,
            passed to the method that notifies the observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarkObserver.OnItemVisited(System.Int64,System.Int64,System.UInt64,System.UInt32,Gecko.Interfaces.nsIURI,System.Int64,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Notifies that the item was visited.  Can be invoked only for TYPE_BOOKMARK
            items.
            </summary>
            <param name="aItemId">
            The id of the bookmark that was visited.
            </param>
            <param name="aVisitId">
            The id of the visit.
            </param>
            <param name="aTime">
            The time of the visit.
            </param>
            <param name="aTransitionType">
            The transition for the visit.  See nsINavHistoryService::TRANSITION_
            constants for a list of possible values.
            </param>
            <param name="aURI">
            The nsIURI for this bookmark.
            </param>
            <param name="aParentId">
            The id of the folder containing the item.
            </param>
            <param name="aGuid">
            The unique ID associated with the item.
            </param>
            <param name="aParentGuid">
            The unique ID associated with the item&apos;s parent.
            </param>
            <remarks>
            See onItemChanged with property = &quot;cleartime&quot; for when all visits to an
            item are removed.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarkObserver.OnItemMoved(System.Int64,System.Int64,System.Int32,System.Int64,System.Int32,System.UInt16,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt16)">
            <summary>
            Notifies that an item has been moved.
            </summary>
            <param name="aItemId">
            The id of the item that was moved.
            </param>
            <param name="aOldParentId">
            The id of the old parent.
            </param>
            <param name="aOldIndex">
            The old index inside the old parent.
            </param>
            <param name="aNewParentId">
            The id of the new parent.
            </param>
            <param name="aNewIndex">
            The index inside the new parent.
            </param>
            <param name="aItemType">
            The type of the item to be removed (see TYPE_* constants below).
            </param>
            <param name="aGuid">
            The unique ID associated with the item.
            </param>
            <param name="aOldParentGuid">
            The unique ID associated with the old item&apos;s parent.
            </param>
            <param name="aNewParentGuid">
            The unique ID associated with the new item&apos;s parent.
            </param>
            <param name="aSource">
            A change source constant from nsINavBookmarksService::SOURCE_*,
            passed to the method that notifies the observer.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINavBookmarksService">
            <summary>
            The BookmarksService interface provides methods for managing bookmarked
            history items.  Bookmarks consist of a set of user-customizable
            folders.  A URI in history can be contained in one or more such folders.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetPlacesRootAttribute">
            <summary>
            The item ID of the Places root.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetBookmarksMenuFolderAttribute">
            <summary>
            The item ID of the bookmarks menu folder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetTagsFolderAttribute">
            <summary>
            The item ID of the top-level folder that contain the tag &quot;folders&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetUnfiledBookmarksFolderAttribute">
            <summary>
            The item ID of the unfiled-bookmarks folder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetToolbarFolderAttribute">
            <summary>
            The item ID of the personal toolbar folder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetMobileFolderAttribute">
            <summary>
            The item ID of the mobile bookmarks folder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.InsertBookmark(System.Int64,Gecko.Interfaces.nsIURI,System.Int32,Gecko.nsAUTF8StringBase,Gecko.nsACStringBase,System.UInt16)">
            <summary>
            Inserts a child bookmark into the given folder.
            </summary>
            <param name="aParentId">
            The id of the parent folder
            </param>
            <param name="aURI">
            The URI to insert
            </param>
            <param name="aIndex">
            The index to insert at, or DEFAULT_INDEX to append
            </param>
            <param name="aTitle">
            The title for the new bookmark
            </param>
            <param name="[optional]">
            aSource
            The change source. This is forwarded to all bookmark observers,
            allowing them to distinguish between insertions from different
            callers. Defaults to SOURCE_DEFAULT if omitted.
            </param>
            <returns>
            The ID of the newly-created bookmark.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: aGuid is malformed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.RemoveItem(System.Int64,System.UInt16)">
            <summary>
            Removes a child item. Used to delete a bookmark or separator.
            </summary>
            <param name="aItemId">
            The child item to remove
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.CreateFolder(System.Int64,Gecko.nsAUTF8StringBase,System.Int32,Gecko.nsACStringBase,System.UInt16)">
            <summary>
            Creates a new child folder and inserts it under the given parent.
            </summary>
            <param name="aParentFolder">
            The id of the parent folder
            </param>
            <param name="aName">
            The name of the new folder
            </param>
            <param name="aIndex">
            The index to insert at, or DEFAULT_INDEX to append
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
            <returns>
            The ID of the newly-inserted folder.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: aGuid is malformed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetRemoveFolderTransaction(System.Int64,System.UInt16)">
            <summary>
            Gets an undo-able transaction for removing a folder from the bookmarks
            tree.
            </summary>
            <param name="aItemId">
            The id of the folder to remove.
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
            <returns>
            An object implementing nsITransaction that can be used to undo
            or redo the action.
            
            This method exists because complex delete-&gt;undo operations rely on
            recreated folders to have the same ID they had before they were deleted,
            so that any other items deleted in different transactions can be
            re-inserted correctly. This provides a safe encapsulation of this
            functionality without exposing the ability to recreate folders with
            specific IDs (potentially dangerous if abused by other code!) in the
            public API.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.RemoveFolderChildren(System.Int64,System.UInt16)">
            <summary>
            Convenience function for container services.  Removes
            all children of the given folder.
            </summary>
            <param name="aItemId">
            The id of the folder to remove children from.
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.MoveItem(System.Int64,System.Int64,System.Int32,System.UInt16)">
            <summary>
            Moves an item to a different container, preserving its contents.
            </summary>
            <param name="aItemId">
            The id of the item to move
            </param>
            <param name="aNewParentId">
            The id of the new parent
            </param>
            <param name="aIndex">
            The index under aNewParent, or DEFAULT_INDEX to append
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            
            NOTE: When moving down in the same container we take into account the
            removal of the original item. If you want to move from index X to
            index Y &gt; X you must use moveItem(id, folder, Y + 1)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.InsertSeparator(System.Int64,System.Int32,Gecko.nsACStringBase,System.UInt16)">
            <summary>
            Inserts a bookmark separator into the given folder at the given index.
            The separator can be removed using removeChildAt().
            </summary>
            <param name="aParentId">
            The id of the parent folder
            </param>
            <param name="aIndex">
            The separator's index under folder, or DEFAULT_INDEX to append
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
            <returns>
            The ID of the new separator.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: aGuid is malformed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetIdForItemAt(System.Int64,System.Int32)">
            <summary>
            Get the itemId given the containing folder and the index.
            </summary>
            <param name="aParentId">
            The id of the diret parent folder of the item
            </param>
            <param name="aIndex">
            The index of the item within the parent folder.
            Pass DEFAULT_INDEX for the last item.
            </param>
            <returns>
            The ID of the found item, -1 if the item does not exists.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.SetItemTitle(System.Int64,Gecko.nsAUTF8StringBase,System.UInt16)">
            <summary>
            Set the title for an item.
            </summary>
            <param name="aItemId">
            The id of the item whose title should be updated.
            </param>
            <param name="aTitle">
            The new title for the bookmark.
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetItemTitle(System.Int64,Gecko.nsAUTF8StringBase)">
            <summary>
            Get the title for an item.
            
            If no item title is available it will return a void string (null in JS).
            </summary>
            <param name="aItemId">
            The id of the item whose title should be retrieved
            </param>
            <returns>
            The title of the item.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.SetItemDateAdded(System.Int64,System.UInt64,System.UInt16)">
            <summary>
            Set the date added time for an item.
            </summary>
            <param name="aItemId">
            the id of the item whose date added time should be updated.
            </param>
            <param name="aDateAdded">
            the new date added value in microseconds.  Note that it is rounded
            down to milliseconds precision.
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetItemDateAdded(System.Int64)">
            <summary>
            Get the date added time for an item.
            </summary>
            <param name="aItemId">
            the id of the item whose date added time should be retrieved.
            </param>
            <returns>
            the date added value in microseconds.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.SetItemLastModified(System.Int64,System.UInt64,System.UInt16)">
            <summary>
            Set the last modified time for an item.
            </summary>
            <param name="aItemId">
            the id of the item whose last modified time should be updated.
            </param>
            <param name="aLastModified">
            the new last modified value in microseconds.  Note that it is
            rounded down to milliseconds precision.
            </param>
            <param name="[optional]">
            aSource
            The change source, forwarded to all bookmark observers. Defaults
            to SOURCE_DEFAULT.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetItemLastModified(System.Int64)">
            <summary>
            Get the last modified time for an item.
            </summary>
            <param name="aItemId">
            the id of the item whose last modified time should be retrieved.
            </param>
            <returns>
            the date added value in microseconds.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetBookmarkURI(System.Int64)">
            <summary>
            Get the URI for a bookmark item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetItemIndex(System.Int64)">
            <summary>
            Get the index for an item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.SetItemIndex(System.Int64,System.Int32,System.UInt16)">
            <summary>
            Changes the index for a item. This method does not change the indices of
            any other items in the same folder, so ensure that the new index does not
            already exist, or change the index of other items accordingly, otherwise
            the indices will become corrupted.
            
            WARNING: This is API is intended for scenarios such as folder sorting,
            where the caller manages the indices of *all* items in the folder.
            You must always ensure each index is unique after a reordering.
            </summary>
            <param name="aItemId">
            The id of the item to modify
            </param>
            <param name="aNewIndex">
            The new index
            </param>
            <param name="aSource">
            The optional change source, forwarded to all bookmark
            observers. Defaults to SOURCE_DEFAULT.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            If: aNewIndex is out of bounds.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetItemType(System.Int64)">
            <summary>
            Get an item&apos;s type (bookmark, separator, folder).
            The type is one of the TYPE_* constants defined above.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.IsBookmarked(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if the given URI is in any bookmark folder. If you want the
            results to be redirect-aware, use getBookmarkedURIFor()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetBookmarkedURIFor(Gecko.Interfaces.nsIURI)">
            <summary>
            Used to see if the given URI is bookmarked, or any page that redirected to
            it is bookmarked. For example, if I bookmark &quot;mozilla.org&quot; by manually
            typing it in, and follow the bookmark, I will get redirected to
            &quot;www.mozilla.org&quot;. Logically, this new page is also bookmarked. This
            function, if given &quot;www.mozilla.org&quot;, will return the URI of the bookmark,
            in this case &quot;mozilla.org&quot;.
            
            If there is no bookmarked page found, it will return NULL.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.ChangeBookmarkURI(System.Int64,Gecko.Interfaces.nsIURI,System.UInt16)">
            <summary>
            Change the bookmarked URI for a bookmark.
            This changes which &quot;place&quot; the bookmark points at,
            which means all annotations, etc are carried along.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetFolderIdForItem(System.Int64)">
            <summary>
            Get the parent folder&apos;s id for an item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetBookmarkIdsForURI(Gecko.Interfaces.nsIURI,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns the list of bookmark ids that contain the given URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.SetKeywordForBookmark(System.Int64,Gecko.nsAStringBase,System.UInt16)">
            <summary>
            Associates the given keyword with the given bookmark.
            
            Use an empty keyword to clear the keyword associated with the URI.
            In both of these cases, succeeds but does nothing if the URL/keyword is not found.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetKeywordForBookmark(System.Int64,Gecko.nsAStringBase)">
            <summary>
            Retrieves the keyword for the given bookmark. Will be void string
            (null in JS) if no such keyword is found.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetURIForKeyword(Gecko.nsAStringBase)">
            <summary>
            Returns the URI associated with the given keyword. Empty if no such
            keyword is found.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.AddObserver(Gecko.Interfaces.nsINavBookmarkObserver,System.Boolean)">
            <summary>
            Adds a bookmark observer. If ownsWeak is false, the bookmark service will
            keep an owning reference to the observer.  If ownsWeak is true, then
            aObserver must implement nsISupportsWeakReference, and the bookmark
            service will keep a weak reference to the observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.RemoveObserver(Gecko.Interfaces.nsINavBookmarkObserver)">
            <summary>
            Removes a bookmark observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.GetObservers(System.UInt32@,System.IntPtr@)">
            <summary>
            Gets an array of registered nsINavBookmarkObserver objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavBookmarksService.RunInBatchMode(Gecko.Interfaces.nsINavHistoryBatchCallback,Gecko.Interfaces.nsISupports)">
            <summary>
            Runs the passed callback inside of a database transaction.
            Use this when a lot of things are about to change, for example
            adding or deleting a large number of bookmark items. Calls can
            be nested. Observers are notified when batches begin and end, via
            nsINavBookmarkObserver.onBeginUpdateBatch/onEndUpdateBatch.
            </summary>
            <param name="aCallback">
            nsINavHistoryBatchCallback interface to call.
            </param>
            <param name="aUserData">
            Opaque parameter passed to nsINavBookmarksBatchCallback
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetParentAttribute">
            <summary>
            Indentifies the parent result node in the result set. This is null for
            top level nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetParentResultAttribute">
            <summary>
            The history-result to which this node belongs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetUriAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            URI of the resource in question. For visits and URLs, this is the URL of
            the page. For folders and queries, this is the place: URI of the
            corresponding folder or query. This may be empty for other types of
            objects like host containers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetTitleAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Title of the web page, or of the node&apos;s query (day, host, folder, etc)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetAccessCountAttribute">
            <summary>
            Total number of times the URI has ever been accessed. For hosts, this
            is the total of the children under it, NOT the total times the host has
            been accessed (this would require an additional query, so is not given
            by default when most of the time it is never needed).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetTimeAttribute">
            <summary>
            This is the time the user accessed the page.
            
            If this is a visit, it is the exact time that the page visit occurred.
            
            If this is a URI, it is the most recent time that the URI was visited.
            Even if you ask for all URIs for a given date range long ago, this might
            contain today&apos;s date if the URI was visited today.
            
            For hosts, or other node types with children, this is the most recent
            access time for any of the children.
            
            For days queries this is the respective endTime - a maximum possible
            visit time to fit in the day range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetIconAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            This URI can be used as an image source URI and will give you the favicon
            for the page. It is *not* the URI of the favicon, but rather something
            that will resolve to the actual image.
            
            In most cases, this is an annotation URI that will query the favicon
            service. If the entry has no favicon, this is the chrome URI of the
            default favicon. If the favicon originally lived in chrome, this will
            be the original chrome URI of the icon.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetIndentLevelAttribute">
            <summary>
            This is the number of levels between this node and the top of the
            hierarchy. The members of result.children have indentLevel = 0, their
            children have indentLevel = 1, etc. The indent level of the root node is
            set to -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetBookmarkIndexAttribute">
            <summary>
            When this item is in a bookmark folder (parent is of type folder), this is
            the index into that folder of this node. These indices start at 0 and
            increase in the order that they appear in the bookmark folder. For items
            that are not in a bookmark folder, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetItemIdAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            row ID of that bookmark in the database. For other nodes, this value is
            set to -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetDateAddedAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            time that the item was created. For other nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetLastModifiedAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            time that the item was last modified. For other nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetTagsAttribute(Gecko.nsAStringBase)">
            <summary>
            For uri nodes, this is a sorted list of the tags, delimited with commans,
            for the uri represented by this node. Otherwise this is an empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetPageGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The unique ID associated with the page. It my return an empty string
            if the result node is a non-URI node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetBookmarkGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The unique ID associated with the bookmark. It returns an empty string
            if the result node is not associated with a bookmark, a folder or a
            separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetVisitIdAttribute">
            <summary>
            The unique ID associated with the history visit. For node types other than
            history visit nodes, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetFromVisitIdAttribute">
            <summary>
            The unique ID associated with visit node which was the referrer of this
            history visit. For node types other than history visit nodes, or visits
            without any known referrer, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultNode.GetVisitTypeAttribute">
            <summary>
            The transition type associated with this visit. For node types other than
            history visit nodes, this value is 0.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryContainerResultNode">
            <summary>
            Base class for container results. This includes all types of groupings.
            Bookmark folders and places queries will be QueryResultNodes which extends
            these items.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetParentAttribute">
            <summary>
            Indentifies the parent result node in the result set. This is null for
            top level nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetParentResultAttribute">
            <summary>
            The history-result to which this node belongs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetUriAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            URI of the resource in question. For visits and URLs, this is the URL of
            the page. For folders and queries, this is the place: URI of the
            corresponding folder or query. This may be empty for other types of
            objects like host containers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetTitleAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Title of the web page, or of the node&apos;s query (day, host, folder, etc)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetAccessCountAttribute">
            <summary>
            Total number of times the URI has ever been accessed. For hosts, this
            is the total of the children under it, NOT the total times the host has
            been accessed (this would require an additional query, so is not given
            by default when most of the time it is never needed).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetTimeAttribute">
            <summary>
            This is the time the user accessed the page.
            
            If this is a visit, it is the exact time that the page visit occurred.
            
            If this is a URI, it is the most recent time that the URI was visited.
            Even if you ask for all URIs for a given date range long ago, this might
            contain today&apos;s date if the URI was visited today.
            
            For hosts, or other node types with children, this is the most recent
            access time for any of the children.
            
            For days queries this is the respective endTime - a maximum possible
            visit time to fit in the day range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetIconAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            This URI can be used as an image source URI and will give you the favicon
            for the page. It is *not* the URI of the favicon, but rather something
            that will resolve to the actual image.
            
            In most cases, this is an annotation URI that will query the favicon
            service. If the entry has no favicon, this is the chrome URI of the
            default favicon. If the favicon originally lived in chrome, this will
            be the original chrome URI of the icon.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetIndentLevelAttribute">
            <summary>
            This is the number of levels between this node and the top of the
            hierarchy. The members of result.children have indentLevel = 0, their
            children have indentLevel = 1, etc. The indent level of the root node is
            set to -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetBookmarkIndexAttribute">
            <summary>
            When this item is in a bookmark folder (parent is of type folder), this is
            the index into that folder of this node. These indices start at 0 and
            increase in the order that they appear in the bookmark folder. For items
            that are not in a bookmark folder, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetItemIdAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            row ID of that bookmark in the database. For other nodes, this value is
            set to -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetDateAddedAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            time that the item was created. For other nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetLastModifiedAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            time that the item was last modified. For other nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetTagsAttribute(Gecko.nsAStringBase)">
            <summary>
            For uri nodes, this is a sorted list of the tags, delimited with commans,
            for the uri represented by this node. Otherwise this is an empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetPageGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The unique ID associated with the page. It my return an empty string
            if the result node is a non-URI node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetBookmarkGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The unique ID associated with the bookmark. It returns an empty string
            if the result node is not associated with a bookmark, a folder or a
            separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetVisitIdAttribute">
            <summary>
            The unique ID associated with the history visit. For node types other than
            history visit nodes, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetFromVisitIdAttribute">
            <summary>
            The unique ID associated with visit node which was the referrer of this
            history visit. For node types other than history visit nodes, or visits
            without any known referrer, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetVisitTypeAttribute">
            <summary>
            The transition type associated with this visit. For node types other than
            history visit nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetContainerOpenAttribute">
            <summary>
            Set this to allow descent into the container. When closed, attempting
            to call getChildren or childCount will result in an error. You should
            set this to false when you are done reading.
            
            For HOST and DAY groupings, doing this is free since the children have
            been precomputed. For queries and bookmark folders, being open means they
            will keep themselves up-to-date by listening for updates and re-querying
            as needed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetStateAttribute">
            <summary>
            Indicates whether the container is closed, loading, or opened.  Loading
            implies that the container has been opened asynchronously and has not yet
            fully opened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetHasChildrenAttribute">
            <summary>
            This indicates whether this node &quot;may&quot; have children, and can be used
            when the container is open or closed. When the container is closed, it
            will give you an exact answer if the node can easily be populated (for
            example, a bookmark folder). If not (for example, a complex history query),
            it will return true. When the container is open, it will always be
            accurate. It is intended to be used to see if we should draw the &quot;+&quot; next
            to a tree item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetChildCountAttribute">
            <summary>
            This gives you the children of the nodes. It is preferrable to use this
            interface over the array one, since it avoids creating an nsIArray object
            and the interface is already the correct type.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if containerOpen is false.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.GetChildIndex(Gecko.Interfaces.nsINavHistoryResultNode)">
            <summary>
            Get the index of a direct child in this container.
            </summary>
            <param name="aNode">
            a result node.
            </param>
            <returns>
            aNode's index in this container.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if containerOpen is false.
            NS_ERROR_INVALID_ARG: if aNode isn't a direct child of this
            container.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryContainerResultNode.FindNodeByDetails(Gecko.nsAUTF8StringBase,System.UInt64,System.Int64,System.Boolean)">
            <summary>
            Look for a node in the container by some of its details.  Does not search
            closed containers.
            </summary>
            <param name="aURI">
            the node's uri attribute value
            </param>
            <param name="aTime">
            the node's time attribute value.
            </param>
            <param name="aItemId">
            the node's itemId attribute value.
            </param>
            <param name="aRecursive">
            whether or not to search recursively.
            </param>
            <returns>
            a result node that matches the given details if any, null
            otherwise.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if this container is closed.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryQueryResultNode">
            <summary>
            Used for places queries and as a base for bookmark folders.
            
            Note that if you request places to *not* be expanded in the options that
            generated this node, this item will report it has no children and never try
            to populate itself.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetParentAttribute">
            <summary>
            Indentifies the parent result node in the result set. This is null for
            top level nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetParentResultAttribute">
            <summary>
            The history-result to which this node belongs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetUriAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            URI of the resource in question. For visits and URLs, this is the URL of
            the page. For folders and queries, this is the place: URI of the
            corresponding folder or query. This may be empty for other types of
            objects like host containers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetTitleAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Title of the web page, or of the node&apos;s query (day, host, folder, etc)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetAccessCountAttribute">
            <summary>
            Total number of times the URI has ever been accessed. For hosts, this
            is the total of the children under it, NOT the total times the host has
            been accessed (this would require an additional query, so is not given
            by default when most of the time it is never needed).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetTimeAttribute">
            <summary>
            This is the time the user accessed the page.
            
            If this is a visit, it is the exact time that the page visit occurred.
            
            If this is a URI, it is the most recent time that the URI was visited.
            Even if you ask for all URIs for a given date range long ago, this might
            contain today&apos;s date if the URI was visited today.
            
            For hosts, or other node types with children, this is the most recent
            access time for any of the children.
            
            For days queries this is the respective endTime - a maximum possible
            visit time to fit in the day range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetIconAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            This URI can be used as an image source URI and will give you the favicon
            for the page. It is *not* the URI of the favicon, but rather something
            that will resolve to the actual image.
            
            In most cases, this is an annotation URI that will query the favicon
            service. If the entry has no favicon, this is the chrome URI of the
            default favicon. If the favicon originally lived in chrome, this will
            be the original chrome URI of the icon.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetIndentLevelAttribute">
            <summary>
            This is the number of levels between this node and the top of the
            hierarchy. The members of result.children have indentLevel = 0, their
            children have indentLevel = 1, etc. The indent level of the root node is
            set to -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetBookmarkIndexAttribute">
            <summary>
            When this item is in a bookmark folder (parent is of type folder), this is
            the index into that folder of this node. These indices start at 0 and
            increase in the order that they appear in the bookmark folder. For items
            that are not in a bookmark folder, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetItemIdAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            row ID of that bookmark in the database. For other nodes, this value is
            set to -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetDateAddedAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            time that the item was created. For other nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetLastModifiedAttribute">
            <summary>
            If the node is an item (bookmark, folder or a separator) this value is the
            time that the item was last modified. For other nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetTagsAttribute(Gecko.nsAStringBase)">
            <summary>
            For uri nodes, this is a sorted list of the tags, delimited with commans,
            for the uri represented by this node. Otherwise this is an empty string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetPageGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The unique ID associated with the page. It my return an empty string
            if the result node is a non-URI node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetBookmarkGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            The unique ID associated with the bookmark. It returns an empty string
            if the result node is not associated with a bookmark, a folder or a
            separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetVisitIdAttribute">
            <summary>
            The unique ID associated with the history visit. For node types other than
            history visit nodes, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetFromVisitIdAttribute">
            <summary>
            The unique ID associated with visit node which was the referrer of this
            history visit. For node types other than history visit nodes, or visits
            without any known referrer, this value is -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetVisitTypeAttribute">
            <summary>
            The transition type associated with this visit. For node types other than
            history visit nodes, this value is 0.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetContainerOpenAttribute">
            <summary>
            Set this to allow descent into the container. When closed, attempting
            to call getChildren or childCount will result in an error. You should
            set this to false when you are done reading.
            
            For HOST and DAY groupings, doing this is free since the children have
            been precomputed. For queries and bookmark folders, being open means they
            will keep themselves up-to-date by listening for updates and re-querying
            as needed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetStateAttribute">
            <summary>
            Indicates whether the container is closed, loading, or opened.  Loading
            implies that the container has been opened asynchronously and has not yet
            fully opened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetHasChildrenAttribute">
            <summary>
            This indicates whether this node &quot;may&quot; have children, and can be used
            when the container is open or closed. When the container is closed, it
            will give you an exact answer if the node can easily be populated (for
            example, a bookmark folder). If not (for example, a complex history query),
            it will return true. When the container is open, it will always be
            accurate. It is intended to be used to see if we should draw the &quot;+&quot; next
            to a tree item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetChildCountAttribute">
            <summary>
            This gives you the children of the nodes. It is preferrable to use this
            interface over the array one, since it avoids creating an nsIArray object
            and the interface is already the correct type.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if containerOpen is false.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetChildIndex(Gecko.Interfaces.nsINavHistoryResultNode)">
            <summary>
            Get the index of a direct child in this container.
            </summary>
            <param name="aNode">
            a result node.
            </param>
            <returns>
            aNode's index in this container.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if containerOpen is false.
            NS_ERROR_INVALID_ARG: if aNode isn't a direct child of this
            container.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.FindNodeByDetails(Gecko.nsAUTF8StringBase,System.UInt64,System.Int64,System.Boolean)">
            <summary>
            Look for a node in the container by some of its details.  Does not search
            closed containers.
            </summary>
            <param name="aURI">
            the node's uri attribute value
            </param>
            <param name="aTime">
            the node's time attribute value.
            </param>
            <param name="aItemId">
            the node's itemId attribute value.
            </param>
            <param name="aRecursive">
            whether or not to search recursively.
            </param>
            <returns>
            a result node that matches the given details if any, null
            otherwise.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if this container is closed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetQueries(System.UInt32@,System.IntPtr@)">
            <summary>
            Get the queries which build this node&apos;s children.
            Only valid for RESULT_TYPE_QUERY nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetQueryOptionsAttribute">
            <summary>
            Get the options which group this node&apos;s children.
            Only valid for RESULT_TYPE_QUERY nodes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetFolderItemIdAttribute">
            <summary>
            For both simple folder queries and folder shortcut queries, this is set to
            the concrete itemId of the folder (i.e. for folder shortcuts it&apos;s the
            target folder id).  Otherwise, this is set to -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryResultNode.GetTargetFolderGuidAttribute(Gecko.nsACStringBase)">
            <summary>
            For both simple folder queries and folder shortcut queries, this is set to
            the concrete guid of the folder (i.e. for folder shortcuts it&apos;s the target
            folder guid). Otherwise, this is set to an empty string.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryResultObserver">
            <summary>
            Allows clients to observe what is happening to a result as it updates itself
            according to history and bookmark system events. Register this observer on a
            result using nsINavHistoryResult::addObserver.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeInserted(Gecko.Interfaces.nsINavHistoryContainerResultNode,Gecko.Interfaces.nsINavHistoryResultNode,System.UInt32)">
            <summary>
            Called when &apos;aItem&apos; is inserted into &apos;aParent&apos; at index &apos;aNewIndex&apos;.
            The item previously at index (if any) and everything below it will have
            been shifted down by one. The item may be a container or a leaf.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeRemoved(Gecko.Interfaces.nsINavHistoryContainerResultNode,Gecko.Interfaces.nsINavHistoryResultNode,System.UInt32)">
            <summary>
            Called whan &apos;aItem&apos; is removed from &apos;aParent&apos; at &apos;aOldIndex&apos;. The item
            may be a container or a leaf. This function will be called after the item
            has been removed from its parent list, but before anything else (including
            NULLing out the item&apos;s parent) has happened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeMoved(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.Interfaces.nsINavHistoryContainerResultNode,System.UInt32,Gecko.Interfaces.nsINavHistoryContainerResultNode,System.UInt32)">
            <summary>
            Called whan &apos;aItem&apos; is moved from &apos;aOldParent&apos; at &apos;aOldIndex&apos; to
            aNewParent at aNewIndex. The item may be a container or a leaf.
            
            XXX: at the moment, this method is called only when an item is moved
            within the same container. When an item is moved between containers,
            a new node is created for the item, and the itemRemoved/itemAdded methods
            are used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeTitleChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after aNode&apos;s title has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewTitle">
            the new title
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeURIChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after aNode&apos;s uri property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewURI">
            the new uri
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeIconChanged(Gecko.Interfaces.nsINavHistoryResultNode)">
            <summary>
            Called right after aNode&apos;s icon property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeHistoryDetailsChanged(Gecko.Interfaces.nsINavHistoryResultNode,System.UInt64,System.UInt32)">
            <summary>
            Called right after aNode&apos;s time property or accessCount property, or both,
            have changed.
            </summary>
            <param name="aNode">
            a uri result node
            </param>
            <param name="aNewVisitDate">
            the new visit date
            </param>
            <param name="aNewAccessCount">
            the new access-count
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeTagsChanged(Gecko.Interfaces.nsINavHistoryResultNode)">
            <summary>
            Called when the tags set on the uri represented by aNode have changed.
            </summary>
            <param name="aNode">
            a uri result node
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeKeywordChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after the aNode&apos;s keyword property has changed.
            </summary>
            <param name="aNode">
            a uri result node
            </param>
            <param name="aNewKeyword">
            the new keyword
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeAnnotationChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after an annotation of aNode&apos;s has changed (set, altered, or
            unset).
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aAnnoName">
            the name of the annotation that changed
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeDateAddedChanged(Gecko.Interfaces.nsINavHistoryResultNode,System.UInt64)">
            <summary>
            Called right after aNode&apos;s dateAdded property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewValue">
            the new value of the dateAdded property
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.NodeLastModifiedChanged(Gecko.Interfaces.nsINavHistoryResultNode,System.UInt64)">
            <summary>
            Called right after aNode&apos;s dateModified property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewValue">
            the new value of the dateModified property
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.ContainerStateChanged(Gecko.Interfaces.nsINavHistoryContainerResultNode,System.UInt32,System.UInt32)">
            <summary>
            Called after a container changes state.
            </summary>
            <param name="aContainerNode">
            The container that has changed state.
            </param>
            <param name="aOldState">
            The state that aContainerNode has transitioned out of.
            </param>
            <param name="aNewState">
            The state that aContainerNode has transitioned into.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.InvalidateContainer(Gecko.Interfaces.nsINavHistoryContainerResultNode)">
            <summary>
            Called when something significant has happened within the container. The
            contents of the container should be re-built.
            </summary>
            <param name="aContainerNode">
            the container node to invalidate
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.SortingChanged(System.UInt16)">
            <summary>
            This is called to indicate to the UI that the sort has changed to the
            given mode. For trees, for example, this would update the column headers
            to reflect the sorting. For many other types of views, this won&apos;t be
            applicable.
            </summary>
            <param name="sortingMode">
            One of nsINavHistoryQueryOptions.SORT_BY_* that
            indicates the new sorting mode.
            
            This only is expected to update the sorting UI. invalidateAll() will also
            get called if the sorting changes to update everything.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.Batching(System.Boolean)">
            <summary>
            This is called to indicate that a batch operation is about to start or end.
            The observer could want to disable some events or updates during batches,
            since multiple operations are packed in a short time.
            For example treeviews could temporarily suppress select notifications.
            </summary>
            <param name="aToggleMode">
            true if a batch is starting, false if it&apos;s ending.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultObserver.GetResultAttribute">
            <summary>
            Called by the result when this observer is added.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryResultTreeViewer">
            <summary>
            TODO: Bug 517719.
            
            A predefined view adaptor for interfacing results with an nsITree. This
            object will remove itself from its associated result when the tree has been
            detached. This prevents circular references. Users should be aware of this,
            if you want to re-use the same viewer, you will need to keep your own
            reference to it and re-initialize it when the tree changes. If you use this
            object, attach it to a result, never attach it to a tree, and forget about
            it, it will leak!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeInserted(Gecko.Interfaces.nsINavHistoryContainerResultNode,Gecko.Interfaces.nsINavHistoryResultNode,System.UInt32)">
            <summary>
            Called when &apos;aItem&apos; is inserted into &apos;aParent&apos; at index &apos;aNewIndex&apos;.
            The item previously at index (if any) and everything below it will have
            been shifted down by one. The item may be a container or a leaf.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeRemoved(Gecko.Interfaces.nsINavHistoryContainerResultNode,Gecko.Interfaces.nsINavHistoryResultNode,System.UInt32)">
            <summary>
            Called whan &apos;aItem&apos; is removed from &apos;aParent&apos; at &apos;aOldIndex&apos;. The item
            may be a container or a leaf. This function will be called after the item
            has been removed from its parent list, but before anything else (including
            NULLing out the item&apos;s parent) has happened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeMoved(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.Interfaces.nsINavHistoryContainerResultNode,System.UInt32,Gecko.Interfaces.nsINavHistoryContainerResultNode,System.UInt32)">
            <summary>
            Called whan &apos;aItem&apos; is moved from &apos;aOldParent&apos; at &apos;aOldIndex&apos; to
            aNewParent at aNewIndex. The item may be a container or a leaf.
            
            XXX: at the moment, this method is called only when an item is moved
            within the same container. When an item is moved between containers,
            a new node is created for the item, and the itemRemoved/itemAdded methods
            are used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeTitleChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after aNode&apos;s title has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewTitle">
            the new title
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeURIChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after aNode&apos;s uri property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewURI">
            the new uri
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeIconChanged(Gecko.Interfaces.nsINavHistoryResultNode)">
            <summary>
            Called right after aNode&apos;s icon property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeHistoryDetailsChanged(Gecko.Interfaces.nsINavHistoryResultNode,System.UInt64,System.UInt32)">
            <summary>
            Called right after aNode&apos;s time property or accessCount property, or both,
            have changed.
            </summary>
            <param name="aNode">
            a uri result node
            </param>
            <param name="aNewVisitDate">
            the new visit date
            </param>
            <param name="aNewAccessCount">
            the new access-count
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeTagsChanged(Gecko.Interfaces.nsINavHistoryResultNode)">
            <summary>
            Called when the tags set on the uri represented by aNode have changed.
            </summary>
            <param name="aNode">
            a uri result node
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeKeywordChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after the aNode&apos;s keyword property has changed.
            </summary>
            <param name="aNode">
            a uri result node
            </param>
            <param name="aNewKeyword">
            the new keyword
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeAnnotationChanged(Gecko.Interfaces.nsINavHistoryResultNode,Gecko.nsAUTF8StringBase)">
            <summary>
            Called right after an annotation of aNode&apos;s has changed (set, altered, or
            unset).
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aAnnoName">
            the name of the annotation that changed
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeDateAddedChanged(Gecko.Interfaces.nsINavHistoryResultNode,System.UInt64)">
            <summary>
            Called right after aNode&apos;s dateAdded property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewValue">
            the new value of the dateAdded property
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeLastModifiedChanged(Gecko.Interfaces.nsINavHistoryResultNode,System.UInt64)">
            <summary>
            Called right after aNode&apos;s dateModified property has changed.
            </summary>
            <param name="aNode">
            a result node
            </param>
            <param name="aNewValue">
            the new value of the dateModified property
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.ContainerStateChanged(Gecko.Interfaces.nsINavHistoryContainerResultNode,System.UInt32,System.UInt32)">
            <summary>
            Called after a container changes state.
            </summary>
            <param name="aContainerNode">
            The container that has changed state.
            </param>
            <param name="aOldState">
            The state that aContainerNode has transitioned out of.
            </param>
            <param name="aNewState">
            The state that aContainerNode has transitioned into.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.InvalidateContainer(Gecko.Interfaces.nsINavHistoryContainerResultNode)">
            <summary>
            Called when something significant has happened within the container. The
            contents of the container should be re-built.
            </summary>
            <param name="aContainerNode">
            the container node to invalidate
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.SortingChanged(System.UInt16)">
            <summary>
            This is called to indicate to the UI that the sort has changed to the
            given mode. For trees, for example, this would update the column headers
            to reflect the sorting. For many other types of views, this won&apos;t be
            applicable.
            </summary>
            <param name="sortingMode">
            One of nsINavHistoryQueryOptions.SORT_BY_* that
            indicates the new sorting mode.
            
            This only is expected to update the sorting UI. invalidateAll() will also
            get called if the sorting changes to update everything.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.Batching(System.Boolean)">
            <summary>
            This is called to indicate that a batch operation is about to start or end.
            The observer could want to disable some events or updates during batches,
            since multiple operations are packed in a short time.
            For example treeviews could temporarily suppress select notifications.
            </summary>
            <param name="aToggleMode">
            true if a batch is starting, false if it&apos;s ending.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.GetResultAttribute">
            <summary>
            Called by the result when this observer is added.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResultTreeViewer.NodeForTreeIndex(System.UInt32)">
            <summary>
            This allows you to get at the real node for a given row index. This is
            only valid when a tree is attached.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryResult">
            <summary>
            The result of a history/bookmark query.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResult.GetSortingModeAttribute">
            <summary>
            Sorts all nodes recursively by the given parameter, one of
            nsINavHistoryQueryOptions.SORT_BY_*  This will update the corresponding
            options for this result, so that re-using the current options/queries will
            always give you the current view.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResult.GetSortingAnnotationAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The annotation to use in SORT_BY_ANNOTATION_* sorting modes, set this
            before setting the sortingMode attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResult.GetSuppressNotificationsAttribute">
            <summary>
            Whether or not notifications on result changes are suppressed.
            Initially set to false.
            
            Use this to avoid flickering and to improve performance when you
            do temporary changes to the result structure (e.g. when searching for a
            node recursively).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResult.AddObserver(Gecko.Interfaces.nsINavHistoryResultObserver,System.Boolean)">
            <summary>
            Adds an observer for changes done in the result.
            </summary>
            <param name="aObserver">
            a result observer.
            </param>
            <param name="aOwnsWeak">
            If false, the result will keep an owning reference to the observer,
            which must be removed using removeObserver.
            If true, the result will keep a weak reference to the observer, which
            must implement nsISupportsWeakReference.
            </param>
            <remarks>
            See nsINavHistoryResultObserver
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResult.RemoveObserver(Gecko.Interfaces.nsINavHistoryResultObserver)">
            <summary>
            Removes an observer that was added by addObserver.
            </summary>
            <param name="aObserver">
            a result observer that was added by addObserver.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryResult.GetRootAttribute">
            <summary>
            This is the root of the results. Remember that you need to open all
            containers for their contents to be valid.
            
            When a result goes out of scope it will continue to observe changes till
            it is cycle collected.  While the result waits to be collected it will stay
            in memory, and continue to update itself, potentially causing unwanted
            additional work.  When you close the root node the result will stop
            observing changes, so it is good practice to close the root node when you
            are done with a result, since that will avoid unwanted performance hits.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryObserver">
            <summary>
            Similar to nsIRDFObserver for history. Note that we don&apos;t pass the data
            source since that is always the global history.
            
            DANGER! If you are in the middle of a batch transaction, there may be a
            database transaction active. You can still access the DB, but be careful.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnBeginUpdateBatch">
            <summary>
            Notifies you that a bunch of things are about to change, don&apos;t do any
            heavy-duty processing until onEndUpdateBatch is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnEndUpdateBatch">
            <summary>
            Notifies you that we are done doing a bunch of things and you should go
            ahead and update UI, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnVisit(Gecko.Interfaces.nsIURI,System.Int64,System.UInt64,System.Int64,System.Int64,System.UInt32,Gecko.nsACStringBase,System.Boolean,System.UInt32,System.UInt32)">
            <summary>
            Called everytime a URI is visited.
            </summary>
            <param name="aVisitId">
            Id of the visit that was just created.
            </param>
            <param name="aTime">
            Time of the visit.
            </param>
            <param name="aSessionId">
            No longer supported and always set to 0.
            </param>
            <param name="aReferrerVisitId">
            The id of the visit the user came from, defaults to 0 for no referrer.
            </param>
            <param name="aTransitionType">
            One of nsINavHistory.TRANSITION_
            </param>
            <param name="aGuid">
            The unique id associated with the page.
            </param>
            <param name="aHidden">
            Whether the visited page is marked as hidden.
            </param>
            <param name="aVisitCount">
            Number of visits (included this one) for this URI.
            </param>
            <param name="aTyped">
            Whether the URI has been typed or not.
            TODO (Bug 1271801): This will become a count, rather than a boolean.
            For future compatibility, always compare it with &quot;&gt; 0&quot;.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnTitleChanged(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,Gecko.nsACStringBase)">
            <summary>
            Called whenever either the &quot;real&quot; title or the custom title of the page
            changed. BOTH TITLES ARE ALWAYS INCLUDED in this notification, even though
            only one will change at a time. Often, consumers will want to display the
            user title if it is available, and fall back to the page title (the one
            specified in the &lt;title&gt; tag of the page).
            
            Note that there is a difference between an empty title and a NULL title.
            An empty string means that somebody specifically set the title to be
            nothing. NULL means nobody set it. From C++: use IsVoid() and SetIsVoid()
            to see whether an empty string is &quot;null&quot; or not (it will always be an
            empty string in either case).
            </summary>
            <param name="aURI">
            The URI of the page.
            </param>
            <param name="aPageTitle">
            The new title of the page.
            </param>
            <param name="aGUID">
            The unique ID associated with the page.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnFrecencyChanged(Gecko.Interfaces.nsIURI,System.Int32,Gecko.nsACStringBase,System.Boolean,System.UInt64)">
            <summary>
            Called when an individual page&apos;s frecency has changed.
            
            This is not called for pages whose frecencies change as the result of some
            large operation where some large or unknown number of frecencies change at
            once.  Use onManyFrecenciesChanged to detect such changes.
            </summary>
            <param name="aURI">
            The page&apos;s URI.
            </param>
            <param name="aNewFrecency">
            The page&apos;s new frecency.
            </param>
            <param name="aGUID">
            The page&apos;s GUID.
            </param>
            <param name="aHidden">
            True if the page is marked as hidden.
            </param>
            <param name="aVisitDate">
            The page&apos;s last visit date.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnManyFrecenciesChanged">
            <summary>
            Called when the frecencies of many pages have changed at once.
            
            onFrecencyChanged is not called for each of those pages.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnDeleteURI(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,System.UInt16)">
            <summary>
            This page and all of its visits are being deleted. Note: the page may not
            necessarily have actually existed for this function to be called.
            
            Delete notifications are only 99.99% accurate. Batch delete operations
            must be done in two steps, so first come notifications, then a bulk
            delete. If there is some error in the middle (for example, out of memory)
            then you&apos;ll get a notification and it won&apos;t get deleted. There&apos;s no easy
            way around this.
            </summary>
            <param name="aURI">
            The URI that was deleted.
            </param>
            <param name="aGUID">
            The unique ID associated with the page.
            </param>
            <param name="aReason">
            Indicates the reason for the removal.  see REASON_* constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnClearHistory">
            <summary>
            Notification that all of history is being deleted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnPageChanged(Gecko.Interfaces.nsIURI,System.UInt32,Gecko.nsAStringBase,Gecko.nsACStringBase)">
            <summary>
            An attribute of this page changed.
            </summary>
            <param name="aURI">
            The URI of the page on which an attribute changed.
            </param>
            <param name="aChangedAttribute">
            The attribute whose value changed.  See ATTRIBUTE_* constants.
            </param>
            <param name="aNewValue">
            The attribute&apos;s new value.
            </param>
            <param name="aGUID">
            The unique ID associated with the page.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryObserver.OnDeleteVisits(Gecko.Interfaces.nsIURI,System.UInt64,Gecko.nsACStringBase,System.UInt16,System.UInt32)">
            <summary>
            Called when some visits of an history entry are expired.
            </summary>
            <param name="aURI">
            The page whose visits have been expired.
            </param>
            <param name="aVisitTime">
            The largest visit time in microseconds that has been expired.  We
            guarantee that we don&apos;t have any visit older than this date.
            </param>
            <param name="aGUID">
            The unique ID associated with the page.
            </param>
            <param name="aReason">
            Indicates the reason for the removal.  see REASON_* constants.
            </param>
            <param name="aTransitionType">
            If it&apos;s a valid TRANSITION_* value, all visits of the specified type
            have been removed.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryQuery">
            <summary>
            This object encapsulates all the query parameters you&apos;re likely to need
            when building up history UI. All parameters are ANDed together.
            
            This is not intended to be a super-general query mechanism. This was designed
            so that most queries can be done in only one SQL query. This is important
            because, if the user has their profile on a networked drive, query latency
            can be non-negligible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetSearchTermsAttribute(Gecko.nsAStringBase)">
            <summary>
            Text search terms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetMinVisitsAttribute">
            <summary>
            Set lower or upper limits for how many times an item has been
            visited.  The default is -1, and in that case all items are
            matched regardless of their visit count.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.SetTransitions(System.UInt32[],System.UInt32)">
            <summary>
            When the set of transitions is nonempty, results are limited to pages which
            have at least one visit for each of the transition types.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetTransitions(System.UInt32@,System.IntPtr@)">
            <summary>
            Get the transitions set for this query.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetTransitionCountAttribute">
            <summary>
            Get the count of the set query transitions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetOnlyBookmarkedAttribute">
            <summary>
            When set, returns only bookmarked items, when unset, returns anything. Setting this
            is equivalent to listing all bookmark folders in the &apos;folders&apos; parameter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetDomainIsHostAttribute">
            <summary>
            This controls the meaning of &apos;domain&apos;, and whether it is an exact match
            &apos;domainIsHost&apos; = true, or hierarchical (= false).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetDomainAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            This is the host or domain name (controlled by domainIsHost). When
            domainIsHost, domain only does exact matching on host names. Otherwise,
            it will return anything whose host name ends in &apos;domain&apos;.
            
            This one is a little different than most. Setting it to an empty string
            is a real query and will match any URI that has no host name (local files
            and such). Set this to NULL (in C++ use SetIsVoid) if you don&apos;t want
            domain matching.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetUriAttribute">
            <summary>
            This is a URI to match, to, for example, find out every time you visited
            a given URI. This is an exact match.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetAnnotationIsNotAttribute">
            <summary>
            Test for existence or non-existence of a given annotation. We don&apos;t
            currently support &gt;1 annotation name per query. If &apos;annotationIsNot&apos; is
            true, we test for the non-existence of the specified annotation.
            
            Testing for not annotation will do the same thing as a normal query and
            remove everything that doesn&apos;t have that annotation. Asking for things
            that DO have a given annotation is a little different. It also includes
            things that have never been visited. This allows place queries to be
            returned as well as anything else that may have been tagged with an
            annotation. This will only work for RESULTS_AS_URI since there will be
            no visits for these items.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetTagsAttribute">
            <summary>
            Limit results to items that are tagged with all of the given tags.  This
            attribute must be set to an array of strings.  When called as a getter it
            will return an array of strings sorted ascending in lexicographical order.
            The array may be empty in either case.  Duplicate tags may be specified
            when setting the attribute, but the getter returns only unique tags.
            
            To search for items that are tagged with any given tags rather than all,
            multiple queries may be passed to nsINavHistoryService.executeQueries().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetTagsAreNotAttribute">
            <summary>
            If &apos;tagsAreNot&apos; is true, the results are instead limited to items that
            are not tagged with any of the given tags.  This attribute is used in
            conjunction with the &apos;tags&apos; attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.GetFolders(System.UInt32@,System.IntPtr@)">
            <summary>
            Limit results to items that are in all of the given folders.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.SetFolders(System.Int64[],System.UInt32)">
            <summary>
            For the special result type RESULTS_AS_TAG_CONTENTS we can define only
            one folder that must be a tag folder. This is not recursive so results
            will be returned from the first level of that folder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQuery.Clone">
            <summary>
            Creates a new query item with the same parameters of this one.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryQueryOptions">
            <summary>
            This object represents the global options for executing a query.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetSortingModeAttribute">
            <summary>
            The sorting mode to be used for this query.
            mode is one of SORT_BY_
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetSortingAnnotationAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The annotation to use in SORT_BY_ANNOTATION_* sorting modes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetResultTypeAttribute">
            <summary>
            Sets the result type. One of RESULT_TYPE_* which includes how URIs are
            represented.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetExcludeItemsAttribute">
            <summary>
            This option excludes all URIs and separators from a bookmarks query.
            This would be used if you just wanted a list of bookmark folders and
            queries (such as the left pane of the places page).
            Defaults to false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetExcludeQueriesAttribute">
            <summary>
            Set to true to exclude queries (&quot;place:&quot; URIs) from the query results.
            Simple folder queries (bookmark folder symlinks) will still be included.
            Defaults to false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetExcludeReadOnlyFoldersAttribute">
            <summary>
            DO NOT USE THIS API. IT&apos;LL BE REMOVED IN BUG 1072833.
            
            Set to true to exclude live bookmarks from the query results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetExpandQueriesAttribute">
            <summary>
            When set, allows items with &quot;place:&quot; URIs to appear as containers,
            with the container&apos;s contents filled in from the stored query.
            If not set, these will appear as normal items. Doesn&apos;t do anything if
            excludeQueries is set. Defaults to false.
            
            Note that this has no effect on folder links, which are place: URIs
            returned by nsINavBookmarkService.GetFolderURI. These are always expanded
            and will appear as bookmark folders.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetIncludeHiddenAttribute">
            <summary>
            Some pages in history are marked &quot;hidden&quot; and thus don&apos;t appear by default
            in queries.  These include automatic framed visits and redirects.  Setting
            this attribute will return all pages, even hidden ones.  Does nothing for
            bookmark queries. Defaults to false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetMaxResultsAttribute">
            <summary>
            This is the maximum number of results that you want. The query is exeucted,
            the results are sorted, and then the top &apos;maxResults&apos; results are taken
            and returned. Set to 0 (the default) to get all results.
            
            THIS DOES NOT WORK IN CONJUNCTION WITH SORTING BY TITLE. This is because
            sorting by title requires us to sort after using locale-sensetive sorting
            (as opposed to letting the database do it for us).
            
            Instead, we get the result ordered by date, pick the maxResult most recent
            ones, and THEN sort by title.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetQueryTypeAttribute">
            <summary>
            The type of search to use when querying the DB; This attribute is only
            honored by query nodes. It is silently ignored for simple folder queries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.GetAsyncEnabledAttribute">
            <summary>
            When this is true, the root container node generated by these options and
            its descendant containers will be opened asynchronously if they support it.
            This is false by default.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryQueryOptions.Clone">
            <summary>
            Creates a new options item with the same parameters of this one.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.GetDatabaseStatusAttribute">
            <summary>
            Returns the current database status
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.GetHasHistoryEntriesAttribute">
            <summary>
            True if there is any history. This can be used in UI to determine whether
            the &quot;clear history&quot; button should be enabled or not. This is much better
            than using BrowserHistory.count since that can be very slow if there is
            a lot of history (it must enumerate each item). This is pretty fast.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.GetPageTitle(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase)">
            <summary>
            Gets the original title of the page.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.MarkPageAsFollowedBookmark(Gecko.Interfaces.nsIURI)">
            <summary>
            This is just like markPageAsTyped (in nsIBrowserHistory, also implemented
            by the history service), but for bookmarks. It declares that the given URI
            is being opened as a result of following a bookmark. If this URI is loaded
            soon after this message has been received, that transition will be marked
            as following a bookmark.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.MarkPageAsTyped(Gecko.Interfaces.nsIURI)">
            <summary>
            Designates the url as having been explicitly typed in by the user.
            </summary>
            <param name="aURI">
            URI of the page to be marked.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.MarkPageAsFollowedLink(Gecko.Interfaces.nsIURI)">
            <summary>
            Designates the url as coming from a link explicitly followed by
            the user (for example by clicking on it).
            </summary>
            <param name="aURI">
            URI of the page to be marked.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.CanAddURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if this URI would be added to the history. You don&apos;t have to
            worry about calling this, adding a visit will always check before
            actually adding the page. This function is public because some components
            may want to check if this page would go in the history (i.e. for
            annotations).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.GetNewQuery">
            <summary>
            This returns a new query object that you can pass to executeQuer[y/ies].
            It will be initialized to all empty (so using it will give you all history).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.GetNewQueryOptions">
            <summary>
            This returns a new options object that you can pass to executeQuer[y/ies]
            after setting the desired options.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.ExecuteQuery(Gecko.Interfaces.nsINavHistoryQuery,Gecko.Interfaces.nsINavHistoryQueryOptions)">
            <summary>
            Executes a single query.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.ExecuteQueries(Gecko.Interfaces.nsINavHistoryQuery[],System.UInt32,Gecko.Interfaces.nsINavHistoryQueryOptions)">
            <summary>
            Executes an array of queries. All of the query objects are ORed
            together. Within a query, all the terms are ANDed together as in
            executeQuery. See executeQuery()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.QueryStringToQueries(Gecko.nsAUTF8StringBase,System.IntPtr@,System.UInt32@,Gecko.Interfaces.nsINavHistoryQueryOptions@)">
            <summary>
            Converts a query URI-like string to an array of actual query objects for
            use to executeQueries(). The output query array may be empty if there is
            no information. However, there will always be an options structure returned
            (if nothing is defined, it will just have the default values).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.QueriesToQueryString(Gecko.Interfaces.nsINavHistoryQuery[],System.UInt32,Gecko.Interfaces.nsINavHistoryQueryOptions,Gecko.nsAUTF8StringBase)">
            <summary>
            Converts a query into an equivalent string that can be persisted. Inverse
            of queryStringToQueries()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.AddObserver(Gecko.Interfaces.nsINavHistoryObserver,System.Boolean)">
            <summary>
            Adds a history observer. If ownsWeak is false, the history service will
            keep an owning reference to the observer.  If ownsWeak is true, then
            aObserver must implement nsISupportsWeakReference, and the history service
            will keep a weak reference to the observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.RemoveObserver(Gecko.Interfaces.nsINavHistoryObserver)">
            <summary>
            Removes a history observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.GetObservers(System.UInt32@,System.IntPtr@)">
            <summary>
            Gets an array of registered nsINavHistoryObserver objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.RunInBatchMode(Gecko.Interfaces.nsINavHistoryBatchCallback,Gecko.Interfaces.nsISupports)">
            <summary>
            Runs the passed callback in batch mode. Use this when a lot of things
            are about to change. Calls can be nested, observers will only be
            notified when all batches begin/end.
            </summary>
            <param name="aCallback">
            nsINavHistoryBatchCallback interface to call.
            </param>
            <param name="aUserData">
            Opaque parameter passed to nsINavBookmarksBatchCallback
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.GetHistoryDisabledAttribute">
            <summary>
            True if history is disabled. currently,
            history is disabled if the places.history.enabled pref is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINavHistoryService.ClearEmbedVisits">
            <summary>
            Clear all TRANSITION_EMBED visits.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINavHistoryBatchCallback">
            <summary>
            
            </summary>
            <remarks>
            See runInBatchMode of nsINavHistoryService/nsINavBookmarksService
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsINestedURI">
            <summary>
            nsINestedURI is an interface that must be implemented by any nsIURI
            implementation which has an &quot;inner&quot; URI that it actually gets data
            from.
            
            For example, if URIs for the scheme &quot;sanitize&quot; have the structure:
            
            sanitize:http://example.com
            
            and opening a channel on such a sanitize: URI gets the data from
            http://example.com, sanitizes it, and returns it, then the sanitize: URI
            should implement nsINestedURI and return the http://example.com URI as its
            inner URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINestedURI.GetInnerURIAttribute">
            <summary>
            The inner URI for this nested URI.  This must not return null if the
            getter succeeds; URIs that have no inner must not QI to this interface.
            Dynamically changing whether there is an inner URI is not allowed.
            
            Modifying the returned URI must not in any way modify the nested URI; this
            means the returned URI must be either immutable or a clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINestedURI.GetInnermostURIAttribute">
            <summary>
            The innermost URI for this nested URI.  This must not return null if the
            getter succeeds.  This is equivalent to repeatedly calling innerURI while
            the returned URI QIs to nsINestedURI.
            
            Modifying the returned URI must not in any way modify the nested URI; this
            means the returned URI must be either immutable or a clone.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINetAddr">
            <summary>
            nsINetAddr
            
            This interface represents a native NetAddr struct in a readonly
            interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetAddr.GetFamilyAttribute">
            <summary>
            
            </summary>
            <returns>
            the address family of the network address, which corresponds to
            one of the FAMILY_ constants.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetAddr.GetAddressAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            
            </summary>
            <returns>
            Either the IP address (FAMILY_INET, FAMILY_INET6) or the path
            (FAMILY_LOCAL) in string form. IP addresses are in the format produced by
            mozilla::net::NetAddrToString.
            
            Note: Paths for FAMILY_LOCAL may have length limitations which are
            implementation dependent and not documented as part of this interface.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetAddr.GetPortAttribute">
            <summary>
            
            </summary>
            <returns>
            the port number for a FAMILY_INET or FAMILY_INET6 address.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the address family is not FAMILY_INET or
            FAMILY_INET6.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINetAddr.GetFlowAttribute">
            <summary>
            
            </summary>
            <returns>
            the flow label for a FAMILY_INET6 address.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the address family is not FAMILY_INET6
            </exception>
            <remarks>
            See http://www.ietf.org/rfc/rfc3697.txt
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsINetAddr.GetScopeAttribute">
            <summary>
            
            </summary>
            <returns>
            the address scope of a FAMILY_INET6 address.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the address family is not FAMILY_INET6
            </exception>
            <remarks>
            See http://tools.ietf.org/html/rfc4007
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsINetAddr.GetIsV4MappedAttribute">
            <summary>
            
            </summary>
            <returns>
            whether a FAMILY_INET6 address is mapped from FAMILY_INET.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the address family is not FAMILY_INET6
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsINetAddr.GetNetAddr">
            <summary>
            
            </summary>
            <returns>
            the underlying NetAddr struct.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsINetUtil">
            <summary>
            nsINetUtil provides various network-related utility methods.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.ParseRequestContentType(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,System.Boolean@,Gecko.nsAUTF8StringBase)">
            <summary>
            Parse a Content-Type header value in strict mode.  This is a more
            conservative parser that reject things that violate RFC 7231 section
            3.1.1.1.  This is typically useful for parsing Content-Type header values
            that are used for HTTP requests, and those that are used to make security
            decisions.
            </summary>
            <param name="aTypeHeader">
            the header string to parse
            </param>
            <param name="[out]">
            aHadCharset whether a charset was explicitly specified.
            </param>
            <returns>
            the MIME type specified in the header, in lower-case.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.ParseResponseContentType(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,System.Boolean@,Gecko.nsAUTF8StringBase)">
            <summary>
            Parse a Content-Type header value in relaxed mode.  This is a more
            permissive parser that ignores things that go against RFC 7231 section
            3.1.1.1.  This is typically useful for parsing Content-Type header values
            received from web servers where we want to make a best effort attempt
            at extracting a useful MIME type and charset.
            
            NOTE: DO NOT USE THIS if you&apos;re going to make security decisions
            based on the result.
            </summary>
            <param name="aTypeHeader">
            the header string to parse
            </param>
            <param name="[out]">
            aHadCharset whether a charset was explicitly specified.
            </param>
            <returns>
            the MIME type specified in the header, in lower-case.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.ProtocolHasFlags(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Test whether the given URI&apos;s handler has the given protocol flags.
            </summary>
            <param name="aURI">
            the URI in question
            </param>
            <param name="aFlags">
            the flags we&apos;re testing for.
            </param>
            <returns>
            whether the protocol handler for aURI has all the flags
            in aFlags.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.URIChainHasFlags(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Test whether the protocol handler for this URI or that for any of
            its inner URIs has the given protocol flags.  This will QI aURI to
            nsINestedURI and walk the nested URI chain.
            </summary>
            <param name="aURI">
            the URI in question
            </param>
            <param name="aFlags">
            the flags we&apos;re testing for.
            </param>
            <returns>
            whether any of the protocol handlers involved have all the flags
            in aFlags.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.ToImmutableURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Take aURI and produce an immutable version of it for the caller.  If aURI
            is immutable this will be aURI itself; otherwise this will be a clone,
            marked immutable if possible.  Passing null to this method is allowed; in
            that case it will return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.NewSimpleNestedURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Create a simple nested URI using the result of
            toImmutableURI on the passed-in aURI which may not be null.
            Note: The return URI will not have had its spec set yet.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.EscapeString(Gecko.nsACStringBase,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            escape a string with %00-style escaping
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.EscapeURL(Gecko.nsACStringBase,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            %XX-Escape invalid chars in a URL segment.
            </summary>
            <param name="aStr">
            the URL to be escaped
            </param>
            <param name="aFlags">
            the URL segment type flags
            </param>
            <returns>
            the escaped string (the string itself if escaping did not happen)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.UnescapeString(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Expands URL escape sequences
            </summary>
            <param name="aStr">
            the URL to be unescaped
            </param>
            <param name="aFlags">
            only ESCAPE_URL_ONLY_NONASCII and ESCAPE_URL_SKIP_CONTROL
            are recognized.  If |aFlags| is 0 all escape sequences are
            unescaped
            </param>
            <returns>
            unescaped string
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.ExtractCharsetFromContentType(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,System.Int32@,System.Int32@)">
            <summary>
            Extract the charset parameter location and value from a content-type
            header.
            </summary>
            <param name="aTypeHeader">
            the header string to parse
            </param>
            <param name="[out]">
            aCharsetEnd index of the end of the charset parameter (the
            &apos;;&apos; separating it from what comes after, or the end
            of the string) in aTypeHeader.  If this function returns
            false, this argument will still be set, to the index of the
            location where a new charset should be inserted.
            </param>
            <returns>
            whether a charset parameter was found.  This can be false even in
            cases when parseContentType would claim to have a charset, if the type
            that won out does not have a charset parameter specified.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINetUtil.ParseAttributePolicyString(Gecko.nsAStringBase)">
            <summary>
            Parse an attribute referrer policy string (no-referrer, origin, unsafe-url)
            and return the according integer code (defined in nsIHttpChannel.idl)
            </summary>
            <param name="aPolicyString">
            the policy string given as attribute
            </param>
            <returns>
            aPolicyEnum
            referrer policy code from nsIHttpChannel.idl, (see parser in
            ReferrerPolicy.h for details)
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIInterceptedChannel">
            <summary>
            Interface to allow implementors of nsINetworkInterceptController to control the behaviour
            of intercepted channels without tying implementation details of the interception to
            the actual channel. nsIInterceptedChannel is expected to be implemented by objects
            which do not implement nsIChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.ResetInterception">
            <summary>
            Instruct a channel that has been intercepted to continue with the original
            network request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.SynthesizeStatus(System.UInt16,Gecko.nsACStringBase)">
            <summary>
            Set the status and reason for the forthcoming synthesized response.
            Multiple calls overwrite existing values.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.SynthesizeHeader(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Attach a header name/value pair to the forthcoming synthesized response.
            Overwrites any existing header value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.FinishSynthesizedResponse(Gecko.nsACStringBase)">
            <summary>
            Instruct a channel that has been intercepted that a response has been
            synthesized and can now be read. No further header modification is allowed
            after this point. The caller may optionally pass a spec for a URL that
            this response originates from; an empty string will cause the original
            intercepted request&apos;s URL to be used instead.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.Cancel(System.Int32)">
            <summary>
            Cancel the pending intercepted request.
            </summary>
            <returns>
            NS_ERROR_FAILURE if the response has already been synthesized or
            the original request has been instructed to continue.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.GetResponseBodyAttribute">
            <summary>
            The synthesized response body to be produced.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.GetChannelAttribute">
            <summary>
            The underlying channel object that was intercepted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.GetSecureUpgradedChannelURIAttribute">
            <summary>
            The URL of the underlying channel object, corrected for a potential
            secure upgrade.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.SetChannelInfo(System.IntPtr)">
            <summary>
            This method allows to override the channel info for the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.GetInternalContentPolicyTypeAttribute">
            <summary>
            Get the internal load type from the underlying channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInterceptedChannel.SetReleaseHandle(Gecko.Interfaces.nsISupports)">
            <summary>
            Allow the ServiceWorkerManager to set an RAII-style object on the
            intercepted channel that should be released once the channel is
            torn down.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINetworkInterceptController">
            <summary>
            Interface to allow consumers to attach themselves to a channel&apos;s
            notification callbacks/loadgroup and determine if a given channel
            request should be intercepted before any network request is initiated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkInterceptController.ShouldPrepareForIntercept(Gecko.Interfaces.nsIURI,System.Boolean)">
            <summary>
            Returns true if a channel should avoid initiating any network
            requests until specifically instructed to do so.
            </summary>
            <param name="aURI">
            the URI being requested by a channel
            </param>
            <param name="aIsNavigate">
            True if the request is for a navigation, false for a fetch.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkInterceptController.ChannelIntercepted(Gecko.Interfaces.nsIInterceptedChannel)">
            <summary>
            Notification when a given intercepted channel is prepared to accept a synthesized
            response via the provided stream.
            </summary>
            <param name="aChannel">
            the controlling interface for a channel that has been intercepted
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINetworkLinkService">
            <summary>
            Network link status monitoring service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkLinkService.GetIsLinkUpAttribute">
            <summary>
            This is set to true when the system is believed to have a usable
            network connection.
            
            The link is only up when network connections can be established. For
            example, the link is down during DHCP configuration (unless there
            is another usable interface already configured).
            
            If the link status is not currently known, we generally assume that
            it is up.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkLinkService.GetLinkStatusKnownAttribute">
            <summary>
            This is set to true when we believe that isLinkUp is accurate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkLinkService.GetLinkTypeAttribute">
            <summary>
            The type of network connection.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINetworkPredictor">
            <summary>
            nsINetworkPredictor - learn about pages users visit, and allow us to take
            predictive actions upon future visits.
            NOTE: nsINetworkPredictor should only
            be used on the main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkPredictor.Predict(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsILoadContext,Gecko.Interfaces.nsINetworkPredictorVerifier)">
            <summary>
            Start taking predictive actions
            
            Calling this will cause the predictor to (possibly) start
            taking actions such as DNS prefetch and/or TCP preconnect based on
            (1) the host name that we are given, and (2) the reason we are being
            asked to take actions.
            </summary>
            <param name="targetURI">
            - The URI we are being asked to take actions based on.
            </param>
            <param name="sourceURI">
            - The URI that is currently loaded. This is so we can
            avoid doing predictive actions for link hover on an HTTPS page (for
            example).
            </param>
            <param name="reason">
            - The reason we are being asked to take actions. Can be
            any of the PREDICT_* values above.
            In the case of PREDICT_LINK, targetURI should be the URI of the link
            that is being hovered over, and sourceURI should be the URI of the page
            on which the link appears.
            In the case of PREDICT_LOAD, targetURI should be the URI of the page that
            is being loaded and sourceURI should be null.
            In the case of PREDICT_STARTUP, both targetURI and sourceURI should be
            null.
            </param>
            <param name="loadContext">
            - The nsILoadContext of the page load we are predicting
            about.
            </param>
            <param name="verifier">
            - An nsINetworkPredictorVerifier used in testing to ensure
            we&apos;re predicting the way we expect to. Not necessary (or desired) for
            normal operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkPredictor.Learn(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Add to our compendium of knowledge
            
            This adds to our prediction database to make things (hopefully)
            smarter next time we predict something.
            </summary>
            <param name="targetURI">
            - The URI that was loaded that we are keeping track of.
            </param>
            <param name="sourceURI">
            - The URI that caused targetURI to be loaded (for page
            loads). This means the DOCUMENT URI.
            </param>
            <param name="reason">
            - The reason we are learning this bit of knowledge.
            Reason can be any of the LEARN_* values.
            In the case of LEARN_LOAD_SUBRESOURCE, targetURI should be the URI of a
            subresource of a page, and sourceURI should be the top-level URI.
            In the case of LEARN_LOAD_REDIRECT, targetURI is the NEW URI of a
            top-level resource that was redirected to, and sourceURI is the
            ORIGINAL URI of said top-level resource.
            In the case of LEARN_STARTUP, targetURI should be the URI of a page
            that was loaded immediately after browser startup, and sourceURI should
            be null.
            </param>
            <param name="loadContext">
            - The nsILoadContext for the page load that we are
            learning about.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkPredictor.Reset">
            <summary>
            Clear out all our learned knowledge
            
            This removes everything from our database so that any predictions begun
            after this completes will start from a blank slate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkPredictorVerifier.OnPredictPrefetch(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Callback for when we do a predictive prefetch
            </summary>
            <param name="uri">
            - The URI that was prefetched
            </param>
            <param name="status">
            - The request status code returned by the
            prefetch attempt e.g. 200 (OK):w
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkPredictorVerifier.OnPredictPreconnect(Gecko.Interfaces.nsIURI)">
            <summary>
            Callback for when we do a predictive preconnect
            </summary>
            <param name="uri">
            - The URI that was preconnected to
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINetworkPredictorVerifier.OnPredictDNS(Gecko.Interfaces.nsIURI)">
            <summary>
            Callback for when we do a predictive DNS lookup
            </summary>
            <param name="uri">
            - The URI that was looked up
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINotificationStorageCallback.Handle(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Callback function used to pass single notification back
            into C++ land for Notification.get return data.
            </summary>
            <param name="id:">
            a uuid for this notification
            </param>
            <param name="title:">
            the notification title
            </param>
            <param name="dir:">
            the notification direction,
            possible values are &quot;ltr&quot;, &quot;rtl&quot;, &quot;auto&quot;
            </param>
            <param name="lang:">
            the notification language
            </param>
            <param name="body:">
            the notification body
            </param>
            <param name="tag:">
            the notification tag
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINotificationStorageCallback.Done">
            <summary>
            Callback function used to notify C++ the we have returned
            all notification objects for this Notification.get call.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINotificationStorage">
            <summary>
            Interface for notification persistence layer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINotificationStorage.Put(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Add/replace a notification to the persistence layer.
            </summary>
            <param name="origin:">
            the origin/app of this notification
            </param>
            <param name="id:">
            a uuid for this notification
            </param>
            <param name="title:">
            the notification title
            </param>
            <param name="dir:">
            the notification direction,
            possible values are &quot;ltr&quot;, &quot;rtl&quot;, &quot;auto&quot;
            </param>
            <param name="lang:">
            the notification language
            </param>
            <param name="body:">
            the notification body
            </param>
            <param name="tag:">
            notification tag, will replace any existing
            notifications with same origin/tag pair
            </param>
            <param name="alertName:">
            the alert identifier as used by system app.
            Stored in the database to avoid re-computing
            it. Built from origin and tag or id depending
            whether there is a tag defined.
            </param>
            <param name="registrationID:">
            Opaque string that identifies the service worker
            registration this Notification is associated with.
            May be empty. Only set for Notifications created by
            showNotification().
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINotificationStorage.Get(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsINotificationStorageCallback)">
            <summary>
            Retrieve a list of notifications.
            </summary>
            <param name="origin:">
            the origin/app for which to fetch notifications from
            </param>
            <param name="tag:">
            used to fetch only a specific tag
            </param>
            <param name="callback:">
            nsINotificationStorageCallback, used for
            returning notifications objects
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINotificationStorage.GetByID(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsINotificationStorageCallback)">
            <summary>
            Retrieve a notification by ID.
            </summary>
            <param name="origin:">
            the origin/app for which to fetch notifications.
            </param>
            <param name="id:">
            the id of the notification.
            </param>
            <param name="callback:">
            nsINotificationStorageCallback whose Handle method will
            be called *at most once* if the notification with that ID is found. Not
            called if that ID is not found. Done() will be called right after
            Handle().
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINotificationStorage.Delete(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Remove a notification from storage.
            </summary>
            <param name="origin:">
            the origin/app to delete the notification from
            </param>
            <param name="id:">
            the uuid for the notification to delete
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINotificationStorage.CanPut(Gecko.nsAStringBase)">
            <summary>
            Notifications are not supposed to be persistent, according to spec, at
            least for now. But we want to be able to have this behavior on B2G. Thus,
            this method will check if the origin sending the notifications is a valid
            registered app with a manifest or not. Hence, a webpage that has none
            will have its notification sent and available (via Notification.get())
            during the life time of the page.
            </summary>
            <param name="origin:">
            Origin from which the notification is sent.
            </param>
            <returns>
            boolean
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSErrorsService.IsNSSErrorCode(System.Int32)">
            <summary>
            
            </summary>
            <param name="aNSPRCode">
            An error code obtained using PR_GetError()
            </param>
            <returns>
            True if it is error code defined by the NSS library
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSErrorsService.GetXPCOMFromNSSError(System.Int32)">
            <summary>
            Function will fail if aNSPRCode is not an NSS error code.
            </summary>
            <param name="aNSPRCode">
            An error code obtained using PR_GetError()
            </param>
            <returns>
            The result of the conversion, an XPCOM error code
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSErrorsService.GetErrorMessage(System.Int32,Gecko.nsAStringBase)">
            <summary>
            Function will fail if aXPCOMErrorCode is not an NSS error code.
            </summary>
            <param name="aXPCOMErrorCode">
            An error code obtained using getXPCOMFromNSSError
            return A localized human readable error explanation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsINSSErrorsService.GetErrorClass(System.Int32)">
            <summary>
            Function will fail if aXPCOMErrorCode is not an NSS error code.
            </summary>
            <param name="aXPCOMErrorCode">
            An error code obtained using getXPCOMFromNSSError
            return the error class of the code, either ERROR_CLASS_BAD_CERT
            or ERROR_CLASS_SSL_PROTOCOL
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsINullChannel">
            <summary>
            This interface is only used in order to mark the fact that
            an object isn&apos;t a complete implementation of its interfaces.
            For example, a consumer can QI NullHttpChannel to nsINullChannel,
            to determine if the object is just a dummy implementation of nsIHttpChannel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIObjectInputStream">
            <summary>
            
            </summary>
            <remarks>
            See nsIBinaryInputStream
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadBoolean">
            <summary>
            Read 8-bits from the stream.
            </summary>
            <returns>
            that byte to be treated as a boolean.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadCString(Gecko.nsACStringBase)">
            <summary>
            Read an 8-bit pascal style string from the stream.
            32-bit length field, followed by length 8-bit chars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadString(Gecko.nsAStringBase)">
            <summary>
            Read an 16-bit pascal style string from the stream.
            32-bit length field, followed by length PRUnichars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadBytes(System.UInt32,System.String@)">
            <summary>
            Read an opaque byte array from the stream.
            </summary>
            <param name="aLength">
            the number of bytes that must be read.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if it can't read aLength bytes
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadByteArray(System.UInt32,System.IntPtr@)">
            <summary>
            Read an opaque byte array from the stream, storing the results
            as an array of PRUint8s.
            </summary>
            <param name="aLength">
            the number of bytes that must be read.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if it can't read aLength bytes
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadArrayBuffer(System.UInt32,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Read opaque bytes from the stream, storing the results in an ArrayBuffer.
            </summary>
            <param name="aLength">
            the number of bytes that must be read
            </param>
            <param name="aArrayBuffer">
            the arraybuffer in which to store the results
            Note: passing view.buffer, where view is an ArrayBufferView of an
            ArrayBuffer, is not valid unless view.byteOffset == 0.
            </param>
            <returns>
            The number of bytes actually read into aArrayBuffer.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.ReadObject(System.Boolean)">
            <summary>
            Read an object from this stream to satisfy a strong or weak reference
            to one of its interfaces.  If the interface was not along the primary
            inheritance chain ending in the &quot;root&quot; or XPCOM-identity nsISupports,
            readObject will QueryInterface from the deserialized object root to the
            correct interface, which was specified when the object was serialized.
            </summary>
            <remarks>
            See nsIObjectOutputStream
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectInputStream.GetBuffer(System.UInt32,System.UInt32)">
            <summary>
            Optimized deserialization support -- see nsIStreamBufferAccess.idl.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIObjectLoadingContent">
            <summary>
            This interface represents a content node that loads objects.
            
            Please make sure to update the MozObjectLoadingContent WebIDL
            interface to mirror this interface when changing it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetActualTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The actual mime type (the one we got back from the network
            request) for the element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetDisplayedTypeAttribute">
            <summary>
            Gets the type of the content that&apos;s currently loaded. See
            the constants above for the list of possible values.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetContentTypeForMIMEType(Gecko.nsAUTF8StringBase)">
            <summary>
            Gets the content type that corresponds to the give MIME type.  See the
            constants above for the list of possible values.  If nothing else fits,
            TYPE_NULL will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetBaseURIAttribute">
            <summary>
            Returns the base URI of the object as seen by plugins. This differs from
            the normal codebase in that it takes &lt;param&gt; tags and plugin-specific
            quirks into account.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetPluginInstanceAttribute">
            <summary>
            Returns the plugin instance if it has already been instantiated. This
            will never instantiate the plugin and so is safe to call even when
            content script must not execute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.HasNewFrame(System.IntPtr)">
            <summary>
            Tells the content about an associated object frame.
            This can be called multiple times for different frames.
            
            This is noscript because this is an internal method that will go away, and
            because nsIObjectFrame is unscriptable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetPrintFrame">
            <summary>
            If this object is in going to be printed, this method
            returns the nsIObjectFrame object which should be used when
            printing the plugin. The returned nsIFrame is in the original document,
            not in the static clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.PlayPlugin">
            <summary>
            This method will play a plugin that has been stopped by click-to-play.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.Reload(System.Boolean)">
            <summary>
            Forces a re-evaluation and reload of the tag, optionally invalidating its
            click-to-play state.  This can be used when the MIME type that provides a
            type has changed, for instance, to force the tag to re-evalulate the
            handler to use.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetActivatedAttribute">
            <summary>
            This attribute will return true if the current content type has been
            activated, either explicitly or by passing checks that would have it be
            click-to-play.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.InitializeFromChannel(Gecko.Interfaces.nsIRequest)">
            <summary>
            Puts the tag in the &quot;waiting on a channel&quot; state and adopts this
            channel. This does not override the normal logic of examining attributes
            and the channel type, so the load may cancel this channel if it decides not
            to use one.
            
            This assumes:
            - This tag has not begun loading yet
            - This channel has not yet hit OnStartRequest
            - The caller will continue to pass channel events to us as a listener
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetSrcURIAttribute">
            <summary>
            The URL of the data/src loaded in the object. This may be null (i.e.
            an &lt;embed&gt; with no src).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetPluginFallbackTypeAttribute">
            <summary>
            The plugin&apos;s current state of fallback content. This property
            only makes sense if the plugin is not activated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetHasRunningPluginAttribute">
            <summary>
            If this object currently owns a running plugin, regardless of whether or
            not one is pending spawn/despawn.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectLoadingContent.GetRunIDAttribute">
            <summary>
            If this plugin runs out-of-process, it has a runID to differentiate
            between different times the plugin process has been instantiated.
            
            This throws NS_ERROR_NOT_IMPLEMENTED for in-process plugins.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIObjectOutputStream">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.Close">
            <summary>
            Close the stream. Forces the output stream to flush any buffered data.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.Flush">
            <summary>
            Flush the stream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if unable to flush without blocking
            the calling thread (non-blocking mode only)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.Write(System.IntPtr,System.UInt32)">
            <summary>
            Write data into the stream.
            </summary>
            <param name="aBuf">
            the buffer containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteFrom(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Writes data into the stream from an input stream.
            </summary>
            <param name="aFromStream">
            the stream containing the data to be written
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            &lt;other-error&gt;: on failure
            
            NOTE: This method is defined by this interface in order to allow the
            output stream to efficiently copy the data from the input stream into
            its internal buffer (if any). If this method was provided as an external
            facility, a separate char* buffer would need to be used in order to call
            the output stream's other Write method.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteSegments(System.IntPtr,System.IntPtr,System.UInt32)">
            <summary>
            Low-level write method that has access to the stream's underlying buffer.
            The reader function may be called multiple times for segmented buffers.
            WriteSegments is expected to keep calling the reader until either there
            is nothing left to write or the reader returns an error.  WriteSegments
            should not call the reader with zero bytes to provide.
            </summary>
            <param name="aReader">
            the "provider" of the data to be written
            </param>
            <param name="aClosure">
            opaque parameter passed to reader
            </param>
            <param name="aCount">
            the maximum number of bytes to be written
            </param>
            <returns>
            number of bytes written (may be less than aCount)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if writing to the output stream would
            block the calling thread (non-blocking mode only). This failure
            means no bytes were transferred.
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket output stream).
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: writing to a blocking output stream will block the calling thread
            until all given data can be consumed by the stream.
            
            NOTE: a non-blocking output stream may implement nsIAsyncOutputStream to
            provide consumers with a way to wait for the stream to accept more data
            once its write method is unable to accept any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteBoolean(System.Boolean)">
            <summary>
            Write a boolean as an 8-bit char to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteStringZ(System.String)">
            <summary>
            Write an 8-bit pascal style string to the stream.
            32-bit length field, followed by length 8-bit chars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteWStringZ(System.String)">
            <summary>
            Write a 16-bit pascal style string to the stream.
            32-bit length field, followed by length PRUnichars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteUtf8Z(System.String)">
            <summary>
            Write an 8-bit pascal style string (UTF8-encoded) to the stream.
            32-bit length field, followed by length 8-bit chars.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteBytes(System.String,System.UInt32)">
            <summary>
            Write an opaque byte array to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteByteArray(System.Byte[],System.UInt32)">
            <summary>
            Write an opaque byte array to the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteObject(Gecko.Interfaces.nsISupports,System.Boolean)">
            <summary>
            Write the object whose &quot;root&quot; or XPCOM-identity nsISupports is aObject.
            The cause for writing this object is a strong or weak reference, so the
            aIsStrongRef argument must tell which kind of pointer is being followed
            here during serialization.
            
            If the object has only one strong reference in the serialization and no
            weak refs, use writeSingleRefObject.  This is a valuable optimization:
            it saves space in the stream, and cycles on both ends of the process.
            
            If the reference being serialized is a pointer to an interface not on
            the primary inheritance chain ending in the root nsISupports, you must
            call writeCompoundObject instead of this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteSingleRefObject(Gecko.Interfaces.nsISupports)">
            <summary>
            Write an object referenced singly and strongly via its root nsISupports
            or a subclass of its root nsISupports.  There must not be other refs to
            aObject in memory, or in the serialization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.WriteCompoundObject(Gecko.Interfaces.nsISupports,System.Guid@,System.Boolean)">
            <summary>
            Write the object referenced by an interface pointer at aObject that
            inherits from a non-primary nsISupports, i.e., a reference to one of
            the multiply inherited interfaces derived from an nsISupports other
            than the root or XPCOM-identity nsISupports; or a reference to an
            inner object in the case of true XPCOM aggregation.  aIID identifies
            this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObjectOutputStream.GetBuffer(System.UInt32,System.UInt32)">
            <summary>
            Optimized serialization support -- see nsIStreamBufferAccess.idl.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIObserver">
            <summary>
            This interface is implemented by an object that wants
            to observe an event corresponding to a topic.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObserver.Observe(Gecko.Interfaces.nsISupports,System.String,System.String)">
            <summary>
            Observe will be called when there is a notification for the
            topic |aTopic|.  This assumes that the object implementing
            this interface has been registered with an observer service
            such as the nsIObserverService.
            
            If you expect multiple topics/subjects, the impl is
            responsible for filtering.
            
            You should not modify, add, remove, or enumerate
            notifications in the implemention of observe.
            </summary>
            <param name="aSubject">
            : Notification specific interface pointer.
            </param>
            <param name="aTopic">
            : The notification topic or subject.
            </param>
            <param name="aData">
            : Notification specific wide string.
            subject event.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIObserverService">
            <summary>
            nsIObserverService
            
            Service allows a client listener (nsIObserver) to register and unregister for
            notifications of specific string referenced topic. Service also provides a
            way to notify registered listeners and a way to enumerate registered client
            listeners.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIObserverService.AddObserver(Gecko.Interfaces.nsIObserver,System.String,System.Boolean)">
            <summary>
            AddObserver
            
            Registers a given listener for a notifications regarding the specified
            topic.
            </summary>
            <param name="anObserve">
            : The interface pointer which will receive notifications.
            </param>
            <param name="aTopic">
            : The notification topic or subject.
            </param>
            <param name="ownsWeak">
            : If set to false, the nsIObserverService will hold a
            strong reference to |anObserver|.  If set to true and
            |anObserver| supports the nsIWeakReference interface,
            a weak reference will be held.  Otherwise an error will be
            returned.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIObserverService.RemoveObserver(Gecko.Interfaces.nsIObserver,System.String)">
            <summary>
            removeObserver
            
            Unregisters a given listener from notifications regarding the specified
            topic.
            </summary>
            <param name="anObserver">
            : The interface pointer which will stop recieving
            notifications.
            </param>
            <param name="aTopic">
            : The notification topic or subject.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIObserverService.NotifyObservers(Gecko.Interfaces.nsISupports,System.String,System.String)">
            <summary>
            notifyObservers
            
            Notifies all registered listeners of the given topic.
            </summary>
            <param name="aSubject">
            : Notification specific interface pointer.
            </param>
            <param name="aTopic">
            : The notification topic or subject.
            </param>
            <param name="someData">
            : Notification specific wide string.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIObserverService.EnumerateObservers(System.String)">
            <summary>
            enumerateObservers
            
            Returns an enumeration of all registered listeners.
            </summary>
            <param name="aTopic">
            : The notification topic or subject.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateObserver.UpdateStateChanged(Gecko.Interfaces.nsIOfflineCacheUpdate,System.UInt32)">
            <summary>
            aUpdate has changed its state.
            </summary>
            <param name="aUpdate">
            The nsIOfflineCacheUpdate being processed.
            </param>
            <param name="event">
            See enumeration above
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateObserver.ApplicationCacheAvailable(Gecko.Interfaces.nsIApplicationCache)">
            <summary>
            Informs the observer about an application being available to associate.
            </summary>
            <param name="applicationCache">
            The application cache instance that has been created or found by the
            update to associate with
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIOfflineCacheUpdate">
            <summary>
            An nsIOfflineCacheUpdate is used to update an application&apos;s offline
            resources.
            
            It can be used to perform partial or complete updates.
            
            One update object will be updating at a time.  The active object will
            load its items one by one, sending itemCompleted() to any registered
            observers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.GetStatusAttribute">
            <summary>
            Fetch the status of the running update.  This will return a value
            defined in nsIDOMOfflineResourceList.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.GetPartialAttribute">
            <summary>
            TRUE if the update is being used to add specific resources.
            FALSE if the complete cache update process is happening.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.GetIsUpgradeAttribute">
            <summary>
            TRUE if this is an upgrade attempt, FALSE if it is a new cache
            attempt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.GetUpdateDomainAttribute(Gecko.nsACStringBase)">
            <summary>
            The domain being updated, and the domain that will own any URIs added
            with this update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.GetManifestURIAttribute">
            <summary>
            The manifest for the offline application being updated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.GetSucceededAttribute">
            <summary>
            TRUE if the cache update completed successfully.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.Init(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIDOMDocument,Gecko.Interfaces.nsIFile)">
            <summary>
            Initialize the update.
            </summary>
            <param name="aManifestURI">
            The manifest URI to be checked.
            </param>
            <param name="aDocumentURI">
            The page that is requesting the update.
            </param>
            <param name="aLoadingPrincipal">
            The principal of the page that is requesting the update.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.InitPartial(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Initialize the update for partial processing.
            </summary>
            <param name="aManifestURI">
            The manifest URI of the related cache.
            </param>
            <param name="aClientID">
            Client  ID of the cache to store resource to. This ClientID
            must be ID of cache in the cache group identified by
            the manifest URI passed in the first parameter.
            </param>
            <param name="aDocumentURI">
            The page that is requesting the update. May be null
            when this information is unknown.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.InitForUpdateCheck(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIObserver)">
            <summary>
            Initialize the update to only check whether there is an update
            to the manifest available (if it has actually changed on the server).
            </summary>
            <param name="aManifestURI">
            The manifest URI of the related cache.
            </param>
            <param name="aObserver">
            nsIObserver implementation that receives the result.
            When aTopic == &quot;offline-cache-update-available&quot; there is an update to
            to download. Update of the app cache will lead to a new version
            download.
            When aTopic == &quot;offline-cache-update-unavailable&quot; then there is no
            update available (the manifest has not changed on the server).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.AddDynamicURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Add a dynamic URI to the offline cache as part of the update.
            </summary>
            <param name="aURI">
            The URI to add.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.Schedule">
            <summary>
            Add the update to the offline update queue.  An offline-cache-update-added
            event will be sent to the observer service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.AddObserver(Gecko.Interfaces.nsIOfflineCacheUpdateObserver,System.Boolean)">
            <summary>
            Observe loads that are added to the update.
            </summary>
            <param name="aObserver">
            object that notifications will be sent to.
            </param>
            <param name="aHoldWeak">
            TRUE if you want the update to hold a weak reference to the
            observer, FALSE for a strong reference.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.RemoveObserver(Gecko.Interfaces.nsIOfflineCacheUpdateObserver)">
            <summary>
            Remove an observer from the update.
            </summary>
            <param name="aObserver">
            the observer to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.Cancel">
            <summary>
            Cancel the update when still in progress. This stops all running resource
            downloads and discards the downloaded cache version. Throws when update
            has already finished and made the new cache version active.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdate.GetByteProgressAttribute">
            <summary>
            Return the number of bytes downloaded so far
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.GetNumUpdatesAttribute">
            <summary>
            Access to the list of cache updates that have been scheduled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.ScheduleUpdate(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.mozIDOMWindow)">
            <summary>
            Schedule a cache update for a given offline manifest.  If an
            existing update is scheduled or running, that update will be returned.
            Otherwise a new update will be scheduled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.ScheduleAppUpdate(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIFile)">
            <summary>
            Schedule a cache update for a given offline manifest using app cache
            bound to the given appID+inIsolatedMozBrowser flag.  If an existing update
            is scheduled or running, that update will be returned. Otherwise a new
            update will be scheduled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.ScheduleOnDocumentStop(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIDOMDocument)">
            <summary>
            Schedule a cache update for a manifest when the document finishes
            loading.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.CheckForUpdate(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIObserver)">
            <summary>
            Schedule a check to see if an update is available.
            
            This will not update or make any changes to the appcache.
            It only notifies the observer to indicate whether the manifest has
            changed on the server (or not): a changed manifest means that an
            update is available.
            
            For arguments see nsIOfflineCacheUpdate.initForUpdateCheck() method
            description.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.OfflineAppAllowed(Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrefBranch)">
            <summary>
            Checks whether a principal should have access to the offline
            cache.
            </summary>
            <param name="aPrincipal">
            The principal to check.
            </param>
            <param name="aPrefBranch">
            The pref branch to use to check the
            offline-apps.allow_by_default pref.  If not specified,
            the pref service will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.OfflineAppAllowedForURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrefBranch)">
            <summary>
            Checks whether a document at the given URI should have access
            to the offline cache.
            </summary>
            <param name="aURI">
            The URI to check
            </param>
            <param name="aPrefBranch">
            The pref branch to use to check the
            offline-apps.allow_by_default pref.  If not specified,
            the pref service will be used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOfflineCacheUpdateService.AllowOfflineApp(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Sets the &quot;offline-app&quot; permission for the principal.
            In the single process model calls directly on permission manager.
            In the multi process model dispatches to the parent process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOSFileConstantsService.Init(System.IntPtr)">
            <summary>
            Inject module OS.Constants in the environment.
            
            This method must be called only from the main thread.
            Method is idempotent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentalControlsService.GetParentalControlsEnabledAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentalControlsService.GetBlockFileDownloadsEnabledAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentalControlsService.IsAllowed(System.Int16,Gecko.Interfaces.nsIURI)">
            <summary>
            Check if the user can do the prescibed action for this uri.
            </summary>
            <param name="aAction">
            Action being performed
            </param>
            <param name="aUri">
            The uri requesting this action
            </param>
            <param name="aWindow">
            The window generating this event.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentalControlsService.RequestURIOverride(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Request that blocked URI(s) be allowed through parental
            control filters. Returns true if the URI was successfully
            overriden. Note, may block while native UI is shown.
            </summary>
            <param name="aTarget(s)">
            URI to be overridden. In the case of
            multiple URI, the first URI in the array
            should be the root URI of the site.
            </param>
            <param name="window">
            Window that generates the event.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentalControlsService.GetLoggingEnabledAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentalControlsService.Log(System.Int16,System.Boolean,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIFile)">
            <summary>
            Log an application specific parental controls
            event.
            </summary>
            <param name="aEntryType">
            Constant defining the type of event.
            </param>
            <param name="aFlag">
            A flag indicating if the subject content
            was blocked.
            </param>
            <param name="aSource">
            The URI source of the subject content.
            </param>
            <param name="aTarget">
            The location the content was saved to if
            no blocking occurred.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIParentChannel">
            <summary>
            Implemented by chrome side of IPC protocols.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentChannel.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentChannel.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentChannel.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentChannel.SetParentListener(System.IntPtr)">
            <summary>
            Called to set the HttpChannelParentListener object (optional).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentChannel.NotifyTrackingProtectionDisabled">
            <summary>
            Called to notify the HttpChannelChild that tracking protection was
            disabled for this load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentChannel.Delete">
            <summary>
            Called to invoke deletion of the IPC protocol.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIParentRedirectingChannel">
            <summary>
            Implemented by chrome side of IPC protocols that support redirect responses.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.SetParentListener(System.IntPtr)">
            <summary>
            Called to set the HttpChannelParentListener object (optional).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.NotifyTrackingProtectionDisabled">
            <summary>
            Called to notify the HttpChannelChild that tracking protection was
            disabled for this load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.Delete">
            <summary>
            Called to invoke deletion of the IPC protocol.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.StartRedirect(System.UInt32,Gecko.Interfaces.nsIChannel,System.UInt32,Gecko.Interfaces.nsIAsyncVerifyRedirectCallback)">
            <summary>
            Called when the channel got a response that redirects it to a different
            URI.  The implementation is responsible for calling the redirect observers
            on the child process and provide the decision result to the callback.
            </summary>
            <param name="newChannelId">
            id of the redirect channel obtained from nsIRedirectChannelRegistrar.
            </param>
            <param name="newURI">
            the URI we redirect to
            </param>
            <param name="callback">
            redirect result callback, usage is compatible with how
            nsIChannelEventSink defines it
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParentRedirectingChannel.CompleteRedirect(System.Boolean)">
            <summary>
            Called after we are done with redirecting process and we know if to
            redirect or not.  Forward the redirect result to the child process.  From
            that moment the nsIParentChannel implementation expects it will be
            forwarded all notifications from the &apos;real&apos; channel.
            
            Primarilly used by HttpChannelParentListener::OnRedirectResult and kept
            as mActiveChannel and mRedirectChannel in that class.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIParserUtils">
            <summary>
            Non-Web HTML parser functionality to Firefox extensions and XULRunner apps.
            Don&apos;t use this from within Gecko--use nsContentUtils, nsTreeSanitizer, etc.
            directly instead.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIParserUtils.Sanitize(Gecko.nsAStringBase,System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Parses a string into an HTML document, sanitizes the document and
            returns the result serialized to a string.
            
            The sanitizer is designed to protect against XSS when sanitized content
            is inserted into a different-origin context without an iframe-equivalent
            sandboxing mechanism.
            
            By default, the sanitizer doesn&apos;t try to avoid leaking information that
            the content was viewed to third parties. That is, by default, e.g.
            &lt;img src&gt; pointing to an HTTP server potentially controlled by a third
            party is not removed. To avoid ambient information leakage upon loading
            the sanitized content, use the SanitizerInternalEmbedsOnly flag. In that
            case, &lt;a href&gt; links (and similar) to other content are preserved, so an
            explicit user action (following a link) after the content has been loaded
            can still leak information.
            
            By default, non-dangerous non-CSS presentational HTML elements and
            attributes or forms are not removed. To remove these, use
            SanitizerDropNonCSSPresentation and/or SanitizerDropForms.
            
            By default, comments and CSS is removed. To preserve comments, use
            SanitizerAllowComments. To preserve &lt;style&gt; and style=&quot;&quot;, use
            SanitizerAllowStyle. -moz-binding is removed from &lt;style&gt; and style=&quot;&quot; if
            present. In this case, properties that Gecko doesn&apos;t recognize can get
            removed as a side effect. Note! If -moz-binding is not present, &lt;style&gt;
            and style=&quot;&quot; and SanitizerAllowStyle is specified, the sanitized content
            may still be XSS dangerous if loaded into a non-Gecko Web engine!
            </summary>
            <param name="src">
            the HTML source to parse (C++ callers are allowed but not
            required to use the same string for the return value.)
            </param>
            <param name="flags">
            sanitization option flags defined above
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParserUtils.ConvertToPlainText(Gecko.nsAStringBase,System.UInt32,System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Convert HTML to plain text.
            </summary>
            <param name="src">
            the HTML source to parse (C++ callers are allowed but not
            required to use the same string for the return value.)
            </param>
            <param name="flags">
            conversion option flags defined in nsIDocumentEncoder
            </param>
            <param name="wrapCol">
            number of characters per line; 0 for no auto-wrapping
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIParserUtils.ParseFragment(Gecko.nsAStringBase,System.UInt32,System.Boolean,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Parses markup into a sanitized document fragment.
            </summary>
            <param name="fragment">
            the input markup
            </param>
            <param name="flags">
            sanitization option flags defined above
            </param>
            <param name="isXML">
            true if |fragment| is XML and false if HTML
            </param>
            <param name="baseURI">
            the base URL for this fragment
            </param>
            <param name="element">
            the context node for the fragment parsing algorithm
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIPermission">
            <summary>
            This interface defines a &quot;permission&quot; object,
            used to specify allowed/blocked objects from
            user-specified sites (cookies, images etc).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermission.GetPrincipalAttribute">
            <summary>
            The principal for which this permission applies.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermission.GetTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            a case-sensitive ASCII string, indicating the type of permission
            (e.g., &quot;cookie&quot;, &quot;image&quot;, etc).
            This string is specified by the consumer when adding a permission
            via nsIPermissionManager.
            </summary>
            <remarks>
            See nsIPermissionManager
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermission.GetCapabilityAttribute">
            <summary>
            The permission (see nsIPermissionManager.idl for allowed values)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermission.GetExpireTypeAttribute">
            <summary>
            The expiration type of the permission (session, time-based or none).
            Constants are EXPIRE_*, defined in nsIPermissionManager.
            </summary>
            <remarks>
            See nsIPermissionManager
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermission.GetExpireTimeAttribute">
            <summary>
            The expiration time of the permission (milliseconds since Jan 1 1970
            0:00:00).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermission.Matches(Gecko.Interfaces.nsIPrincipal,System.Boolean)">
            <summary>
            Test whether a principal would be affected by this permission.
            </summary>
            <param name="principal">
            the principal to test
            </param>
            <param name="exactHost">
            If true, only the specific host will be matched,
            </param>
            <remarks>
            See nsIPermissionManager::testPermission.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermission.MatchesURI(Gecko.Interfaces.nsIURI,System.Boolean)">
            <summary>
            Test whether a URI would be affected by this permission.
            NOTE: This performs matches with default origin attribute values.
            </summary>
            <param name="uri">
            the uri to test
            </param>
            <param name="exactHost">
            If true, only the specific host will be matched,
            </param>
            <remarks>
            See nsIPermissionManager::testPermission.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.Add(Gecko.Interfaces.nsIURI,System.String,System.UInt32,System.UInt32,System.Int64)">
            <summary>
            Add permission information for a given URI and permission type. This
            operation will cause the type string to be registered if it does not
            currently exist. If a permission already exists for a given type, it
            will be modified.
            </summary>
            <param name="uri">
            the uri to add the permission for
            </param>
            <param name="type">
            a case-sensitive ASCII string, identifying the consumer.
            Consumers should choose this string to be unique, with
            respect to other consumers.
            </param>
            <param name="permission">
            an integer representing the desired action (e.g. allow
            or deny). The interpretation of this number is up to the
            consumer, and may represent different actions for different
            types. Consumers may use one of the enumerated permission
            actions defined above, for convenience.
            NOTE: UNKNOWN_ACTION (0) is reserved to represent the
            default permission when no entry is found for a host, and
            should not be used by consumers to indicate otherwise.
            </param>
            <param name="expiretype">
            a constant defining whether this permission should
            never expire (EXPIRE_NEVER), expire at the end of the
            session (EXPIRE_SESSION), or expire at a specified time
            (EXPIRE_TIME).
            </param>
            <param name="expiretime">
            an integer representation of when this permission
            should be forgotten (milliseconds since Jan 1 1970 0:00:00).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.GetAllForURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Get all custom permissions for a given URI. This will return
            an enumerator of all permissions which are not set to default
            and which belong to the matching prinicpal of the given URI.
            </summary>
            <param name="uri">
            the URI to get all permissions for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.AddFromPrincipal(Gecko.Interfaces.nsIPrincipal,System.String,System.UInt32,System.UInt32,System.Int64)">
            <summary>
            Add permission information for a given principal.
            It is internally calling the other add() method using the nsIURI from the
            principal.
            Passing a system principal will be a no-op because they will always be
            granted permissions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.Remove(Gecko.Interfaces.nsIURI,System.String)">
            <summary>
            Remove permission information for a given URI and permission type. This will
            remove the permission for the entire host described by the uri, acting as the
            opposite operation to the add() method.
            </summary>
            <param name="uri">
            the uri to remove the permission for
            </param>
            <param name="type">
            a case-sensitive ASCII string, identifying the consumer.
            The type must have been previously registered using the
            add() method.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.RemoveFromPrincipal(Gecko.Interfaces.nsIPrincipal,System.String)">
            <summary>
            Remove permission information for a given principal.
            This is internally calling remove() with the host from the principal&apos;s URI.
            Passing system principal will be a no-op because we never add them to the
            database.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.RemovePermission(Gecko.Interfaces.nsIPermission)">
            <summary>
            Remove the given permission from the permission manager.
            </summary>
            <param name="perm">
            a permission obtained from the permission manager.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.RemoveAll">
            <summary>
            Clear permission information for all websites.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.RemoveAllSince(System.Int64)">
            <summary>
            Clear all permission information added since the specified time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.TestPermission(Gecko.Interfaces.nsIURI,System.String)">
            <summary>
            Test whether a website has permission to perform the given action.
            </summary>
            <param name="uri">
            the uri to be tested
            </param>
            <param name="type">
            a case-sensitive ASCII string, identifying the consumer
            </param>
            <param name="return">
            see add(), param permission. returns UNKNOWN_ACTION when
            there is no stored permission for this uri and / or type.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.TestPermissionFromPrincipal(Gecko.Interfaces.nsIPrincipal,System.String)">
            <summary>
            Test whether the principal has the permission to perform a given action.
            System principals will always have permissions granted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.TestPermissionFromWindow(Gecko.Interfaces.mozIDOMWindow,System.String)">
            <summary>
            Test whether the principal associated with the window&apos;s document has the
            permission to perform a given action.  System principals will always
            have permissions granted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.TestExactPermission(Gecko.Interfaces.nsIURI,System.String)">
            <summary>
            Test whether a website has permission to perform the given action.
            This requires an exact hostname match, subdomains are not a match.
            </summary>
            <param name="uri">
            the uri to be tested
            </param>
            <param name="type">
            a case-sensitive ASCII string, identifying the consumer
            </param>
            <param name="return">
            see add(), param permission. returns UNKNOWN_ACTION when
            there is no stored permission for this uri and / or type.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.TestExactPermissionFromPrincipal(Gecko.Interfaces.nsIPrincipal,System.String)">
            <summary>
            See testExactPermission() above.
            System principals will always have permissions granted.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.TestExactPermanentPermission(Gecko.Interfaces.nsIPrincipal,System.String)">
            <summary>
            Test whether a website has permission to perform the given action
            ignoring active sessions.
            System principals will always have permissions granted.
            </summary>
            <param name="principal">
            the principal
            </param>
            <param name="type">
            a case-sensitive ASCII string, identifying the consumer
            </param>
            <param name="return">
            see add(), param permission. returns UNKNOWN_ACTION when
            there is no stored permission for this uri and / or type.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.GetPermissionObject(Gecko.Interfaces.nsIPrincipal,System.String,System.Boolean)">
            <summary>
            Get the permission object associated with the given principal and action.
            </summary>
            <param name="principal">
            The principal
            </param>
            <param name="type">
            A case-sensitive ASCII string identifying the consumer
            </param>
            <param name="exactHost">
            If true, only the specific host will be matched,
            </param>
            <remarks>
            See testExactPermission. If false, subdomains will
            also be searched, @see testPermission.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.GetEnumeratorAttribute">
            <summary>
            Allows enumeration of all stored permissions
            </summary>
            <returns>
            an nsISimpleEnumerator interface that allows access to
            nsIPermission objects
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.RemovePermissionsWithAttributes(Gecko.nsAStringBase)">
            <summary>
            Remove all permissions that will match the origin pattern.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.UpdateExpireTime(Gecko.Interfaces.nsIPrincipal,System.String,System.Boolean,System.UInt64,System.UInt64)">
            <summary>
            If the current permission is set to expire, reset the expiration time. If
            there is no permission or the current permission does not expire, this
            method will silently return.
            </summary>
            <param name="sessionExpiretime">
            an integer representation of when this permission
            should be forgotten (milliseconds since
            Jan 1 1970 0:00:00), if it is currently
            EXPIRE_TIME.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionManager.RefreshPermission">
            <summary>
            Remove all current permission settings and get permission settings from
            chrome process.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPermissionPromptService">
            <summary>
            Generic permission service for access to WebAPIs, hardware, capabilities.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPermissionPromptService.GetPermission(Gecko.Interfaces.nsIContentPermissionRequest)">
            <summary>
            Checks if the capability requires a permission, fires the corresponding cancel()
            or allow() method in aRequest after consulting PermissionSettings, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProperties.Get(System.String,System.Guid@)">
            <summary>
            Gets a property with a given name.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't exist.
            NS_ERROR_NO_INTERFACE: if the found property fails to QI to the
            given iid.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIProperties.Set(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Sets a property with a given name to a given value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProperties.Has(System.String)">
            <summary>
            Returns true if the property with the given name exists.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProperties.Undefine(System.String)">
            <summary>
            Undefines a property.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't
            already exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIProperties.GetKeys(System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of the keys.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.Get(System.String,System.Guid@)">
            <summary>
            Gets a property with a given name.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't exist.
            NS_ERROR_NO_INTERFACE: if the found property fails to QI to the
            given iid.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.Set(System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Sets a property with a given name to a given value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.Has(System.String)">
            <summary>
            Returns true if the property with the given name exists.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.Undefine(System.String)">
            <summary>
            Undefines a property.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't
            already exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.GetKeys(System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of the keys.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.Load(Gecko.Interfaces.nsIInputStream)">
            <summary>
            load a set of name/value pairs from the input stream
            names and values should be in UTF8
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.Save(Gecko.Interfaces.nsIOutputStream,Gecko.nsAUTF8StringBase)">
            <summary>
            output the values to the stream - results will be in UTF8
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.Enumerate">
            <summary>
            get an enumeration of nsIPropertyElement objects,
            which are read-only (i.e. setting properties on the element will
            not make changes back into the source nsIPersistentProperties
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.GetStringProperty(Gecko.nsAUTF8StringBase,Gecko.nsAStringBase)">
            <summary>
            shortcut to nsIProperty&apos;s get() which retrieves a string value
            directly (and thus faster)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPersistentProperties.SetStringProperty(Gecko.nsAUTF8StringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            shortcut to nsIProperty&apos;s set() which sets a string value
            directly (and thus faster). If the given property already exists,
            then the old value will be returned
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPhonetic">
            <summary>
            This interface is used to get the phonetic value of the input text.
            It can be used to get corresponding phonetic value for ideographic text.
            The interface can be retrieved by calling QI to the interface
            which implements the phonetic interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPhonetic.GetPhoneticAttribute(Gecko.nsAStringBase)">
            <summary>
            phonetic get the phonetic value of the input text
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPipe">
            <summary>
            nsIPipe represents an in-process buffer that can be read using nsIInputStream
            and written using nsIOutputStream.  The reader and writer of a pipe do not
            have to be on the same thread.  As a result, the pipe is an ideal mechanism
            to bridge data exchange between two threads.  For example, a worker thread
            might write data to a pipe from which the main thread will read.
            
            Each end of the pipe can be either blocking or non-blocking.  Recall that a
            non-blocking stream will return NS_BASE_STREAM_WOULD_BLOCK if it cannot be
            read or written to without blocking the calling thread.  For example, if you
            try to read from an empty pipe that has not yet been closed, then if that
            pipe&apos;s input end is non-blocking, then the read call will fail immediately
            with NS_BASE_STREAM_WOULD_BLOCK as the error condition.  However, if that
            pipe&apos;s input end is blocking, then the read call will not return until the
            pipe has data or until the pipe is closed.  This example presumes that the
            pipe is being filled asynchronously on some background thread.
            
            The pipe supports nsIAsyncInputStream and nsIAsyncOutputStream, which give
            the user of a non-blocking pipe the ability to wait for the pipe to become
            ready again.  For example, in the case of an empty non-blocking pipe, the
            user can call AsyncWait on the input end of the pipe to be notified when
            the pipe has data to read (or when the pipe becomes closed).
            
            NS_NewPipe2 and NS_NewPipe provide convenient pipe constructors.  In most
            cases nsIPipe is not actually used.  It is usually enough to just get
            references to the pipe&apos;s input and output end.  In which case, the pipe is
            automatically closed when the respective pipe ends are released.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPipe.Init(System.Boolean,System.Boolean,System.UInt32,System.UInt32)">
            <summary>
            initialize this pipe
            </summary>
            <param name="nonBlockingInput">
            true specifies non-blocking input stream behavior
            </param>
            <param name="nonBlockingOutput">
            true specifies non-blocking output stream behavior
            </param>
            <param name="segmentSize">
            specifies the segment size in bytes (pass 0 to use default value)
            </param>
            <param name="segmentCount">
            specifies the max number of segments (pass 0 to use default
            value).   Passing UINT32_MAX here causes the pipe to have
            &quot;infinite&quot; space.  This mode can be useful in some cases, but
            should always be used with caution.  The default value for this
            parameter is a finite value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPipe.GetInputStreamAttribute">
            <summary>
            The pipe&apos;s input end, which also implements nsISearchableInputStream.
            Getting fails if the pipe hasn&apos;t been initialized.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPipe.GetOutputStreamAttribute">
            <summary>
            The pipe&apos;s output end. Getting fails if the pipe hasn&apos;t been
            initialized.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISearchableInputStream">
            <summary>
            XXX this interface doesn&apos;t really belong in here.  It is here because
            currently nsPipeInputStream is the only implementation of this interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISearchableInputStream.Search(System.String,System.Boolean,System.Boolean@,System.UInt32@)">
            <summary>
            Searches for a string in the input stream. Since the stream has a notion
            of EOF, it is possible that the string may at some time be in the
            buffer, but is is not currently found up to some offset. Consequently,
            both the found and not found cases return an offset:
            if found, return offset where it was found
            if not found, return offset of the first byte not searched
            In the case the stream is at EOF and the string is not found, the first
            byte not searched will correspond to the length of the buffer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPK11Token.GetTokenManIDAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Manufacturer ID of the token.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPK11Token.GetTokenHWVersionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Hardware version of the token.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPK11Token.GetTokenFWVersionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Firmware version of the token.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPK11Token.CheckPassword(Gecko.nsAUTF8StringBase)">
            <summary>
            Checks whether the given password is correct. Logs the token out if an
            incorrect password is given.
            </summary>
            <param name="password">
            The password to check.
            </param>
            <returns>
            true if the password was correct, false otherwise.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIPK11TokenDB">
            <summary>
            nsIPK11TokenDB - Manages PK11 Tokens
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPKCS11Slot.GetManIDAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Manufacturer ID of the slot.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPKCS11Slot.GetHWVersionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Hardware version of the slot.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPKCS11Slot.GetFWVersionAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Firmware version of the slot.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlaintextEditor.GetTextLengthAttribute">
            <summary>
            The length of the contents in characters.
            XXX change this type to &apos;unsigned long&apos;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlaintextEditor.GetMaxTextLengthAttribute">
            <summary>
            The maximum number of characters allowed.
            default: -1 (unlimited).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlaintextEditor.GetWrapWidthAttribute">
            <summary>
            Get and set the body wrap width.
            
            Special values:
            0 = wrap to window width
            -1 = no wrap at all
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlaintextEditor.SetWrapColumn(System.Int32)">
            <summary>
            Similar to the setter for wrapWidth, but just sets the editor
            internal state without actually changing the content being edited
            to wrap at that column.  This should only be used by callers who
            are sure that their content is already set up correctly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlaintextEditor.GetNewlineHandlingAttribute">
            <summary>
            Get and set newline handling.
            
            Values are the constants defined above.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlaintextEditor.InsertText(Gecko.nsAStringBase)">
            <summary>
            Inserts a string at the current location,
            given by the selection.
            If the selection is not collapsed, the selection is deleted
            and the insertion takes place at the resulting collapsed selection.
            </summary>
            <param name="aString">
            the string to be inserted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPlaintextEditor.InsertLineBreak">
            <summary>
            Insert a line break into the content model.
            The interpretation of a break is up to the implementation:
            it may enter a character, split a node in the tree, etc.
            This may be more efficient than calling InsertText with a newline.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginDocument.Print">
            <summary>
            Causes the plugin to print in full-page mode
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIClearSiteDataCallback.Callback(System.Int32)">
            <summary>
            callback with the result from a call to clearSiteData
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.ReloadPlugins">
            <summary>
            Causes the plugins directory to be searched again for new plugin
            libraries.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.GetPermissionStringForType(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Get the &quot;permission string&quot; for the plugin.  This is a string that can be
            passed to the permission manager to see whether the plugin is allowed to
            run, for example.  This will typically be based on the plugin&apos;s &quot;nice name&quot;
            and its blocklist state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.GetPermissionStringForTag(Gecko.Interfaces.nsIPluginTag,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Get the &quot;permission string&quot; for the plugin.  This is a string that can be
            passed to the permission manager to see whether the plugin is allowed to
            run, for example.  This will typically be based on the plugin&apos;s &quot;nice name&quot;
            and its blocklist state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.GetPluginTagForType(Gecko.nsAUTF8StringBase,System.UInt32)">
            <summary>
            Get the nsIPluginTag for this MIME type. This method works with both
            enabled and disabled/blocklisted plugins, but an enabled plugin will
            always be returned if available.
            
            A fake plugin tag, if one exists and is available, will be returned in
            preference to NPAPI plugin tags unless excluded by the excludeFlags.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if no plugin is available for this MIME
            type.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.GetStateForType(Gecko.nsAUTF8StringBase,System.UInt32)">
            <summary>
            Get the nsIPluginTag enabled state for this MIME type.  See
            nsIPluginTag.enabledState.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.GetBlocklistStateForType(Gecko.nsAUTF8StringBase,System.UInt32)">
            <summary>
            Get the blocklist state for a MIME type.  See nsIPluginTag.blocklistState.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.RegisterFakePlugin(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Create a fake plugin tag, register it, and return it.  The argument is a
            FakePluginTagInit dictionary.  See documentation in
            FakePluginTagInit.webidl for what it should look like.  Will throw
            NS_ERROR_UNEXPECTED if there is already a fake plugin registered with the
            given handler URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.GetFakePlugin(Gecko.nsAUTF8StringBase)">
            <summary>
            Get a reference to an existing fake plugin tag for the given MIME type, if
            any.  Can return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginHost.UnregisterFakePlugin(Gecko.nsAUTF8StringBase)">
            <summary>
            Unregister a fake plugin.  The argument can be the .handlerURI.spec of an
            existing nsIFakePluginTag, or just a known handler URI string that was
            passed in the FakePluginTagInit when registering.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPluginInputStream">
            <summary>
            The nsIPluginInputStream interface ...
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInputStream.GetLastModified(System.UInt32@)">
            <summary>
            Corresponds to NPStream&apos;s lastmodified field.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.SetInstance(System.IntPtr)">
            <summary>
            Let the owner know what its instance is
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.GetInstance">
            <summary>
            Get the instance associated with this owner.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.GetWindow(System.IntPtr)">
            <summary>
            Get a handle to the window structure of the owner.
            This pointer cannot be made persistent by the caller.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.GetModeAttribute">
            <summary>
            Get the display mode for the plugin instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.CreateWidget">
            <summary>
            Create a place for the plugin to live in the owner&apos;s
            environment. this may or may not create a window
            depending on the windowless state of the plugin instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.GetDocumentAttribute">
            <summary>
            Get the associated document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.InvalidateRect(System.IntPtr)">
            <summary>
            Invalidate the rectangle
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.InvalidateRegion(System.IntPtr)">
            <summary>
            Invalidate the region
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.RedrawPlugin">
            <summary>
            Have the plugin recomposited.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.GetNetscapeWindow(System.IntPtr)">
            <summary>
            Get NetscapeWindow, corresponds to NPNVnetscapeWindow
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.CallSetWindow">
            <summary>
            Call NPP_SetWindow on the plugin.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginInstanceOwner.GetContentsScaleFactor">
            <summary>
            Get the contents scale factor for the screen the plugin is
            drawn on.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginTag.GetBlocklistedAttribute">
            <summary>
            true only if this plugin is &quot;hardblocked&quot; and cannot be enabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPluginTag.GetIsEnabledStateLockedAttribute">
            <summary>
            true if the state is non-default and locked, false otherwise.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIFakePluginTag">
            <summary>
            An interface representing a &quot;fake&quot; plugin: one implemented in JavaScript, not
            as a NPAPI plug-in.  See nsIPluginHost.registerFakePlugin and the
            documentation for the FakePluginTagInit dictionary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFakePluginTag.GetBlocklistedAttribute">
            <summary>
            true only if this plugin is &quot;hardblocked&quot; and cannot be enabled.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIFakePluginTag.GetIsEnabledStateLockedAttribute">
            <summary>
            true if the state is non-default and locked, false otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPopupWindowManager.TestPermission(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Test whether a website has permission to show a popup window.
            </summary>
            <param name="principal">
            is the principal to be tested
            </param>
            <returns>
            one of the enumerated permission actions defined above
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIPowerManagerService">
            <summary>
            For use with non-content code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPowerManagerService.PowerOff">
            <summary>
            This API will power off the machine.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPowerManagerService.Reboot">
            <summary>
            This API will completely shut down and boot the machine.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPowerManagerService.Restart">
            <summary>
            This API will restart the Gecko processes without powering off the machine.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPowerManagerService.NewWakeLock(Gecko.nsAStringBase,Gecko.Interfaces.mozIDOMWindow)">
            <summary>
            Return a wake lock (MozWakeLock) object of aTopic associated with aWindow.
            A wake lock without associated window, e.g. used in chrome, is
            always considered invisible.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrefBranch">
            <summary>
            The nsIPrefBranch interface is used to manipulate the preferences data. This
            object may be obtained from the preferences service (nsIPrefService) and
            used to get and set default and/or user preferences across the application.
            
            This object is created with a &quot;root&quot; value which describes the base point in
            the preferences &quot;tree&quot; from which this &quot;branch&quot; stems. Preferences are
            accessed off of this root by using just the final portion of the preference.
            For example, if this object is created with the root &quot;browser.startup.&quot;,
            the preferences &quot;browser.startup.page&quot;, &quot;browser.startup.homepage&quot;,
            and &quot;browser.startup.homepage_override&quot; can be accessed by simply passing
            &quot;page&quot;, &quot;homepage&quot;, or &quot;homepage_override&quot; to the various Get/Set methods.
            </summary>
            <remarks>
            See nsIPrefService
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetRootAttribute">
            <summary>
            Called to get the root on which this branch is based, such as
            &quot;browser.startup.&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetPrefType(System.String)">
            <summary>
            Called to determine the type of a specific preference.
            </summary>
            <param name="aPrefName">
            The preference to get the type of.
            </param>
            <returns>
            long     A value representing the type of the preference. This
            value will be PREF_STRING, PREF_INT, or PREF_BOOL.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetBoolPref(System.String)">
            <summary>
            Called to get the state of an individual boolean preference.
            </summary>
            <param name="aPrefName">
            The boolean preference to get the state of.
            </param>
            <returns>
            boolean  The value of the requested boolean preference.
            </returns>
            <remarks>
            See setBoolPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.SetBoolPref(System.String,System.Boolean)">
            <summary>
            Called to set the state of an individual boolean preference.
            </summary>
            <param name="aPrefName">
            The boolean preference to set the state of.
            </param>
            <param name="aValue">
            The boolean value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than boolean.
            </exception>
            <remarks>
            See getBoolPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetFloatPref(System.String)">
            <summary>
            Called to get the state of an individual floating-point preference.
            &quot;Floating point&quot; preferences are really string preferences that
            are converted to floating point numbers.
            </summary>
            <param name="aPrefName">
            The floating point preference to get the state of.
            </param>
            <returns>
            float  The value of the requested floating point preference.
            </returns>
            <remarks>
            See setCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetCharPref(System.String)">
            <summary>
            Called to get the state of an individual string preference.
            </summary>
            <param name="aPrefName">
            The string preference to retrieve.
            </param>
            <returns>
            string   The value of the requested string preference.
            </returns>
            <remarks>
            See setCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.SetCharPref(System.String,System.String)">
            <summary>
            Called to set the state of an individual string preference.
            </summary>
            <param name="aPrefName">
            The string preference to set.
            </param>
            <param name="aValue">
            The string value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than string.
            </exception>
            <remarks>
            See getCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetIntPref(System.String)">
            <summary>
            Called to get the state of an individual integer preference.
            </summary>
            <param name="aPrefName">
            The integer preference to get the value of.
            </param>
            <returns>
            long     The value of the requested integer preference.
            </returns>
            <remarks>
            See setIntPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.SetIntPref(System.String,System.Int32)">
            <summary>
            Called to set the state of an individual integer preference.
            </summary>
            <param name="aPrefName">
            The integer preference to set the value of.
            </param>
            <param name="aValue">
            The integer value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than integer.
            </exception>
            <remarks>
            See getIntPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetComplexValue(System.String,System.Guid@)">
            <summary>
            Called to get the state of an individual complex preference. A complex
            preference is a preference which represents an XPCOM object that can not
            be easily represented using a standard boolean, integer or string value.
            </summary>
            <param name="aPrefName">
            The complex preference to get the value of.
            </param>
            <param name="aType">
            The XPCOM interface that this complex preference
            represents. Interfaces currently supported are:
            - nsIFile
            - nsISupportsString (UniChar)
            - nsIPrefLocalizedString (Localized UniChar)
            </param>
            <param name="aValue">
            The XPCOM object into which to the complex preference
            value should be retrieved.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The value does not exist or is the wrong type.
            </exception>
            <remarks>
            See setComplexValue
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.SetComplexValue(System.String,System.Guid@,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to set the state of an individual complex preference. A complex
            preference is a preference which represents an XPCOM object that can not
            be easily represented using a standard boolean, integer or string value.
            </summary>
            <param name="aPrefName">
            The complex preference to set the value of.
            </param>
            <param name="aType">
            The XPCOM interface that this complex preference
            represents. Interfaces currently supported are:
            - nsIFile
            - nsISupportsString (UniChar)
            - nsIPrefLocalizedString (Localized UniChar)
            </param>
            <param name="aValue">
            The XPCOM object from which to set the complex preference
            value.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the value is the wrong type.
            </exception>
            <remarks>
            See getComplexValue
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.ClearUserPref(System.String)">
            <summary>
            Called to clear a user set value from a specific preference. This will, in
            effect, reset the value to the default value. If no default value exists
            the preference will cease to exist.
            </summary>
            <param name="aPrefName">
            The preference to be cleared.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.LockPref(System.String)">
            <summary>
            Called to lock a specific preference. Locking a preference will cause the
            preference service to always return the default value regardless of
            whether there is a user set value or not.
            </summary>
            <param name="aPrefName">
            The preference to be locked.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference does not exist or an error occurred.
            </exception>
            <remarks>
            See unlockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.PrefHasUserValue(System.String)">
            <summary>
            Called to check if a specific preference has a user value associated to
            it.
            </summary>
            <param name="aPrefName">
            The preference to be tested.
            </param>
            <returns>
            boolean  true  The preference has a user set value.
            false The preference only has a default value.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.PrefIsLocked(System.String)">
            <summary>
            Called to check if a specific preference is locked. If a preference is
            locked calling its Get method will always return the default value.
            </summary>
            <param name="aPrefName">
            The preference to be tested.
            </param>
            <returns>
            boolean  true  The preference is locked.
            false The preference is not locked.
            </returns>
            <remarks>
            See unlockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.UnlockPref(System.String)">
            <summary>
            Called to unlock a specific preference. Unlocking a previously locked
            preference allows the preference service to once again return the user set
            value of the preference.
            </summary>
            <param name="aPrefName">
            The preference to be unlocked.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference does not exist or an error occurred.
            </exception>
            <remarks>
            See lockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.DeleteBranch(System.String)">
            <summary>
            Called to remove all of the preferences referenced by this branch.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start the deleting
            preferences. Pass in "" to remove all preferences
            referenced by this branch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.GetChildList(System.String,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of strings representing the child preferences of the
            root of this branch.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start enumerating
            the child preferences. Pass in "" to enumerate all
            preferences referenced by this branch.
            </param>
            <param name="aCount">
            Receives the number of elements in the array.
            </param>
            <param name="aChildArray">
            Receives the array of child preferences.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.ResetBranch(System.String)">
            <summary>
            Called to reset all of the preferences referenced by this branch to their
            default values.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start the resetting
            preferences to their default values. Pass in "" to
            reset all preferences referenced by this branch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.AddObserver(System.String,Gecko.Interfaces.nsIObserver,System.Boolean)">
            <summary>
            Add a preference change observer. On preference changes, the following
            arguments will be passed to the nsIObserver.observe() method:
            aSubject - The nsIPrefBranch object (this)
            aTopic   - The string defined by NS_PREFBRANCH_PREFCHANGE_TOPIC_ID
            aData    - The name of the preference which has changed, relative to
            the |root| of the aSubject branch.
            
            aSubject.get*Pref(aData) will get the new value of the modified
            preference. For example, if your observer is registered with
            addObserver(&quot;bar.&quot;, ...) on a branch with root &quot;foo.&quot;, modifying
            the preference &quot;foo.bar.baz&quot; will trigger the observer, and aData
            parameter will be &quot;bar.baz&quot;.
            </summary>
            <param name="aDomain">
            The preference on which to listen for changes. This can
            be the name of an entire branch to observe.
            e.g. Holding the &quot;root&quot; prefbranch and calling
            addObserver(&quot;foo.bar.&quot;, ...) will observe changes to
            foo.bar.baz and foo.bar.bzip
            </param>
            <param name="aObserver">
            The object to be notified if the preference changes.
            </param>
            <param name="aHoldWeak">
            true  Hold a weak reference to |aObserver|. The object
            must implement the nsISupportsWeakReference
            interface or this will fail.
            false Hold a strong reference to |aObserver|.
            </param>
            <remarks>
            See removeObserver
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch.RemoveObserver(System.String,Gecko.Interfaces.nsIObserver)">
            <summary>
            Remove a preference change observer.
            </summary>
            <param name="aDomain">
            The preference which is being observed for changes.
            </param>
            <param name="aObserver">
            An observer previously registered with addObserver().
            </param>
            <remarks>
            See addObserver
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrefBranch2">
            <summary>
            An empty interface to provide backwards compatibility for existing code.
            </summary>
            <remarks>
            See nsIPrefBranch
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetRootAttribute">
            <summary>
            Called to get the root on which this branch is based, such as
            &quot;browser.startup.&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetPrefType(System.String)">
            <summary>
            Called to determine the type of a specific preference.
            </summary>
            <param name="aPrefName">
            The preference to get the type of.
            </param>
            <returns>
            long     A value representing the type of the preference. This
            value will be PREF_STRING, PREF_INT, or PREF_BOOL.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetBoolPref(System.String)">
            <summary>
            Called to get the state of an individual boolean preference.
            </summary>
            <param name="aPrefName">
            The boolean preference to get the state of.
            </param>
            <returns>
            boolean  The value of the requested boolean preference.
            </returns>
            <remarks>
            See setBoolPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.SetBoolPref(System.String,System.Boolean)">
            <summary>
            Called to set the state of an individual boolean preference.
            </summary>
            <param name="aPrefName">
            The boolean preference to set the state of.
            </param>
            <param name="aValue">
            The boolean value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than boolean.
            </exception>
            <remarks>
            See getBoolPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetFloatPref(System.String)">
            <summary>
            Called to get the state of an individual floating-point preference.
            &quot;Floating point&quot; preferences are really string preferences that
            are converted to floating point numbers.
            </summary>
            <param name="aPrefName">
            The floating point preference to get the state of.
            </param>
            <returns>
            float  The value of the requested floating point preference.
            </returns>
            <remarks>
            See setCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetCharPref(System.String)">
            <summary>
            Called to get the state of an individual string preference.
            </summary>
            <param name="aPrefName">
            The string preference to retrieve.
            </param>
            <returns>
            string   The value of the requested string preference.
            </returns>
            <remarks>
            See setCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.SetCharPref(System.String,System.String)">
            <summary>
            Called to set the state of an individual string preference.
            </summary>
            <param name="aPrefName">
            The string preference to set.
            </param>
            <param name="aValue">
            The string value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than string.
            </exception>
            <remarks>
            See getCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetIntPref(System.String)">
            <summary>
            Called to get the state of an individual integer preference.
            </summary>
            <param name="aPrefName">
            The integer preference to get the value of.
            </param>
            <returns>
            long     The value of the requested integer preference.
            </returns>
            <remarks>
            See setIntPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.SetIntPref(System.String,System.Int32)">
            <summary>
            Called to set the state of an individual integer preference.
            </summary>
            <param name="aPrefName">
            The integer preference to set the value of.
            </param>
            <param name="aValue">
            The integer value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than integer.
            </exception>
            <remarks>
            See getIntPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetComplexValue(System.String,System.Guid@)">
            <summary>
            Called to get the state of an individual complex preference. A complex
            preference is a preference which represents an XPCOM object that can not
            be easily represented using a standard boolean, integer or string value.
            </summary>
            <param name="aPrefName">
            The complex preference to get the value of.
            </param>
            <param name="aType">
            The XPCOM interface that this complex preference
            represents. Interfaces currently supported are:
            - nsIFile
            - nsISupportsString (UniChar)
            - nsIPrefLocalizedString (Localized UniChar)
            </param>
            <param name="aValue">
            The XPCOM object into which to the complex preference
            value should be retrieved.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The value does not exist or is the wrong type.
            </exception>
            <remarks>
            See setComplexValue
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.SetComplexValue(System.String,System.Guid@,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to set the state of an individual complex preference. A complex
            preference is a preference which represents an XPCOM object that can not
            be easily represented using a standard boolean, integer or string value.
            </summary>
            <param name="aPrefName">
            The complex preference to set the value of.
            </param>
            <param name="aType">
            The XPCOM interface that this complex preference
            represents. Interfaces currently supported are:
            - nsIFile
            - nsISupportsString (UniChar)
            - nsIPrefLocalizedString (Localized UniChar)
            </param>
            <param name="aValue">
            The XPCOM object from which to set the complex preference
            value.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the value is the wrong type.
            </exception>
            <remarks>
            See getComplexValue
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.ClearUserPref(System.String)">
            <summary>
            Called to clear a user set value from a specific preference. This will, in
            effect, reset the value to the default value. If no default value exists
            the preference will cease to exist.
            </summary>
            <param name="aPrefName">
            The preference to be cleared.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.LockPref(System.String)">
            <summary>
            Called to lock a specific preference. Locking a preference will cause the
            preference service to always return the default value regardless of
            whether there is a user set value or not.
            </summary>
            <param name="aPrefName">
            The preference to be locked.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference does not exist or an error occurred.
            </exception>
            <remarks>
            See unlockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.PrefHasUserValue(System.String)">
            <summary>
            Called to check if a specific preference has a user value associated to
            it.
            </summary>
            <param name="aPrefName">
            The preference to be tested.
            </param>
            <returns>
            boolean  true  The preference has a user set value.
            false The preference only has a default value.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.PrefIsLocked(System.String)">
            <summary>
            Called to check if a specific preference is locked. If a preference is
            locked calling its Get method will always return the default value.
            </summary>
            <param name="aPrefName">
            The preference to be tested.
            </param>
            <returns>
            boolean  true  The preference is locked.
            false The preference is not locked.
            </returns>
            <remarks>
            See unlockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.UnlockPref(System.String)">
            <summary>
            Called to unlock a specific preference. Unlocking a previously locked
            preference allows the preference service to once again return the user set
            value of the preference.
            </summary>
            <param name="aPrefName">
            The preference to be unlocked.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference does not exist or an error occurred.
            </exception>
            <remarks>
            See lockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.DeleteBranch(System.String)">
            <summary>
            Called to remove all of the preferences referenced by this branch.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start the deleting
            preferences. Pass in "" to remove all preferences
            referenced by this branch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.GetChildList(System.String,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of strings representing the child preferences of the
            root of this branch.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start enumerating
            the child preferences. Pass in "" to enumerate all
            preferences referenced by this branch.
            </param>
            <param name="aCount">
            Receives the number of elements in the array.
            </param>
            <param name="aChildArray">
            Receives the array of child preferences.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.ResetBranch(System.String)">
            <summary>
            Called to reset all of the preferences referenced by this branch to their
            default values.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start the resetting
            preferences to their default values. Pass in "" to
            reset all preferences referenced by this branch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.AddObserver(System.String,Gecko.Interfaces.nsIObserver,System.Boolean)">
            <summary>
            Add a preference change observer. On preference changes, the following
            arguments will be passed to the nsIObserver.observe() method:
            aSubject - The nsIPrefBranch object (this)
            aTopic   - The string defined by NS_PREFBRANCH_PREFCHANGE_TOPIC_ID
            aData    - The name of the preference which has changed, relative to
            the |root| of the aSubject branch.
            
            aSubject.get*Pref(aData) will get the new value of the modified
            preference. For example, if your observer is registered with
            addObserver(&quot;bar.&quot;, ...) on a branch with root &quot;foo.&quot;, modifying
            the preference &quot;foo.bar.baz&quot; will trigger the observer, and aData
            parameter will be &quot;bar.baz&quot;.
            </summary>
            <param name="aDomain">
            The preference on which to listen for changes. This can
            be the name of an entire branch to observe.
            e.g. Holding the &quot;root&quot; prefbranch and calling
            addObserver(&quot;foo.bar.&quot;, ...) will observe changes to
            foo.bar.baz and foo.bar.bzip
            </param>
            <param name="aObserver">
            The object to be notified if the preference changes.
            </param>
            <param name="aHoldWeak">
            true  Hold a weak reference to |aObserver|. The object
            must implement the nsISupportsWeakReference
            interface or this will fail.
            false Hold a strong reference to |aObserver|.
            </param>
            <remarks>
            See removeObserver
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranch2.RemoveObserver(System.String,Gecko.Interfaces.nsIObserver)">
            <summary>
            Remove a preference change observer.
            </summary>
            <param name="aDomain">
            The preference which is being observed for changes.
            </param>
            <param name="aObserver">
            An observer previously registered with addObserver().
            </param>
            <remarks>
            See addObserver
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrefBranchInternal">
            <summary>
            An empty interface to provide backwards compatibility for existing code that
            bsmedberg didn&apos;t want to break all at once. Don&apos;t use me!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetRootAttribute">
            <summary>
            Called to get the root on which this branch is based, such as
            &quot;browser.startup.&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetPrefType(System.String)">
            <summary>
            Called to determine the type of a specific preference.
            </summary>
            <param name="aPrefName">
            The preference to get the type of.
            </param>
            <returns>
            long     A value representing the type of the preference. This
            value will be PREF_STRING, PREF_INT, or PREF_BOOL.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetBoolPref(System.String)">
            <summary>
            Called to get the state of an individual boolean preference.
            </summary>
            <param name="aPrefName">
            The boolean preference to get the state of.
            </param>
            <returns>
            boolean  The value of the requested boolean preference.
            </returns>
            <remarks>
            See setBoolPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.SetBoolPref(System.String,System.Boolean)">
            <summary>
            Called to set the state of an individual boolean preference.
            </summary>
            <param name="aPrefName">
            The boolean preference to set the state of.
            </param>
            <param name="aValue">
            The boolean value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than boolean.
            </exception>
            <remarks>
            See getBoolPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetFloatPref(System.String)">
            <summary>
            Called to get the state of an individual floating-point preference.
            &quot;Floating point&quot; preferences are really string preferences that
            are converted to floating point numbers.
            </summary>
            <param name="aPrefName">
            The floating point preference to get the state of.
            </param>
            <returns>
            float  The value of the requested floating point preference.
            </returns>
            <remarks>
            See setCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetCharPref(System.String)">
            <summary>
            Called to get the state of an individual string preference.
            </summary>
            <param name="aPrefName">
            The string preference to retrieve.
            </param>
            <returns>
            string   The value of the requested string preference.
            </returns>
            <remarks>
            See setCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.SetCharPref(System.String,System.String)">
            <summary>
            Called to set the state of an individual string preference.
            </summary>
            <param name="aPrefName">
            The string preference to set.
            </param>
            <param name="aValue">
            The string value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than string.
            </exception>
            <remarks>
            See getCharPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetIntPref(System.String)">
            <summary>
            Called to get the state of an individual integer preference.
            </summary>
            <param name="aPrefName">
            The integer preference to get the value of.
            </param>
            <returns>
            long     The value of the requested integer preference.
            </returns>
            <remarks>
            See setIntPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.SetIntPref(System.String,System.Int32)">
            <summary>
            Called to set the state of an individual integer preference.
            </summary>
            <param name="aPrefName">
            The integer preference to set the value of.
            </param>
            <param name="aValue">
            The integer value to set the preference to.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the preference has a default
            value of a type other than integer.
            </exception>
            <remarks>
            See getIntPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetComplexValue(System.String,System.Guid@)">
            <summary>
            Called to get the state of an individual complex preference. A complex
            preference is a preference which represents an XPCOM object that can not
            be easily represented using a standard boolean, integer or string value.
            </summary>
            <param name="aPrefName">
            The complex preference to get the value of.
            </param>
            <param name="aType">
            The XPCOM interface that this complex preference
            represents. Interfaces currently supported are:
            - nsIFile
            - nsISupportsString (UniChar)
            - nsIPrefLocalizedString (Localized UniChar)
            </param>
            <param name="aValue">
            The XPCOM object into which to the complex preference
            value should be retrieved.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The value does not exist or is the wrong type.
            </exception>
            <remarks>
            See setComplexValue
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.SetComplexValue(System.String,System.Guid@,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to set the state of an individual complex preference. A complex
            preference is a preference which represents an XPCOM object that can not
            be easily represented using a standard boolean, integer or string value.
            </summary>
            <param name="aPrefName">
            The complex preference to set the value of.
            </param>
            <param name="aType">
            The XPCOM interface that this complex preference
            represents. Interfaces currently supported are:
            - nsIFile
            - nsISupportsString (UniChar)
            - nsIPrefLocalizedString (Localized UniChar)
            </param>
            <param name="aValue">
            The XPCOM object from which to set the complex preference
            value.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: if setting failed or the value is the wrong type.
            </exception>
            <remarks>
            See getComplexValue
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.ClearUserPref(System.String)">
            <summary>
            Called to clear a user set value from a specific preference. This will, in
            effect, reset the value to the default value. If no default value exists
            the preference will cease to exist.
            </summary>
            <param name="aPrefName">
            The preference to be cleared.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.LockPref(System.String)">
            <summary>
            Called to lock a specific preference. Locking a preference will cause the
            preference service to always return the default value regardless of
            whether there is a user set value or not.
            </summary>
            <param name="aPrefName">
            The preference to be locked.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference does not exist or an error occurred.
            </exception>
            <remarks>
            See unlockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.PrefHasUserValue(System.String)">
            <summary>
            Called to check if a specific preference has a user value associated to
            it.
            </summary>
            <param name="aPrefName">
            The preference to be tested.
            </param>
            <returns>
            boolean  true  The preference has a user set value.
            false The preference only has a default value.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.PrefIsLocked(System.String)">
            <summary>
            Called to check if a specific preference is locked. If a preference is
            locked calling its Get method will always return the default value.
            </summary>
            <param name="aPrefName">
            The preference to be tested.
            </param>
            <returns>
            boolean  true  The preference is locked.
            false The preference is not locked.
            </returns>
            <remarks>
            See unlockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.UnlockPref(System.String)">
            <summary>
            Called to unlock a specific preference. Unlocking a previously locked
            preference allows the preference service to once again return the user set
            value of the preference.
            </summary>
            <param name="aPrefName">
            The preference to be unlocked.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference does not exist or an error occurred.
            </exception>
            <remarks>
            See lockPref
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.DeleteBranch(System.String)">
            <summary>
            Called to remove all of the preferences referenced by this branch.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start the deleting
            preferences. Pass in "" to remove all preferences
            referenced by this branch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.GetChildList(System.String,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of strings representing the child preferences of the
            root of this branch.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start enumerating
            the child preferences. Pass in "" to enumerate all
            preferences referenced by this branch.
            </param>
            <param name="aCount">
            Receives the number of elements in the array.
            </param>
            <param name="aChildArray">
            Receives the array of child preferences.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.ResetBranch(System.String)">
            <summary>
            Called to reset all of the preferences referenced by this branch to their
            default values.
            </summary>
            <param name="aStartingAt">
            The point on the branch at which to start the resetting
            preferences to their default values. Pass in "" to
            reset all preferences referenced by this branch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference(s) do not exist or an error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.AddObserver(System.String,Gecko.Interfaces.nsIObserver,System.Boolean)">
            <summary>
            Add a preference change observer. On preference changes, the following
            arguments will be passed to the nsIObserver.observe() method:
            aSubject - The nsIPrefBranch object (this)
            aTopic   - The string defined by NS_PREFBRANCH_PREFCHANGE_TOPIC_ID
            aData    - The name of the preference which has changed, relative to
            the |root| of the aSubject branch.
            
            aSubject.get*Pref(aData) will get the new value of the modified
            preference. For example, if your observer is registered with
            addObserver(&quot;bar.&quot;, ...) on a branch with root &quot;foo.&quot;, modifying
            the preference &quot;foo.bar.baz&quot; will trigger the observer, and aData
            parameter will be &quot;bar.baz&quot;.
            </summary>
            <param name="aDomain">
            The preference on which to listen for changes. This can
            be the name of an entire branch to observe.
            e.g. Holding the &quot;root&quot; prefbranch and calling
            addObserver(&quot;foo.bar.&quot;, ...) will observe changes to
            foo.bar.baz and foo.bar.bzip
            </param>
            <param name="aObserver">
            The object to be notified if the preference changes.
            </param>
            <param name="aHoldWeak">
            true  Hold a weak reference to |aObserver|. The object
            must implement the nsISupportsWeakReference
            interface or this will fail.
            false Hold a strong reference to |aObserver|.
            </param>
            <remarks>
            See removeObserver
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefBranchInternal.RemoveObserver(System.String,Gecko.Interfaces.nsIObserver)">
            <summary>
            Remove a preference change observer.
            </summary>
            <param name="aDomain">
            The preference which is being observed for changes.
            </param>
            <param name="aObserver">
            An observer previously registered with addObserver().
            </param>
            <remarks>
            See addObserver
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefetchService.PrefetchURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode,System.Boolean)">
            <summary>
            Enqueue a request to prefetch the specified URI.
            </summary>
            <param name="aURI">
            the URI of the document to prefetch
            </param>
            <param name="aReferrerURI">
            the URI of the referring page
            </param>
            <param name="aSource">
            the DOM node (such as a &lt;link&gt; tag) that requested this
            fetch, or null if the prefetch was not requested by a DOM node.
            </param>
            <param name="aExplicit">
            the link element has an explicit prefetch link type
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefetchService.HasMoreElements">
            <summary>
            Find out if there are any prefetches running or queued
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefetchService.CancelPrefetchURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Cancel prefetch
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrefLocalizedString">
            <summary>
            The nsIPrefLocalizedString interface is simply a wrapper interface for
            nsISupportsString so the preferences service can have a unique identifier
            to distinguish between requests for normal wide strings (nsISupportsString)
            and &quot;localized&quot; wide strings, which get their default values from properites
            files.
            </summary>
            <remarks>
            See nsISupportsString
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefLocalizedString.GetDataAttribute">
            <summary>
            Provides access to string data stored in this property.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: An error occurred.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefLocalizedString.ToString">
            <summary>
            Used to retrieve the contents of this object into a wide string.
            </summary>
            <returns>
            wstring The string containing the data stored within this object.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefLocalizedString.SetDataWithLength(System.UInt32,System.String)">
            <summary>
            Used to set the contents of this object.
            </summary>
            <param name="length">
            The length of the string. This value should not include
            space for the null terminator, nor should it account for the
            size of a character. It should  only be the number of
            characters for which there is space in the string.
            </param>
            <param name="data">
            The string data to be stored.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrefService">
            <summary>
            The nsIPrefService interface is the main entry point into the back end
            preferences management library. The preference service is directly
            responsible for the management of the preferences files and also facilitates
            access to the preference branch object which allows the direct manipulation
            of the preferences themselves.
            </summary>
            <remarks>
            See nsIPrefBranch
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefService.ReadUserPrefs(Gecko.Interfaces.nsIFile)">
            <summary>
            Called to read in the preferences specified in a user preference file.
            </summary>
            <param name="aFile">
            The file to be read.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: File failed to read or contained invalid data.
            </exception>
            <remarks>
            See nsIFile
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefService.ResetPrefs">
            <summary>
            Called to completely flush and re-initialize the preferences system.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: The preference service failed to restart correctly.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefService.ResetUserPrefs">
            <summary>
            Called to reset all preferences with user set values back to the
            application default values.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefService.SavePrefFile(Gecko.Interfaces.nsIFile)">
            <summary>
            Called to write current preferences state to a file.
            </summary>
            <param name="aFile">
            The file to be written.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            Error: File failed to write.
            </exception>
            <remarks>
            See nsIFile
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefService.GetBranch(System.String)">
            <summary>
            Call to get a Preferences &quot;Branch&quot; which accesses user preference data.
            Using a Set method on this object will always create or set a user
            preference value. When using a Get method a user set value will be
            returned if one exists, otherwise a default value will be returned.
            </summary>
            <param name="aPrefRoot">
            The preference &quot;root&quot; on which to base this &quot;branch&quot;.
            For example, if the root &quot;browser.startup.&quot; is used, the
            branch will be able to easily access the preferences
            &quot;browser.startup.page&quot;, &quot;browser.startup.homepage&quot;, or
            &quot;browser.startup.homepage_override&quot; by simply requesting
            &quot;page&quot;, &quot;homepage&quot;, or &quot;homepage_override&quot;. nullptr or &quot;&quot;
            may be used to access to the entire preference &quot;tree&quot;.
            </param>
            <returns>
            nsIPrefBranch The object representing the requested branch.
            </returns>
            <remarks>
            See getDefaultBranch
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefService.GetDefaultBranch(System.String)">
            <summary>
            Call to get a Preferences &quot;Branch&quot; which accesses only the default
            preference data. Using a Set method on this object will always create or
            set a default preference value. When using a Get method a default value
            will always be returned.
            </summary>
            <param name="aPrefRoot">
            The preference &quot;root&quot; on which to base this &quot;branch&quot;.
            For example, if the root &quot;browser.startup.&quot; is used, the
            branch will be able to easily access the preferences
            &quot;browser.startup.page&quot;, &quot;browser.startup.homepage&quot;, or
            &quot;browser.startup.homepage_override&quot; by simply requesting
            &quot;page&quot;, &quot;homepage&quot;, or &quot;homepage_override&quot;. nullptr or &quot;&quot;
            may be used to access to the entire preference &quot;tree&quot;.
            </param>
            <returns>
            nsIPrefBranch The object representing the requested default branch.
            </returns>
            <remarks>
            See getBranch
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrefService.GetDirtyAttribute">
            <summary>
            The preference service is &apos;dirty&apos; if there are changes to user preferences
            that have not been written to disk
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.Read(Gecko.Interfaces.nsIObjectInputStream)">
            <summary>
            Initialize the object implementing nsISerializable, which must have
            been freshly constructed via CreateInstance.  All data members that
            can&apos;t be set to default values must have been serialized by write,
            and should be read from aInputStream in the same order by this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.Write(Gecko.Interfaces.nsIObjectOutputStream)">
            <summary>
            Serialize the object implementing nsISerializable to aOutputStream, by
            writing each data member that must be recovered later to reconstitute
            a working replica of this object, in a canonical member and byte order,
            to aOutputStream.
            
            NB: a class that implements nsISerializable *must* also implement
            nsIClassInfo, in particular nsIClassInfo::GetClassID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.Equals(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Returns whether the other principal is equivalent to this principal.
            Principals are considered equal if they are the same principal, or
            they have the same origin.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.EqualsConsideringDomain(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Like equals, but takes document.domain changes into account.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetHashValueAttribute">
            <summary>
            Returns a hash value for the principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetURIAttribute">
            <summary>
            The codebase URI to which this principal pertains.  This is
            generally the document URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetDomainAttribute">
            <summary>
            The domain URI to which this principal pertains.
            This is null unless script successfully sets document.domain to our URI
            or a superdomain of our URI.
            Setting this has no effect on the URI.
            See https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Changing_origin
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.Subsumes(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Returns whether the other principal is equal to or weaker than this
            principal. Principals are equal if they are the same object or they
            have the same origin.
            
            Thus a principal always subsumes itself.
            
            The system principal subsumes itself and all other principals.
            
            A null principal (corresponding to an unknown, hence assumed minimally
            privileged, security context) is not equal to any other principal
            (including other null principals), and therefore does not subsume
            anything but itself.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.SubsumesConsideringDomain(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Same as the previous method, subsumes(), but takes document.domain into
            account.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.CheckMayLoad(Gecko.Interfaces.nsIURI,System.Boolean,System.Boolean)">
            <summary>
            Checks whether this principal is allowed to load the network resource
            located at the given URI under the same-origin policy. This means that
            codebase principals are only allowed to load resources from the same
            domain, the system principal is allowed to load anything, and null
            principals can only load URIs where they are the principal. This is
            changed by the optional flag allowIfInheritsPrincipal (which defaults to
            false) which allows URIs that inherit their loader's principal.
            
            If the load is allowed this function does nothing. If the load is not
            allowed the function throws NS_ERROR_DOM_BAD_URI.
            
            NOTE: Other policies might override this, such as the Access-Control
            specification.
            NOTE: The 'domain' attribute has no effect on the behaviour of this
            function.
            </summary>
            <param name="uri">
            The URI about to be loaded.
            </param>
            <param name="report">
            If true, will report a warning to the console service
            if the load is not allowed.
            </param>
            <param name="allowIfInheritsPrincipal">
            If true, the load is allowed if the
            loadee inherits the principal of the
            loader.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_DOM_BAD_URI: if the load is not allowed.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetCspAttribute">
            <summary>
            A Content Security Policy associated with this principal.
            Use this function to query the associated CSP with this principal.
            Please *only* use this function to *set* a CSP when you know exactly what you are doing.
            Most likely you want to call ensureCSP instead of setCSP.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetPreloadCspAttribute">
            <summary>
            A speculative Content Security Policy associated with this
            principal. Set during speculative loading (preloading) and
            used *only* for preloads.
            
            If you want to query the CSP associated with that principal,
            then this is *not* what you want. Instead query &apos;csp&apos;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetCspJSONAttribute(Gecko.nsAStringBase)">
            <summary>
            The CSP of the principal in JSON notation.
            Note, that the CSP itself is not exposed to JS, but script
            should be able to obtain a JSON representation of the CSP.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetOriginAttributesAttribute(System.IntPtr)">
            <summary>
            A dictionary of the non-default origin attributes associated with this
            nsIPrincipal.
            
            Attributes are tokens that are taken into account when determining whether
            two principals are same-origin - if any attributes differ, the principals
            are cross-origin, even if the scheme, host, and port are the same.
            Attributes should also be considered for all security and bucketing decisions,
            even those which make non-standard comparisons (like cookies, which ignore
            scheme, or quotas, which ignore subdomains).
            
            If you&apos;re looking for an easy-to-use canonical stringification of the origin
            attributes, see |originSuffix| below.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetOriginAttribute(Gecko.nsACStringBase)">
            <summary>
            A canonical representation of the origin for this principal. This
            consists of a base string (which, for codebase principals, is of the
            format scheme://host:port), concatenated with |originAttributes| (see
            below).
            
            We maintain the invariant that principalA.equals(principalB) if and only
            if principalA.origin == principalB.origin.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetOriginNoSuffixAttribute(Gecko.nsACStringBase)">
            <summary>
            The base part of |origin| without the concatenation with |originSuffix|.
            This doesn&apos;t have the important invariants described above with |origin|,
            and as such should only be used for legacy situations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetOriginSuffixAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            A string of the form !key1=value1&amp;key2=value2, where each pair represents
            an attribute with a non-default value. If all attributes have default
            values, this is the empty string.
            
            The value of .originSuffix is automatically serialized into .origin, so any
            consumers using that are automatically origin-attribute-aware. Consumers with
            special requirements must inspect and compare .originSuffix manually.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetBaseDomainAttribute(Gecko.nsACStringBase)">
            <summary>
            The base domain of the codebase URI to which this principal pertains
            (generally the document URI), handling null principals and
            non-hierarchical schemes correctly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetAppStatusAttribute">
            <summary>
            Gets the principal&apos;s app status, which indicates whether the principal
            corresponds to &quot;app code&quot;, and if it does, how privileged that code is.
            This method returns one of the APP_STATUS constants above.
            
            Note that a principal may have
            
            appId != nsIScriptSecurityManager::NO_APP_ID &amp;&amp;
            appId != nsIScriptSecurityManager::UNKNOWN_APP_ID
            
            and still have appStatus == APP_STATUS_NOT_INSTALLED.  That&apos;s because
            appId identifies the app that contains this principal, but a window
            might be contained in an app and not be running code that the app has
            vouched for.  For example, the window might be inside an &lt;iframe
            mozbrowser&gt;, or the window&apos;s origin might not match the app&apos;s origin.
            
            If you&apos;re doing a check to determine &quot;does this principal correspond to
            app code?&quot;, you must check appStatus; checking appId != NO_APP_ID is not
            sufficient.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetAppIdAttribute">
            <summary>
            Gets the id of the app this principal is inside.  If this principal is
            not inside an app, returns nsIScriptSecurityManager::NO_APP_ID.
            
            Note that this principal does not necessarily have the permissions of
            the app identified by appId.  For example, this principal might
            correspond to an iframe whose origin differs from that of the app frame
            containing it.  In this case, the iframe will have the appId of its
            containing app frame, but the iframe must not run with the app&apos;s
            permissions.
            
            Similarly, this principal might correspond to an &lt;iframe mozbrowser&gt;
            inside an app frame; in this case, the content inside the iframe should
            not have any of the app&apos;s permissions, even if the iframe is at the same
            origin as the app.
            
            If you&apos;re doing a security check based on appId, you must check
            appStatus as well.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetAddonIdAttribute(Gecko.nsAStringBase)">
            <summary>
            Gets the ID of the add-on this principal belongs to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetUserContextIdAttribute">
            <summary>
            Gets the id of the user context this principal is inside.  If this
            principal is inside the default userContext, this returns
            nsIScriptSecurityManager::DEFAULT_USER_CONTEXT_ID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetPrivateBrowsingIdAttribute">
            <summary>
            Gets the id of the private browsing state of the context containing
            this principal. If the principal has a private browsing value of 0, it
            is not in private browsing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetIsInIsolatedMozBrowserElementAttribute">
            <summary>
            Returns true iff the principal is inside an isolated mozbrowser element.
            &lt;iframe mozbrowser mozapp&gt; and &lt;xul:browser&gt; are not considered to be
            mozbrowser elements.  &lt;iframe mozbrowser noisolation&gt; does not count as
            isolated since isolation is disabled.  Isolation can only be disabled if
            the containing document is chrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetUnknownAppIdAttribute">
            <summary>
            Returns true if this principal has an unknown appId. This shouldn&apos;t
            generally be used. We only expose it due to not providing the correct
            appId everywhere where we construct principals.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetIsNullPrincipalAttribute">
            <summary>
            Returns true iff this is a null principal (corresponding to an
            unknown, hence assumed minimally privileged, security context).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetIsCodebasePrincipalAttribute">
            <summary>
            Returns true iff this principal corresponds to a codebase origin.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetIsExpandedPrincipalAttribute">
            <summary>
            Returns true iff this is an expanded principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.GetIsSystemPrincipalAttribute">
            <summary>
            Returns true iff this is the system principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrincipal.IsOnCSSUnprefixingWhitelist">
            <summary>
            Returns true if this principal&apos;s origin is recognized as being on the
            whitelist of sites that can use the CSS Unprefixing Service.
            
            (This interface provides a trivial implementation, just returning false;
            subclasses can implement something more complex as-needed.)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIExpandedPrincipal">
            <summary>
            If nsSystemPrincipal is too risky to use, but we want a principal to access
            more than one origin, nsExpandedPrincipals letting us define an array of
            principals it subsumes. So script with an nsExpandedPrincipals will gain
            same origin access when at least one of its principals it contains gained
            sameorigin acccess. An nsExpandedPrincipal will be subsumed by the system
            principal, and by another nsExpandedPrincipal that has all its principals.
            It is added for jetpack content-scripts to let them interact with the
            content and a well defined set of other domains, without the risk of
            leaking out a system principal to the content. See: Bug 734891
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIExpandedPrincipal.GetWhiteListAttribute">
            <summary>
            An array of principals that the expanded principal subsumes.
            Note: this list is not reference counted, it is shared, so
            should not be changed and should only be used ephemerally.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintingPromptService.ShowPrintDialog(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIWebBrowserPrint,Gecko.Interfaces.nsIPrintSettings)">
            <summary>
            Show the Print Dialog
            </summary>
            <param name="parent">
            - a DOM windows the dialog will be parented to (required)
            </param>
            <param name="webBrowserPrint">
            - represents the document to be printed (required)
            </param>
            <param name="printSettings">
            - PrintSettings for print &quot;job&quot; (required)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintingPromptService.ShowProgress(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIWebBrowserPrint,Gecko.Interfaces.nsIPrintSettings,Gecko.Interfaces.nsIObserver,System.Boolean,Gecko.Interfaces.nsIWebProgressListener@,Gecko.Interfaces.nsIPrintProgressParams@,System.Boolean@)">
            <summary>
            Shows the print progress dialog
            </summary>
            <param name="parent">
            - a DOM windows the dialog will be parented to
            </param>
            <param name="webBrowserPrint">
            - represents the document to be printed
            </param>
            <param name="printSettings">
            - PrintSettings for print &quot;job&quot;
            </param>
            <param name="openDialogObserver">
            - an observer that will be notifed when the dialog is opened
            </param>
            <param name="isForPrinting">
            - true - for printing, false for print preview
            </param>
            <param name="webProgressListener">
            - additional listener can be registered for progress notifications
            </param>
            <param name="printProgressParams">
            - parameter object for passing progress state
            </param>
            <param name="notifyOnOpen">
            - this indicates that the observer will be notified when the progress
            dialog has been opened. If false is returned it means the observer
            (usually the caller) shouldn&apos;t wait
            For Print Preview Progress there is intermediate progress
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintingPromptService.ShowPageSetup(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIPrintSettings,Gecko.Interfaces.nsIObserver)">
            <summary>
            Shows the print progress dialog
            </summary>
            <param name="parent">
            - a DOM windows the dialog will be parented to (required)
            </param>
            <param name="printSettings">
            - PrintSettings for page setup (required)
            </param>
            <param name="aObs">
            - An observer to know if the contents of the Print Settings
            object has changed while the dialog is being shown.
            For example, some platforms may implement an &quot;Apply&quot; button (not required)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintingPromptService.ShowPrinterProperties(Gecko.Interfaces.mozIDOMWindowProxy,System.String,Gecko.Interfaces.nsIPrintSettings)">
            <summary>
            Sometimes platforms need to bring up a special properties dialog for showing
            print specific properties. Although the PrintSettings has a place to set the
            printer name, here is is an argument to be clear as to what printer is being
            asked to have the properties set for it. The Printer name in the PS is ignored.
            </summary>
            <param name="parent">
            - a DOM windows the dialog will be parented to (required)
            </param>
            <param name="printerName">
            - name of printer (required)
            </param>
            <param name="printSettings">
            - PrintSettings for page setup (required)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintProgress.OnStateChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32,System.Int32)">
            <summary>
            Notification indicating the state has changed for one of the requests
            associated with aWebProgress.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification
            </param>
            <param name="aRequest">
            The nsIRequest that has changed state.
            </param>
            <param name="aStateFlags">
            Flags indicating the new state.  This value is a combination of one
            of the State Transition Flags and one or more of the State Type
            Flags defined above.  Any undefined bits are reserved for future
            use.
            </param>
            <param name="aStatus">
            Error status code associated with the state change.  This parameter
            should be ignored unless aStateFlags includes the STATE_STOP bit.
            The status code indicates success or failure of the request
            associated with the state change.  NOTE: aStatus may be a success
            code even for server generated errors, such as the HTTP 404 error.
            In such cases, the request itself should be queried for extended
            error information (e.g., for HTTP requests see nsIHttpChannel).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintProgress.OnProgressChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Notification that the progress has changed for one of the requests
            associated with aWebProgress.  Progress totals are reset to zero when all
            requests in aWebProgress complete (corresponding to onStateChange being
            called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW
            flags).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new progress.
            </param>
            <param name="aCurSelfProgress">
            The current progress for aRequest.
            </param>
            <param name="aMaxSelfProgress">
            The maximum progress for aRequest.
            </param>
            <param name="aCurTotalProgress">
            The current progress for all requests associated with aWebProgress.
            </param>
            <param name="aMaxTotalProgress">
            The total progress for all requests associated with aWebProgress.
            
            NOTE: If any progress value is unknown, or if its value would exceed the
            maximum value of type long, then its value is replaced with -1.
            
            NOTE: If the object also implements nsIWebProgressListener2 and the caller
            knows about that interface, this function will not be called. Instead,
            nsIWebProgressListener2::onProgressChange64 will be called.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintProgress.OnLocationChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Called when the location of the window being watched changes.  This is not
            when a load is requested, but rather once it is verified that the load is
            going to occur in the given window.  For instance, a load that starts in a
            window might send progress and status messages for the new site, but it
            will not send the onLocationChange until we are sure that we are loading
            this new page here.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The associated nsIRequest.  This may be null in some cases.
            </param>
            <param name="aLocation">
            The URI of the location that is being loaded.
            </param>
            <param name="aFlags">
            This is a value which explains the situation or the reason why
            the location has changed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintProgress.OnStatusChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.Int32,System.String)">
            <summary>
            Notification that the status of a request has changed.  The status message
            is intended to be displayed to the user (e.g., in the status bar of the
            browser).
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new status.
            </param>
            <param name="aStatus">
            This value is not an error code.  Instead, it is a numeric value
            that indicates the current status of the request.  This interface
            does not define the set of possible status codes.  NOTE: Some
            status values are defined by nsITransport and nsISocketTransport.
            </param>
            <param name="aMessage">
            Localized text corresponding to aStatus.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintProgress.OnSecurityChange(Gecko.Interfaces.nsIWebProgress,Gecko.Interfaces.nsIRequest,System.UInt32)">
            <summary>
            Notification called for security progress.  This method will be called on
            security transitions (eg HTTP -&gt; HTTPS, HTTPS -&gt; HTTP, FOO -&gt; HTTPS) and
            after document load completion.  It might also be called if an error
            occurs during network loading.
            </summary>
            <param name="aWebProgress">
            The nsIWebProgress instance that fired the notification.
            </param>
            <param name="aRequest">
            The nsIRequest that has new security state.
            </param>
            <param name="aState">
            A value composed of the Security State Flags and the Security
            Strength Flags listed above.  Any undefined bits are reserved for
            future use.
            
            NOTE: These notifications will only occur if a security package is
            installed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSession.GetRemotePrintJobAttribute">
            <summary>
            The remote print job is used for printing via the parent process.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrintSettings">
            <summary>
            Simplified graphics interface for JS rendering.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.SetPrintOptions(System.Int32,System.Boolean)">
            <summary>
            Set PrintOptions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetPrintOptions(System.Int32)">
            <summary>
            Get PrintOptions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetPrintOptionsBits">
            <summary>
            Get PrintOptions Bit field
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.SetPrintOptionsBits(System.Int32)">
            <summary>
            Set PrintOptions Bit field
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetEffectivePageSize(System.Double@,System.Double@)">
            <summary>
            Get the page size in twips, considering the
            orientation (portrait or landscape).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.Clone">
            <summary>
            Makes a new copy
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.Assign(Gecko.Interfaces.nsIPrintSettings)">
            <summary>
            Assigns the internal values from the &quot;in&quot; arg to the current object
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetPrintSessionAttribute">
            <summary>
            Data Members
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetEdgeTopAttribute">
            <summary>
            The edge measurements define the positioning of the headers
            and footers on the page. They&apos;re measured as an offset from
            the &quot;unwriteable margin&quot; (described below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetMarginTopAttribute">
            <summary>
            The margins define the positioning of the content on the page.
            They&apos;re treated as an offset from the &quot;unwriteable margin&quot;
            (described below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetUnwriteableMarginTopAttribute">
            <summary>
            The unwriteable margin defines the printable region of the paper, creating
            an invisible border from which the edge and margin attributes are measured.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetIsInitializedFromPrinterAttribute">
            <summary>
            This attribute tracks whether the PS has been initialized
            from a printer specified by the &quot;printerName&quot; attr.
            If a different name is set into the &quot;printerName&quot;
            attribute than the one it was initialized with the PS
            will then get intialized from that printer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetIsInitializedFromPrefsAttribute">
            <summary>
            This attribute tracks whether the PS has been initialized
            from prefs. If a different name is set into the &quot;printerName&quot;
            attribute than the one it was initialized with the PS
            will then get intialized from prefs again.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.SetupSilentPrinting">
            <summary>
            We call this function so that anything that requires a run of the event loop
            can do so safely. The print dialog runs the event loop but in silent printing
            that doesn&apos;t happen.
            
            Either this or ShowPrintDialog (but not both) MUST be called by the print engine
            before printing, otherwise printing can fail on some platforms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.SetUnwriteableMarginInTwips(System.IntPtr)">
            <summary>
            Sets/Gets the &quot;unwriteable margin&quot; for the page format.  This defines
            the boundary from which we&apos;ll measure the EdgeInTwips and MarginInTwips
            attributes, to place the headers and content, respectively.
            
            Note: Implementations of SetUnwriteableMarginInTwips should handle
            negative margin values by falling back on the system default for
            that margin.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettings.GetPageRanges(System.IntPtr)">
            <summary>
            Get more accurate print ranges from the superior interval
            (startPageRange, endPageRange). The aPages array is populated with a
            list of pairs (start, end), where the endpoints are included. The print
            ranges (start, end), must not overlap and must be in the
            (startPageRange, endPageRange) scope.
            
            If there are no print ranges the aPages array is cleared.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.GetGlobalPrintSettingsAttribute">
            <summary>
            Returns a &quot;global&quot; PrintSettings object
            Creates a new the first time, if one doesn&apos;t exist.
            
            Then returns the same object each time after that.
            
            Initializes the globalPrintSettings from the default printer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.GetNewPrintSettingsAttribute">
            <summary>
            Returns a new, unique PrintSettings object each time.
            
            For example, if each browser was to have its own unique
            PrintSettings, then each browser window would call this to
            create its own unique PrintSettings object.
            
            If each browse window was to use the same PrintSettings object
            then it should use &quot;globalPrintSettings&quot;
            
            Initializes the newPrintSettings from the unprefixed printer
            (Note: this may not happen if there is an OS specific implementation.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.GetDefaultPrinterNameAttribute">
            <summary>
            The name of the last printer used, or else the system default printer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.InitPrintSettingsFromPrinter(System.String,Gecko.Interfaces.nsIPrintSettings)">
            <summary>
            Initializes certain settings from the native printer into the PrintSettings
            if aPrinterName is null then it uses the default printer name if it can
            These settings include, but are not limited to:
            Page Orientation
            Page Size
            Number of Copies
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.InitPrintSettingsFromPrefs(Gecko.Interfaces.nsIPrintSettings,System.Boolean,System.UInt32)">
            <summary>
            Reads PrintSettings values from Prefs,
            the values to be read are indicated by the &quot;flags&quot; arg.
            
            aPrintSettings should be initialized with the name of a printer. First
            it reads in the PrintSettings from the last print job. Then it uses the
            PrinterName in the PrinterSettings to read any settings that were saved
            just for that printer.
            
            aPS - PrintSettings to have its settings read
            aUsePrinterNamePrefix - indicates whether to use the printer name as a prefix
            aFlags - indicates which prefs to read, see nsIPrintSettings.idl for the
            const values.
            
            Items not read:
            startPageRange, endPageRange, scaling, printRange, title
            docURL, howToEnableFrameUI, isCancelled, printFrameTypeUsage
            printFrameType, printSilent, shrinkToFit, numCopies,
            printerName
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.SavePrintSettingsToPrefs(Gecko.Interfaces.nsIPrintSettings,System.Boolean,System.UInt32)">
            <summary>
            Writes PrintSettings values to Prefs,
            the values to be written are indicated by the &quot;flags&quot; arg.
            
            If there is no PrinterName in the PrinterSettings
            the values are saved as the &quot;generic&quot; values not associated with any printer.
            If a PrinterName is there, then it saves the items qualified for that Printer
            
            aPS - PrintSettings to have its settings saved
            aUsePrinterNamePrefix - indicates whether to use the printer name as a prefix
            aFlags - indicates which prefs to save, see nsIPrintSettings.idl for the const values.
            
            Items not written:
            startPageRange, endPageRange, scaling, printRange, title
            docURL, howToEnableFrameUI, isCancelled, printFrameTypeUsage
            printFrameType, printSilent, shrinkToFit, numCopies
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.SerializeToPrintData(Gecko.Interfaces.nsIPrintSettings,Gecko.Interfaces.nsIWebBrowserPrint,System.IntPtr)">
            <summary>
            Given some nsIPrintSettings and (optionally) an nsIWebBrowserPrint,
            populates a PrintData representing them which can be sent over IPC. Values
            are only ever read from aSettings and aWBP.
            </summary>
            <param name="aSettings">
            An nsIPrintSettings for a print job.
            </param>
            <param name="aWBP">
            (optional)
            The nsIWebBrowserPrint for the print job.
            </param>
            <param name="data">
            Pointer to a pre-existing PrintData to populate.
            </param>
            <returns>
            nsresult
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsService.DeserializeToPrintSettings(System.IntPtr,Gecko.Interfaces.nsIPrintSettings)">
            <summary>
            This function is the opposite of SerializeToPrintData, in that it takes
            a PrintData, and populates a pre-existing nsIPrintSettings with the data
            from PrintData.
            </summary>
            <param name="PrintData">
            Printing information sent through IPC.
            </param>
            <param name="settings">
            A pre-existing nsIPrintSettings to populate with the PrintData.
            </param>
            <returns>
            nsresult
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrintSettingsWin">
            <summary>
            Simplified PrintSettings for Windows interface
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsWin.GetDeviceNameAttribute">
            <summary>
            Data Members
            
            Each of these data members make a copy
            of the contents. If you get the value,
            you own the memory.
            
            The following three pieces of data are needed
            to create a DC for printing. These are typcially
            gotten via the PrintDLG call ro can be obtained
            via the &quot;m_pd&quot; data member of the CPrintDialog
            in MFC.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsWin.GetPrintableWidthInInchesAttribute">
            <summary>
            On Windows we use the printable width and height for the printing surface.
            We don&apos;t want to have to create native print device contexts in the content
            process, so we need to store these in the settings.
            Storing in Inches is most convenient as they are retrieved from the device
            using fields which are in pixels and pixels per inch.
            Note these are stored in portrait format to ensure that we can take account
            of our own changes to the orientation print setting.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsWin.CopyFromNative(System.IntPtr,System.IntPtr)">
            <summary>
            Copy relevant print settings from native Windows device.
            </summary>
            <param name="hdc">
            HDC to copy from
            </param>
            <param name="devMode">
            DEVMODE to copy from
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrintSettingsWin.CopyToNative(System.IntPtr)">
            <summary>
            Copy relevant print settings to native windows structures.
            </summary>
            <param name="devMode">
            DEVMODE to be populated.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrintStatusFeedback">
            <summary>
            XXX This interface seems to be unimplemented and unused.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrivateBrowsingChannel">
            <summary>
            This interface is implemented by channels which support overriding the
            privacy state of the channel.
            
            This interface must be used only from the XPCOM main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrivateBrowsingChannel.SetPrivate(System.Boolean)">
            <summary>
            Determine whether the channel is tied to a private browsing window.
            
            This value can be set only before the channel is opened.  Setting it
            after that does not have any effect.  This value overrides the privacy
            state of the channel, which means that if you call this method, then
            the loadGroup and load context will no longer be consulted when we
            need to know the private mode status for a channel.
            
            Note that this value is only meant to be used when the channel&apos;s privacy
            status cannot be obtained from the loadGroup or load context (for
            example, when the channel is not associated with any loadGroup or load
            context.)  Setting this value directly should be avoided if possible.
            
            Implementations must enforce the ordering semantics of this function by
            raising errors if setPrivate is called on a channel which has a loadGroup
            and/or callbacks that implement nsILoadContext, or if the loadGroup
            or notificationCallbacks are set after setPrivate has been called.
            </summary>
            <param name="aPrivate">
            whether the channel should be opened in private mode.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrivateBrowsingChannel.GetIsChannelPrivateAttribute">
            <summary>
            States whether the channel is in private browsing mode. This may either
            happen because the channel is opened from a private mode context or
            when the mode is explicitly set with ::setPrivate().
            
            This attribute is equivalent to NS_UsePrivateBrowsing(), but scriptable.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPrivateBrowsingTrackingProtectionWhitelist">
            <summary>
            The Private Browsing Tracking Protection service checks a URI against an
            in-memory list of tracking sites.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrivateBrowsingTrackingProtectionWhitelist.AddToAllowList(Gecko.Interfaces.nsIURI)">
            <summary>
            Add a URI to the list of allowed tracking sites in Private Browsing mode
            (essentially a tracking whitelist). This operation will cause the URI to
            be registered if it does not currently exist. If it already exists, then
            the operation is essentially a no-op.
            </summary>
            <param name="uri">
            the uri to add to the list
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrivateBrowsingTrackingProtectionWhitelist.RemoveFromAllowList(Gecko.Interfaces.nsIURI)">
            <summary>
            Remove a URI from the list of allowed tracking sites in Private Browsing
            mode (the tracking whitelist). If the URI is not already in the list,
            then the operation is essentially a no-op.
            </summary>
            <param name="uri">
            the uri to remove from the list
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPrivateBrowsingTrackingProtectionWhitelist.ExistsInAllowList(Gecko.Interfaces.nsIURI)">
            <summary>
            Check if a URI exists in the list of allowed tracking sites in Private
            Browsing mode (the tracking whitelist).
            </summary>
            <param name="uri">
            the uri to look for in the list
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.Init(Gecko.Interfaces.nsIFile)">
            <summary>
            Initialises the process with an executable to be run. Call the run method
            to run the executable.
            </summary>
            <param name="executable">
            The executable to run.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.Kill">
            <summary>
            Kills the running process. After exiting the process will either have
            been killed or a failure will have been returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.Run(System.Boolean,System.IntPtr[],System.UInt32)">
            <summary>
            Executes the file this object was initialized with
            </summary>
            <param name="blocking">
            Whether to wait until the process terminates before
            returning or not.
            </param>
            <param name="args">
            An array of arguments to pass to the process in the
            native character set.
            </param>
            <param name="count">
            The length of the args array.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.RunAsync(System.IntPtr[],System.UInt32,Gecko.Interfaces.nsIObserver,System.Boolean)">
            <summary>
            Executes the file this object was initialized with optionally calling
            an observer after the process has finished running.
            </summary>
            <param name="args">
            An array of arguments to pass to the process in the
            native character set.
            </param>
            <param name="count">
            The length of the args array.
            </param>
            <param name="observer">
            An observer to notify when the process has completed. It
            will receive this process instance as the subject and
            &quot;process-finished&quot; or &quot;process-failed&quot; as the topic. The
            observer will be notified on the main thread.
            </param>
            <param name="holdWeak">
            Whether to use a weak reference to hold the observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.Runw(System.Boolean,System.IntPtr[],System.UInt32)">
            <summary>
            Executes the file this object was initialized with
            </summary>
            <param name="blocking">
            Whether to wait until the process terminates before
            returning or not.
            </param>
            <param name="args">
            An array of arguments to pass to the process in UTF-16
            </param>
            <param name="count">
            The length of the args array.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.RunwAsync(System.IntPtr[],System.UInt32,Gecko.Interfaces.nsIObserver,System.Boolean)">
            <summary>
            Executes the file this object was initialized with optionally calling
            an observer after the process has finished running.
            </summary>
            <param name="args">
            An array of arguments to pass to the process in UTF-16
            </param>
            <param name="count">
            The length of the args array.
            </param>
            <param name="observer">
            An observer to notify when the process has completed. It
            will receive this process instance as the subject and
            &quot;process-finished&quot; or &quot;process-failed&quot; as the topic. The
            observer will be notified on the main thread.
            </param>
            <param name="holdWeak">
            Whether to use a weak reference to hold the observer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.GetPidAttribute">
            <summary>
            The process identifier of the currently running process. This will only
            be available after the process has started and may not be available on
            some platforms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.GetExitValueAttribute">
            <summary>
            The exit value of the process. This is only valid after the process has
            exited.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProcess.GetIsRunningAttribute">
            <summary>
            Returns whether the process is currently running or not.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProfileStartup">
            <summary>
            Helper interface for nsIProfileMigrator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileStartup.GetDirectoryAttribute">
            <summary>
            The root directory of the semi-current profile, during profile migration.
            After nsIProfileMigrator.migrate has returned, this object will not be
            useful.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileStartup.DoStartup">
            <summary>
            Do profile-startup by setting NS_APP_USER_PROFILE_50_DIR in the directory
            service and notifying the profile-startup observer topics.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProfileMigrator">
            <summary>
            Migrate application settings from an outside source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileMigrator.Migrate(Gecko.Interfaces.nsIProfileStartup,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Migrate data from an outside source, if possible.  Does nothing
            otherwise.
            
            When this method is called, a default profile has been created;
            XPCOM has been initialized such that compreg.dat is in the
            profile; the directory service does *not* return a key for
            NS_APP_USER_PROFILE_50_DIR or any of the keys depending on an active
            profile. To figure out the directory of the &quot;current&quot; profile, use
            aStartup.directory.
            
            If your migrator needs to access services that use the profile (to
            set profile prefs or bookmarks, for example), use aStartup.doStartup.
            </summary>
            <param name="aStartup">
            nsIProfileStartup object to use during migration.
            </param>
            <param name="aKey">
            optional key of a migrator to use to skip source selection.
            </param>
            <param name="aProfileName">
            optional name of the profile to use for migration.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIProfilerStartParams">
            <summary>
            Start-up parameters for subprocesses are passed through nsIObserverService,
            which, unfortunately, means we need to implement nsISupports in order to
            go through it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfiler.GetStartParamsAttribute">
            <summary>
            The starting parameters that were sent to the profiler for sampling.
            If the profiler is not currently sampling, this will return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfiler.GetProfileGathererAttribute">
            <summary>
            The profileGatherer will be null if the profiler is not currently
            active.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfiler.GetElapsedTime">
            <summary>
            Returns the elapsed time, in milliseconds, since the profiler&apos;s epoch.
            The epoch is guaranteed to be constant for the duration of the
            process, but is otherwise arbitrary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfiler.GetSharedLibraryInformation(Gecko.nsAStringBase)">
            <summary>
            Returns a JSON string of an array of shared library objects.
            Every object has three properties: start, end, and name.
            start and end are integers describing the address range that the library
            occupies in memory. name is the path of the library as a string.
            
            On Windows profiling builds, the shared library objects will have
            additional pdbSignature and pdbAge properties for uniquely identifying
            shared library versions for stack symbolication.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfiler.DumpProfileToFile(System.String)">
            <summary>
            Dump the collected profile to a file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileSaveEvent.AddSubProfile(System.String)">
            <summary>
            Call this method when observing this event to include
            a sub profile origining from an external source such
            as a non native thread or another process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileUnlocker.Unlock(System.UInt32)">
            <summary>
            Try to unlock the specified profile by attempting or forcing the
            process that currently holds the lock to quit.
            </summary>
            <param name="aSeverity">
            either ATTEMPT_QUIT or FORCE_QUIT
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if unlocking failed.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIProgrammingLanguage">
            <summary>
            Legacy constants for specifying programming languages.
            
            JAVASCRIPT is needed to avoid breaking addons that use it in nsIClassInfo
            to define fields that are no longer needed.
            
            UNKNOWN and JAVASCRIPT are also used in implementations of
            nsIStackFrame::language.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProgressEventSink">
            <summary>
            nsIProgressEventSink
            
            This interface is used to asynchronously convey channel status and progress
            information that is generally not critical to the processing of the channel.
            The information is intended to be displayed to the user in some meaningful
            way.
            
            An implementation of this interface can be passed to a channel via the
            channel&apos;s notificationCallbacks attribute.  See nsIChannel for more info.
            
            The channel will begin passing notifications to the progress event sink
            after its asyncOpen method has been called.  Notifications will cease once
            the channel calls its listener&apos;s onStopRequest method or once the channel
            is canceled (via nsIRequest::cancel).
            
            NOTE: This interface is actually not specific to channels and may be used
            with other implementations of nsIRequest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProgressEventSink.OnProgress(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int64,System.Int64)">
            <summary>
            Called to notify the event sink that progress has occurred for the
            given request.
            </summary>
            <param name="aRequest">
            the request being observed (may QI to nsIChannel).
            </param>
            <param name="aContext">
            if aRequest is a channel, then this parameter is the listener
            context passed to nsIChannel::asyncOpen.
            </param>
            <param name="aProgress">
            numeric value in the range 0 to aProgressMax indicating the
            number of bytes transfered thus far.
            </param>
            <param name="aProgressMax">
            numeric value indicating maximum number of bytes that will be
            transfered (or -1 if total is unknown).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProgressEventSink.OnStatus(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32,System.String)">
            <summary>
            Called to notify the event sink with a status message for the given
            request.
            </summary>
            <param name="aRequest">
            the request being observed (may QI to nsIChannel).
            </param>
            <param name="aContext">
            if aRequest is a channel, then this parameter is the listener
            context passed to nsIChannel::asyncOpen.
            </param>
            <param name="aStatus">
            status code (not necessarily an error code) indicating the
            state of the channel (usually the state of the underlying
            transport).  see nsISocketTransport for socket specific status
            codes.
            </param>
            <param name="aStatusArg">
            status code argument to be used with the string bundle service
            to convert the status message into localized, human readable
            text.  the meaning of this parameter is specific to the value
            of the status code.  for socket status codes, this parameter
            indicates the host:port associated with the status code.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIPromptFactory">
            <summary>
            This interface allows creating various prompts that have a specific parent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptFactory.GetPrompt(Gecko.Interfaces.mozIDOMWindowProxy,System.Guid@)">
            <summary>
            Returns an object implementing the specified interface that creates
            prompts parented to aParent.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIPromptService">
            <summary>
            This is the interface to the embeddable prompt service; the service that
            implements nsIPrompt.  Its interface is designed to be just nsIPrompt, each
            method modified to take a parent window parameter.
            
            Accesskeys can be attached to buttons and checkboxes by inserting an &amp;
            before the accesskey character in the checkbox message or button title.  For
            a real &amp;, use &amp;&amp; instead.  (A &quot;button title&quot; generally refers to the text
            label of a button.)
            
            One note: in all cases, the parent window parameter can be null.  However,
            these windows are all intended to have parents.  So when no parent is
            specified, the implementation should try hard to find a suitable foster
            parent.
            
            Implementations are free to choose how they present the various button
            types.  For example, while prompts that give the user a choice between OK
            and Cancel are required to return a boolean value indicating whether or not
            the user accepted the prompt (pressed OK) or rejected the prompt (pressed
            Cancel), the implementation of this interface could very well speak the
            prompt to the user instead of rendering any visual user-interface.  The
            standard button types are merely idioms used to convey the nature of the
            choice the user is to make.
            
            Because implementations of this interface may loosely interpret the various
            button types, it is advised that text messages passed to these prompts do
            not refer to the button types by name.  For example, it is inadvisable to
            tell the user to &quot;Press OK to proceed.&quot;  Instead, such a prompt might be
            rewritten to ask the user: &quot;Would you like to proceed?&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.Alert(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String)">
            <summary>
            Puts up an alert dialog with an OK button.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.AlertCheck(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String,System.Boolean@)">
            <summary>
            Puts up an alert dialog with an OK button and a labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.Confirm(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String)">
            <summary>
            Puts up a dialog with OK and Cancel buttons.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <returns>
            true for OK, false for Cancel
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.ConfirmCheck(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with OK and Cancel buttons and a labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.ConfirmEx(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.UInt32,System.String,System.String,System.String,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with up to 3 buttons and an optional, labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aButtonFlags">
            A combination of Button Flags.
            </param>
            <param name="aButton0Title">
            Used when button 0 uses TITLE_IS_STRING
            </param>
            <param name="aButton1Title">
            Used when button 1 uses TITLE_IS_STRING
            </param>
            <param name="aButton2Title">
            Used when button 2 uses TITLE_IS_STRING
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  Null if no checkbox.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            index of the button pressed.
            
            Buttons are numbered 0 - 2. The implementation can decide whether the
            sequence goes from right to left or left to right.  Button 0 is the
            default button unless one of the Button Default Flags is specified.
            
            A button may use a predefined title, specified by one of the Button Title
            Flags values.  Each title value can be multiplied by a position value to
            assign the title to a particular button.  If BUTTON_TITLE_IS_STRING is
            used for a button, the string parameter for that button will be used.  If
            the value for a button position is zero, the button will not be shown.
            
            In general, aButtonFlags is constructed per the following example:
            
            aButtonFlags = (BUTTON_POS_0) * (BUTTON_TITLE_AAA) +
            (BUTTON_POS_1) * (BUTTON_TITLE_BBB) +
            BUTTON_POS_1_DEFAULT;
            
            where &quot;AAA&quot; and &quot;BBB&quot; correspond to one of the button titles.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.Prompt(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String@,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with an edit field and an optional, labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aValue">
            Contains the default value for the dialog field when this method
            is called (null value is ok).  Upon return, if the user pressed
            OK, then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  If null, check box will not be shown.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.PromptUsernameAndPassword(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String@,System.String@,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with an edit field, a password field, and an optional,
            labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aUsername">
            Contains the default value for the username field when this method
            is called (null value is ok).  Upon return, if the user pressed OK,
            then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aPassword">
            Contains the default value for the password field when this method
            is called (null value is ok).  Upon return, if the user pressed OK,
            then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  If null, check box will not be shown.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.PromptPassword(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String@,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with a password field and an optional, labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aPassword">
            Contains the default value for the password field when this method
            is called (null value is ok).  Upon return, if the user pressed OK,
            then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  If null, check box will not be shown.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService.Select(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.UInt32,System.IntPtr[],System.Int32@)">
            <summary>
            Puts up a dialog box which has a list box of strings from which the user
            may make a single selection.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aCount">
            The length of the aSelectList array parameter.
            </param>
            <param name="aSelectList">
            The list of strings to display.
            </param>
            <param name="aOutSelection">
            Contains the index of the selected item in the list when this
            method returns true.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIPromptService2">
            <summary>
            This is an improved version of nsIPromptService that is less prescriptive
            about the resulting user interface.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.Alert(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String)">
            <summary>
            Puts up an alert dialog with an OK button.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.AlertCheck(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String,System.Boolean@)">
            <summary>
            Puts up an alert dialog with an OK button and a labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.Confirm(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String)">
            <summary>
            Puts up a dialog with OK and Cancel buttons.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <returns>
            true for OK, false for Cancel
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.ConfirmCheck(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with OK and Cancel buttons and a labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.ConfirmEx(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.UInt32,System.String,System.String,System.String,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with up to 3 buttons and an optional, labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aButtonFlags">
            A combination of Button Flags.
            </param>
            <param name="aButton0Title">
            Used when button 0 uses TITLE_IS_STRING
            </param>
            <param name="aButton1Title">
            Used when button 1 uses TITLE_IS_STRING
            </param>
            <param name="aButton2Title">
            Used when button 2 uses TITLE_IS_STRING
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  Null if no checkbox.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            index of the button pressed.
            
            Buttons are numbered 0 - 2. The implementation can decide whether the
            sequence goes from right to left or left to right.  Button 0 is the
            default button unless one of the Button Default Flags is specified.
            
            A button may use a predefined title, specified by one of the Button Title
            Flags values.  Each title value can be multiplied by a position value to
            assign the title to a particular button.  If BUTTON_TITLE_IS_STRING is
            used for a button, the string parameter for that button will be used.  If
            the value for a button position is zero, the button will not be shown.
            
            In general, aButtonFlags is constructed per the following example:
            
            aButtonFlags = (BUTTON_POS_0) * (BUTTON_TITLE_AAA) +
            (BUTTON_POS_1) * (BUTTON_TITLE_BBB) +
            BUTTON_POS_1_DEFAULT;
            
            where &quot;AAA&quot; and &quot;BBB&quot; correspond to one of the button titles.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.Prompt(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String@,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with an edit field and an optional, labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aValue">
            Contains the default value for the dialog field when this method
            is called (null value is ok).  Upon return, if the user pressed
            OK, then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  If null, check box will not be shown.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.PromptUsernameAndPassword(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String@,System.String@,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with an edit field, a password field, and an optional,
            labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aUsername">
            Contains the default value for the username field when this method
            is called (null value is ok).  Upon return, if the user pressed OK,
            then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aPassword">
            Contains the default value for the password field when this method
            is called (null value is ok).  Upon return, if the user pressed OK,
            then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  If null, check box will not be shown.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.PromptPassword(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String@,System.String,System.Boolean@)">
            <summary>
            Puts up a dialog with a password field and an optional, labeled checkbox.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aPassword">
            Contains the default value for the password field when this method
            is called (null value is ok).  Upon return, if the user pressed OK,
            then this parameter contains a newly allocated string value.
            Otherwise, the parameter&apos;s value is unmodified.
            </param>
            <param name="aCheckMsg">
            Text to appear with the checkbox.  If null, check box will not be shown.
            </param>
            <param name="aCheckState">
            Contains the initial checked state of the checkbox when this method
            is called and the final checked state after this method returns.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIPromptService2.Select(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.UInt32,System.IntPtr[],System.Int32@)">
            <summary>
            Puts up a dialog box which has a list box of strings from which the user
            may make a single selection.
            </summary>
            <param name="aParent">
            The parent window or null.
            </param>
            <param name="aDialogTitle">
            Text to appear in the title of the dialog.
            </param>
            <param name="aText">
            Text to appear in the body of the dialog.
            </param>
            <param name="aCount">
            The length of the aSelectList array parameter.
            </param>
            <param name="aSelectList">
            The list of strings to display.
            </param>
            <param name="aOutSelection">
            Contains the index of the selected item in the list when this
            method returns true.
            </param>
            <returns>
            true for OK, false for Cancel.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIProperty.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Get the name of the property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProperty.GetValueAttribute">
            <summary>
            Get the value of the property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPropertyBag.GetEnumeratorAttribute">
            <summary>
            Get a nsISimpleEnumerator whose elements are nsIProperty objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPropertyBag.GetProperty(Gecko.nsAStringBase)">
            <summary>
            Get a property value for the given name.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't
            exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPropertyBag2.GetEnumeratorAttribute">
            <summary>
            Get a nsISimpleEnumerator whose elements are nsIProperty objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPropertyBag2.GetProperty(Gecko.nsAStringBase)">
            <summary>
            Get a property value for the given name.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't
            exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIPropertyBag2.GetPropertyAsInterface(Gecko.nsAStringBase,System.Guid@)">
            <summary>
            This method returns null if the value exists, but is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPropertyBag2.Get(Gecko.nsAStringBase)">
            <summary>
            This method returns null if the value does not exist,
            or exists but is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIPropertyBag2.HasKey(Gecko.nsAStringBase)">
            <summary>
            Check for the existence of a key.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtectedAuthThread">
            <summary>
            nsIProtectedAuthThread
            This is used to communicate with the thread login on to
            a token with CKF_PROTECTED_AUTHENTICATION_PATH set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtectedAuthThread.Login(Gecko.Interfaces.nsIObserver)">
            <summary>
            login - run the thread
            A user interface implementing this interface needs to
            call this method as soon as the message to the user is
            displayed. This will trigger login operation. No user
            cancellation is possible during login operation.
            
            When the login is done, the observe method of @observer will
            be called on the UI thread with a topic of &quot;login-finished&quot;
            and null data and subject.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtectedAuthThread.GetSlotAttribute">
            <summary>
            The PKCS11 slot
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtectedAuthThread.GetTokenName(Gecko.nsAStringBase)">
            <summary>
            Gets token to be logged in name.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtocolHandlerWithDynamicFlags">
            <summary>
            nsIProtocolHandlerWithDynamicFlags
            
            Protocols that wish to return different flags depending on the URI should
            implement this interface.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtocolProxyCallback">
            <summary>
            This interface serves as a closure for nsIProtocolProxyService&apos;s
            asyncResolve method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyCallback.OnProxyAvailable(Gecko.Interfaces.nsICancelable,Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsIProxyInfo,System.Int32)">
            <summary>
            This method is called when proxy info is available or when an error
            in the proxy resolution occurs.
            </summary>
            <param name="aRequest">
            The value returned from asyncResolve.
            </param>
            <param name="aChannel">
            The channel passed to asyncResolve.
            </param>
            <param name="aProxyInfo">
            The resulting proxy info or null if there is no associated proxy
            info for aURI.  As with the result of nsIProtocolProxyService&apos;s
            resolve method, a null result implies that a direct connection
            should be used.
            </param>
            <param name="aStatus">
            The status of the callback.  This is a failure code if the request
            could not be satisfied, in which case the value of aStatus
            indicates the reason for the failure and aProxyInfo will be null.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtocolProxyFilter">
            <summary>
            This interface is used to apply filters to the proxies selected for a given
            URI.  Use nsIProtocolProxyService::registerFilter to hook up instances of
            this interface. See also nsIProtocolProxyChannelFilter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyFilter.ApplyFilter(Gecko.Interfaces.nsIProtocolProxyService,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            This method is called to apply proxy filter rules for the given URI
            and proxy object (or list of proxy objects).
            </summary>
            <param name="aProxyService">
            A reference to the Protocol Proxy Service.  This is passed so that
            implementations may easily access methods such as newProxyInfo.
            </param>
            <param name="aURI">
            The URI for which these proxy settings apply.
            </param>
            <param name="aProxy">
            The proxy (or list of proxies) that would be used by default for
            the given URI.  This may be null.
            </param>
            <returns>
            The proxy (or list of proxies) that should be used in place of
            aProxy.  This can be just be aProxy if the filter chooses not to
            modify the proxy.  It can also be null to indicate that a direct
            connection should be used.  Use aProxyService.newProxyInfo to
            construct nsIProxyInfo objects.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtocolProxyChannelFilter">
            <summary>
            This interface is used to apply filters to the proxies selected for a given
            channel.  Use nsIProtocolProxyService::registerChannelFilter to hook up instances of
            this interface. See also nsIProtocolProxyFilter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyChannelFilter.ApplyFilter(Gecko.Interfaces.nsIProtocolProxyService,Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            This method is called to apply proxy filter rules for the given channel
            and proxy object (or list of proxy objects).
            </summary>
            <param name="aProxyService">
            A reference to the Protocol Proxy Service.  This is passed so that
            implementations may easily access methods such as newProxyInfo.
            </param>
            <param name="aChannel">
            The channel for which these proxy settings apply.
            </param>
            <param name="aProxy">
            The proxy (or list of proxies) that would be used by default for
            the given channel. This may be null.
            </param>
            <returns>
            The proxy (or list of proxies) that should be used in place of
            aProxy. This can be just be aProxy if the filter chooses not to
            modify the proxy. It can also be null to indicate that a direct
            connection should be used.  Use aProxyService.newProxyInfo to
            construct nsIProxyInfo objects.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtocolProxyService">
            <summary>
            nsIProtocolProxyService provides methods to access information about
            various network proxies.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.AsyncResolve(Gecko.Interfaces.nsISupports,System.UInt32,Gecko.Interfaces.nsIProtocolProxyCallback)">
            <summary>
            This method returns via callback a nsIProxyInfo instance that identifies
            a proxy to be used for the given channel.  Otherwise, this method returns
            null indicating that a direct connection should be used.
            </summary>
            <param name="aChannelOrURI">
            The channel for which a proxy is to be found, or, if no channel is
            available, a URI indicating the same. This method will return
            NS_ERROR_NOINTERFACE if this argument isn&apos;t either an nsIURI or an
            nsIChannel.
            </param>
            <param name="aFlags">
            A bit-wise combination of the RESOLVE_ flags defined above.  Pass
            0 to specify the default behavior.  Any additional bits that do
            not correspond to a RESOLVE_ flag are reserved for future use.
            </param>
            <param name="aCallback">
            The object to be notified when the result is available.
            </param>
            <returns>
            An object that can be used to cancel the asychronous operation.
            If canceled, the cancelation status (aReason) will be forwarded
            to the callback&apos;s onProxyAvailable method via the aStatus param.
            
            NOTE: If this proxy is unavailable, getFailoverForProxy may be called
            to determine the correct secondary proxy to be used.
            
            NOTE: If the protocol handler for the given URI supports
            nsIProxiedProtocolHandler, then the nsIProxyInfo instance returned from
            resolve may be passed to the newProxiedChannel method to create a
            nsIChannel to the given URI that uses the specified proxy.
            
            NOTE: However, if the nsIProxyInfo type is &quot;http&quot;, then it means that
            the given URI should be loaded using the HTTP protocol handler, which
            also supports nsIProxiedProtocolHandler.
            </returns>
            <remarks>
            See nsIProxiedProtocolHandler::newProxiedChannel
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.NewProxyInfo(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.Int32,System.UInt32,System.UInt32,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            This method may be called to construct a nsIProxyInfo instance from
            the given parameters.  This method may be useful in conjunction with
            nsISocketTransportService::createTransport for creating, for example,
            a SOCKS connection.
            </summary>
            <param name="aType">
            The proxy type.  This is a string value that identifies the proxy
            type.  Standard values include:
            &quot;http&quot;    - specifies a HTTP proxy
            &quot;https&quot;   - specifies HTTP proxying over TLS connection to proxy
            &quot;socks&quot;   - specifies a SOCKS version 5 proxy
            &quot;socks4&quot;  - specifies a SOCKS version 4 proxy
            &quot;direct&quot;  - specifies a direct connection (useful for failover)
            The type name is case-insensitive.  Other string values may be
            possible, and new types may be defined by a future version of
            this interface.
            </param>
            <param name="aHost">
            The proxy hostname or IP address.
            </param>
            <param name="aPort">
            The proxy port.
            </param>
            <param name="aFlags">
            Flags associated with this connection.  See nsIProxyInfo.idl
            for currently defined flags.
            </param>
            <param name="aFailoverTimeout">
            Specifies the length of time (in seconds) to ignore this proxy if
            this proxy fails.  Pass UINT32_MAX to specify the default
            timeout value, causing nsIProxyInfo::failoverTimeout to be
            assigned the default value.
            </param>
            <param name="aFailoverProxy">
            Specifies the next proxy to try if this proxy fails.  This
            parameter may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.NewProxyInfoWithAuth(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.Int32,Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt32,System.UInt32,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            This method may be called to construct a nsIProxyInfo instance for
            with the specified username and password.
            Currently implemented for SOCKS proxies only.
            </summary>
            <param name="aType">
            The proxy type.  This is a string value that identifies the proxy
            type.  Standard values include:
            &quot;socks&quot;   - specifies a SOCKS version 5 proxy
            &quot;socks4&quot;  - specifies a SOCKS version 4 proxy
            The type name is case-insensitive.  Other string values may be
            possible, and new types may be defined by a future version of
            this interface.
            </param>
            <param name="aHost">
            The proxy hostname or IP address.
            </param>
            <param name="aPort">
            The proxy port.
            </param>
            <param name="aUsername">
            The proxy username
            </param>
            <param name="aPassword">
            The proxy password
            </param>
            <param name="aFlags">
            Flags associated with this connection.  See nsIProxyInfo.idl
            for currently defined flags.
            </param>
            <param name="aFailoverTimeout">
            Specifies the length of time (in seconds) to ignore this proxy if
            this proxy fails.  Pass UINT32_MAX to specify the default
            timeout value, causing nsIProxyInfo::failoverTimeout to be
            assigned the default value.
            </param>
            <param name="aFailoverProxy">
            Specifies the next proxy to try if this proxy fails.  This
            parameter may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.GetFailoverForProxy(Gecko.Interfaces.nsIProxyInfo,Gecko.Interfaces.nsIURI,System.Int32)">
            <summary>
            If the proxy identified by aProxyInfo is unavailable for some reason,
            this method may be called to access an alternate proxy that may be used
            instead.  As a side-effect, this method may affect future result values
            from resolve/asyncResolve as well as from getFailoverForProxy.
            </summary>
            <param name="aProxyInfo">
            The proxy that was unavailable.
            </param>
            <param name="aURI">
            The URI that was originally passed to resolve/asyncResolve.
            </param>
            <param name="aReason">
            The error code corresponding to the proxy failure.  This value
            may be used to tune the delay before this proxy is used again.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.RegisterFilter(Gecko.Interfaces.nsIProtocolProxyFilter,System.UInt32)">
            <summary>
            This method may be used to register a proxy filter instance.  Each proxy
            filter is registered with an associated position that determines the
            order in which the filters are applied (starting from position 0).  When
            resolve/asyncResolve is called, it generates a list of proxies for the
            given URI, and then it applies the proxy filters.  The filters have the
            opportunity to modify the list of proxies.
            
            If two filters register for the same position, then the filters will be
            visited in the order in which they were registered.
            
            If the filter is already registered, then its position will be updated.
            
            After filters have been run, any disabled or disallowed proxies will be
            removed from the list.  A proxy is disabled if it had previously failed-
            over to another proxy (see getFailoverForProxy).  A proxy is disallowed,
            for example, if it is a HTTP proxy and the nsIProtocolHandler for the
            queried URI does not permit proxying via HTTP.
            
            If a nsIProtocolHandler disallows all proxying, then filters will never
            have a chance to intercept proxy requests for such URLs.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyFilter instance to be registered.
            </param>
            <param name="aPosition">
            The position of the filter.
            
            NOTE: It is possible to construct filters that compete with one another
            in undesirable ways.  This API does not attempt to protect against such
            problems.  It is recommended that any extensions that choose to call
            this method make their position value configurable at runtime (perhaps
            via the preferences service).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.RegisterChannelFilter(Gecko.Interfaces.nsIProtocolProxyChannelFilter,System.UInt32)">
            <summary>
            Similar to registerFilter, but accepts an nsIProtocolProxyChannelFilter,
            which selects proxies according to channel rather than URI.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyChannelFilter instance to be registered.
            </param>
            <param name="aPosition">
            The position of the filter.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.UnregisterFilter(Gecko.Interfaces.nsIProtocolProxyFilter)">
            <summary>
            This method may be used to unregister a proxy filter instance.  All
            filters will be automatically unregistered at XPCOM shutdown.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyFilter instance to be unregistered.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.UnregisterChannelFilter(Gecko.Interfaces.nsIProtocolProxyChannelFilter)">
            <summary>
            This method may be used to unregister a proxy channel filter instance.  All
            filters will be automatically unregistered at XPCOM shutdown.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyChannelFilter instance to be unregistered.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService.GetProxyConfigTypeAttribute">
            <summary>
            This attribute specifies the current type of proxy configuration.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProtocolProxyService2">
            <summary>
            An extension of nsIProtocolProxyService
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.AsyncResolve(Gecko.Interfaces.nsISupports,System.UInt32,Gecko.Interfaces.nsIProtocolProxyCallback)">
            <summary>
            This method returns via callback a nsIProxyInfo instance that identifies
            a proxy to be used for the given channel.  Otherwise, this method returns
            null indicating that a direct connection should be used.
            </summary>
            <param name="aChannelOrURI">
            The channel for which a proxy is to be found, or, if no channel is
            available, a URI indicating the same. This method will return
            NS_ERROR_NOINTERFACE if this argument isn&apos;t either an nsIURI or an
            nsIChannel.
            </param>
            <param name="aFlags">
            A bit-wise combination of the RESOLVE_ flags defined above.  Pass
            0 to specify the default behavior.  Any additional bits that do
            not correspond to a RESOLVE_ flag are reserved for future use.
            </param>
            <param name="aCallback">
            The object to be notified when the result is available.
            </param>
            <returns>
            An object that can be used to cancel the asychronous operation.
            If canceled, the cancelation status (aReason) will be forwarded
            to the callback&apos;s onProxyAvailable method via the aStatus param.
            
            NOTE: If this proxy is unavailable, getFailoverForProxy may be called
            to determine the correct secondary proxy to be used.
            
            NOTE: If the protocol handler for the given URI supports
            nsIProxiedProtocolHandler, then the nsIProxyInfo instance returned from
            resolve may be passed to the newProxiedChannel method to create a
            nsIChannel to the given URI that uses the specified proxy.
            
            NOTE: However, if the nsIProxyInfo type is &quot;http&quot;, then it means that
            the given URI should be loaded using the HTTP protocol handler, which
            also supports nsIProxiedProtocolHandler.
            </returns>
            <remarks>
            See nsIProxiedProtocolHandler::newProxiedChannel
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.NewProxyInfo(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.Int32,System.UInt32,System.UInt32,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            This method may be called to construct a nsIProxyInfo instance from
            the given parameters.  This method may be useful in conjunction with
            nsISocketTransportService::createTransport for creating, for example,
            a SOCKS connection.
            </summary>
            <param name="aType">
            The proxy type.  This is a string value that identifies the proxy
            type.  Standard values include:
            &quot;http&quot;    - specifies a HTTP proxy
            &quot;https&quot;   - specifies HTTP proxying over TLS connection to proxy
            &quot;socks&quot;   - specifies a SOCKS version 5 proxy
            &quot;socks4&quot;  - specifies a SOCKS version 4 proxy
            &quot;direct&quot;  - specifies a direct connection (useful for failover)
            The type name is case-insensitive.  Other string values may be
            possible, and new types may be defined by a future version of
            this interface.
            </param>
            <param name="aHost">
            The proxy hostname or IP address.
            </param>
            <param name="aPort">
            The proxy port.
            </param>
            <param name="aFlags">
            Flags associated with this connection.  See nsIProxyInfo.idl
            for currently defined flags.
            </param>
            <param name="aFailoverTimeout">
            Specifies the length of time (in seconds) to ignore this proxy if
            this proxy fails.  Pass UINT32_MAX to specify the default
            timeout value, causing nsIProxyInfo::failoverTimeout to be
            assigned the default value.
            </param>
            <param name="aFailoverProxy">
            Specifies the next proxy to try if this proxy fails.  This
            parameter may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.NewProxyInfoWithAuth(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.Int32,Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt32,System.UInt32,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            This method may be called to construct a nsIProxyInfo instance for
            with the specified username and password.
            Currently implemented for SOCKS proxies only.
            </summary>
            <param name="aType">
            The proxy type.  This is a string value that identifies the proxy
            type.  Standard values include:
            &quot;socks&quot;   - specifies a SOCKS version 5 proxy
            &quot;socks4&quot;  - specifies a SOCKS version 4 proxy
            The type name is case-insensitive.  Other string values may be
            possible, and new types may be defined by a future version of
            this interface.
            </param>
            <param name="aHost">
            The proxy hostname or IP address.
            </param>
            <param name="aPort">
            The proxy port.
            </param>
            <param name="aUsername">
            The proxy username
            </param>
            <param name="aPassword">
            The proxy password
            </param>
            <param name="aFlags">
            Flags associated with this connection.  See nsIProxyInfo.idl
            for currently defined flags.
            </param>
            <param name="aFailoverTimeout">
            Specifies the length of time (in seconds) to ignore this proxy if
            this proxy fails.  Pass UINT32_MAX to specify the default
            timeout value, causing nsIProxyInfo::failoverTimeout to be
            assigned the default value.
            </param>
            <param name="aFailoverProxy">
            Specifies the next proxy to try if this proxy fails.  This
            parameter may be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.GetFailoverForProxy(Gecko.Interfaces.nsIProxyInfo,Gecko.Interfaces.nsIURI,System.Int32)">
            <summary>
            If the proxy identified by aProxyInfo is unavailable for some reason,
            this method may be called to access an alternate proxy that may be used
            instead.  As a side-effect, this method may affect future result values
            from resolve/asyncResolve as well as from getFailoverForProxy.
            </summary>
            <param name="aProxyInfo">
            The proxy that was unavailable.
            </param>
            <param name="aURI">
            The URI that was originally passed to resolve/asyncResolve.
            </param>
            <param name="aReason">
            The error code corresponding to the proxy failure.  This value
            may be used to tune the delay before this proxy is used again.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.RegisterFilter(Gecko.Interfaces.nsIProtocolProxyFilter,System.UInt32)">
            <summary>
            This method may be used to register a proxy filter instance.  Each proxy
            filter is registered with an associated position that determines the
            order in which the filters are applied (starting from position 0).  When
            resolve/asyncResolve is called, it generates a list of proxies for the
            given URI, and then it applies the proxy filters.  The filters have the
            opportunity to modify the list of proxies.
            
            If two filters register for the same position, then the filters will be
            visited in the order in which they were registered.
            
            If the filter is already registered, then its position will be updated.
            
            After filters have been run, any disabled or disallowed proxies will be
            removed from the list.  A proxy is disabled if it had previously failed-
            over to another proxy (see getFailoverForProxy).  A proxy is disallowed,
            for example, if it is a HTTP proxy and the nsIProtocolHandler for the
            queried URI does not permit proxying via HTTP.
            
            If a nsIProtocolHandler disallows all proxying, then filters will never
            have a chance to intercept proxy requests for such URLs.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyFilter instance to be registered.
            </param>
            <param name="aPosition">
            The position of the filter.
            
            NOTE: It is possible to construct filters that compete with one another
            in undesirable ways.  This API does not attempt to protect against such
            problems.  It is recommended that any extensions that choose to call
            this method make their position value configurable at runtime (perhaps
            via the preferences service).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.RegisterChannelFilter(Gecko.Interfaces.nsIProtocolProxyChannelFilter,System.UInt32)">
            <summary>
            Similar to registerFilter, but accepts an nsIProtocolProxyChannelFilter,
            which selects proxies according to channel rather than URI.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyChannelFilter instance to be registered.
            </param>
            <param name="aPosition">
            The position of the filter.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.UnregisterFilter(Gecko.Interfaces.nsIProtocolProxyFilter)">
            <summary>
            This method may be used to unregister a proxy filter instance.  All
            filters will be automatically unregistered at XPCOM shutdown.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyFilter instance to be unregistered.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.UnregisterChannelFilter(Gecko.Interfaces.nsIProtocolProxyChannelFilter)">
            <summary>
            This method may be used to unregister a proxy channel filter instance.  All
            filters will be automatically unregistered at XPCOM shutdown.
            </summary>
            <param name="aFilter">
            The nsIProtocolProxyChannelFilter instance to be unregistered.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.GetProxyConfigTypeAttribute">
            <summary>
            This attribute specifies the current type of proxy configuration.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.ReloadPAC">
            <summary>
            Call this method to cause the PAC file (if any is configured) to be
            reloaded.  The PAC file is loaded asynchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProtocolProxyService2.AsyncResolve2(Gecko.Interfaces.nsIChannel,System.UInt32,Gecko.Interfaces.nsIProtocolProxyCallback)">
            <summary>
            This method is identical to asyncResolve() except:
            - it only accepts an nsIChannel, not an nsIURI;
            - it may execute the callback function immediately (i.e from the stack
            of asyncResolve2()) if it is immediately ready to run.
            The nsICancelable return value will be null in that case.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProxyInfo">
            <summary>
            This interface identifies a proxy server.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            This attribute specifies the hostname of the proxy server.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetPortAttribute">
            <summary>
            This attribute specifies the port number of the proxy server.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            This attribute specifies the type of the proxy server as an ASCII string.
            
            Some special values for this attribute include (but are not limited to)
            the following:
            &quot;http&quot;     HTTP proxy (or SSL CONNECT for HTTPS)
            &quot;https&quot;    HTTP proxying over TLS connection to proxy
            &quot;socks&quot;    SOCKS v5 proxy
            &quot;socks4&quot;   SOCKS v4 proxy
            &quot;direct&quot;   no proxy
            &quot;unknown&quot;  unknown proxy (see nsIProtocolProxyService::resolve)
            
            A future version of this interface may define additional types.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetFlagsAttribute">
            <summary>
            This attribute specifies flags that modify the proxy type.  The value of
            this attribute is the bit-wise combination of the Proxy Flags defined
            below.  Any undefined bits are reserved for future use.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetResolveFlagsAttribute">
            <summary>
            This attribute specifies flags that were used by nsIProxyProtocolService when
            creating this ProxyInfo element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetUsernameAttribute(Gecko.nsACStringBase)">
            <summary>
            Specifies a proxy username.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetPasswordAttribute(Gecko.nsACStringBase)">
            <summary>
            Specifies a proxy password.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetFailoverTimeoutAttribute">
            <summary>
            This attribute specifies the failover timeout in seconds for this proxy.
            If a nsIProxyInfo is reported as failed via nsIProtocolProxyService::
            getFailoverForProxy, then the failed proxy will not be used again for this
            many seconds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProxyInfo.GetFailoverProxyAttribute">
            <summary>
            This attribute specifies the proxy to failover to when this proxy fails.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIQueryContentEventResult">
            <summary>
            The result of query content events.  succeeded propery can be used always.
            Whether other properties can be used or not depends on the event.
            See nsIDOMWindowUtils.idl, which properites can be used was documented.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIQuotaManagerService.GetUsage(Gecko.Interfaces.nsIQuotaUsageCallback,System.Boolean)">
            <summary>
            Schedules an asynchronous callback that will inspect all origins and
            return the total amount of disk space being used by storages for each
            origin separately.
            </summary>
            <param name="aCallback">
            The callback that will be called when the usage is available.
            </param>
            <param name="aGetAll">
            An optional boolean to indicate inspection of all origins,
            including internal ones.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIQuotaManagerService.GetUsageForPrincipal(Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIQuotaUsageCallback,System.Boolean)">
            <summary>
            Schedules an asynchronous callback that will return the total amount of
            disk space being used by storages for the given origin.
            </summary>
            <param name="aPrincipal">
            A principal for the origin whose usage is being queried.
            </param>
            <param name="aCallback">
            The callback that will be called when the usage is available.
            </param>
            <param name="aGetGroupUsage">
            An optional flag to indicate whether getting group usage and limit
            or origin usage and file usage. The default value is false.
            Note:  Origin usage here represents total usage of an origin. However,
            group usage here represents only non-persistent usage of a group.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIQuotaManagerService.Clear">
            <summary>
            Removes all storages. The files may not be deleted immediately depending
            on prohibitive concurrent operations.
            Be careful, this removes *all* the data that has ever been stored!
            
            If the dom.quotaManager.testing preference is not true the call will be
            a no-op.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIQuotaManagerService.ClearStoragesForPrincipal(Gecko.Interfaces.nsIPrincipal,Gecko.nsACStringBase,System.Boolean)">
            <summary>
            Removes all storages stored for the given URI. The files may not be
            deleted immediately depending on prohibitive concurrent operations.
            </summary>
            <param name="aPrincipal">
            A principal for the origin whose storages are to be cleared.
            </param>
            <param name="aPersistenceType">
            An optional string that tells what persistence type of storages
            will be cleared.
            </param>
            <param name="aClearAll">
            An optional boolean to indicate clearing all storages under the
            given origin.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIQuotaManagerService.Reset">
            <summary>
            Resets quota and storage management. This can be used to force
            reinitialization of the temp storage, for example when the pref for
            overriding the temp storage limit has changed.
            Be carefull, this invalidates all live storages!
            
            If the dom.quotaManager.testing preference is not true the call will be
            a no-op.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRandomGenerator">
            <summary>
            Interface used to generate random data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomGenerator.GenerateRandomBytes(System.UInt32,System.IntPtr@)">
            <summary>
            Generates the specified amount of random bytes.
            </summary>
            <param name="aLength">
            The length of the data to generate.
            </param>
            <param name="aBuffer">
            A buffer that contains random bytes of size aLength.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFCompositeDataSource">
            <summary>
            An nsIRDFCompositeDataSource composes individual data sources, providing
            the illusion of a single, coherent RDF graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.GetURIAttribute">
            <summary>
            The &quot;URI&quot; of the data source. This used by the RDF service&apos;s
            |GetDataSource()| method to cache datasources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.GetSource(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Find an RDF resource that points to a given node over the
            specified arc &amp; truth value
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_RDF_NO_VALUE: if there is no source that leads
            to the target with the specified property.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.GetSources(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Find all RDF resources that point to a given node over the
            specified arc &amp; truth value
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.GetTarget(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,System.Boolean)">
            <summary>
            Find a child of that is related to the source by the given arc
            arc and truth value
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_RDF_NO_VALUE: if there is no target accessible from the
            source via the specified property.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.GetTargets(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,System.Boolean)">
            <summary>
            Find all children of that are related to the source by the given arc
            arc and truth value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.Assert(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Add an assertion to the graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.Unassert(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Remove an assertion from the graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.Change(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Change an assertion from
            
            [aSource]--[aProperty]--&gt;[aOldTarget]
            
            to
            
            [aSource]--[aProperty]--&gt;[aNewTarget]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.Move(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            &apos;Move&apos; an assertion from
            
            [aOldSource]--[aProperty]--&gt;[aTarget]
            
            to
            
            [aNewSource]--[aProperty]--&gt;[aTarget]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.HasAssertion(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Query whether an assertion exists in this graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.AddObserver(Gecko.Interfaces.nsIRDFObserver)">
            <summary>
            Add an observer to this data source. If the datasource
            supports observers, the datasource source should hold a strong
            reference to the observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.RemoveObserver(Gecko.Interfaces.nsIRDFObserver)">
            <summary>
            Remove an observer from this data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.ArcLabelsIn(Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Get a cursor to iterate over all the arcs that point into a node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.ArcLabelsOut(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Get a cursor to iterate over all the arcs that originate in
            a resource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.GetAllResources">
            <summary>
            Retrieve all of the resources that the data source currently
            refers to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.IsCommandEnabled(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsISupports)">
            <summary>
            Returns whether a given command is enabled for a set of sources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.DoCommand(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsISupports)">
            <summary>
            Perform the specified command on set of sources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.GetAllCmds(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns the set of all commands defined for a given source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.HasArcIn(Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns true if the specified node is pointed to by the specified arc.
            Equivalent to enumerating ArcLabelsIn and comparing for the specified arc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.HasArcOut(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns true if the specified node has the specified outward arc.
            Equivalent to enumerating ArcLabelsOut and comparing for the specified arc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.BeginUpdateBatch">
            <summary>
            Notify observers that the datasource is about to send several
            notifications at once.
            This must be followed by calling endUpdateBatch(), otherwise
            viewers will get out of sync.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDataSource.EndUpdateBatch">
            <summary>
            Notify observers that the datasource has completed issuing
            a notification group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetURIAttribute">
            <summary>
            The &quot;URI&quot; of the data source. This used by the RDF service&apos;s
            |GetDataSource()| method to cache datasources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetSource(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Find an RDF resource that points to a given node over the
            specified arc &amp; truth value
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_RDF_NO_VALUE: if there is no source that leads
            to the target with the specified property.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetSources(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Find all RDF resources that point to a given node over the
            specified arc &amp; truth value
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetTarget(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,System.Boolean)">
            <summary>
            Find a child of that is related to the source by the given arc
            arc and truth value
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_RDF_NO_VALUE: if there is no target accessible from the
            source via the specified property.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetTargets(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,System.Boolean)">
            <summary>
            Find all children of that are related to the source by the given arc
            arc and truth value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.Assert(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Add an assertion to the graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.Unassert(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Remove an assertion from the graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.Change(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Change an assertion from
            
            [aSource]--[aProperty]--&gt;[aOldTarget]
            
            to
            
            [aSource]--[aProperty]--&gt;[aNewTarget]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.Move(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            &apos;Move&apos; an assertion from
            
            [aOldSource]--[aProperty]--&gt;[aTarget]
            
            to
            
            [aNewSource]--[aProperty]--&gt;[aTarget]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.HasAssertion(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Query whether an assertion exists in this graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.AddObserver(Gecko.Interfaces.nsIRDFObserver)">
            <summary>
            Add an observer to this data source. If the datasource
            supports observers, the datasource source should hold a strong
            reference to the observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.RemoveObserver(Gecko.Interfaces.nsIRDFObserver)">
            <summary>
            Remove an observer from this data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.ArcLabelsIn(Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Get a cursor to iterate over all the arcs that point into a node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.ArcLabelsOut(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Get a cursor to iterate over all the arcs that originate in
            a resource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetAllResources">
            <summary>
            Retrieve all of the resources that the data source currently
            refers to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.IsCommandEnabled(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsISupports)">
            <summary>
            Returns whether a given command is enabled for a set of sources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.DoCommand(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsISupports)">
            <summary>
            Perform the specified command on set of sources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetAllCmds(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns the set of all commands defined for a given source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.HasArcIn(Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns true if the specified node is pointed to by the specified arc.
            Equivalent to enumerating ArcLabelsIn and comparing for the specified arc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.HasArcOut(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns true if the specified node has the specified outward arc.
            Equivalent to enumerating ArcLabelsOut and comparing for the specified arc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.BeginUpdateBatch">
            <summary>
            Notify observers that the datasource is about to send several
            notifications at once.
            This must be followed by calling endUpdateBatch(), otherwise
            viewers will get out of sync.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.EndUpdateBatch">
            <summary>
            Notify observers that the datasource has completed issuing
            a notification group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetAllowNegativeAssertionsAttribute">
            <summary>
            Set this value to &lt;code&gt;true&lt;/code&gt; if the composite datasource
            may contains at least one datasource that has &lt;em&gt;negative&lt;/em&gt;
            assertions. (This is the default.)
            
            Set this value to &lt;code&gt;false&lt;/code&gt; if none of the datasources
            being composed contains a negative assertion. This allows the
            composite datasource to perform some query optimizations.
            
            By default, this value is &lt;code&gt;true&lt;/true&gt;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetCoalesceDuplicateArcsAttribute">
            <summary>
            Set to &lt;code&gt;true&lt;/code&gt; if the composite datasource should
            take care to coalesce duplicate arcs when returning values from
            queries. (This is the default.)
            
            Set to &lt;code&gt;false&lt;/code&gt; if the composite datasource shouldn&apos;t
            bother to check for duplicates. This allows the composite
            datasource to more efficiently answer queries.
            
            By default, this value is &lt;code&gt;true&lt;/code&gt;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.AddDataSource(Gecko.Interfaces.nsIRDFDataSource)">
            <summary>
            Add a datasource the the composite data source.
            </summary>
            <param name="aDataSource">
            the datasource to add to composite
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.RemoveDataSource(Gecko.Interfaces.nsIRDFDataSource)">
            <summary>
            Remove a datasource from the composite data source.
            </summary>
            <param name="aDataSource">
            the datasource to remove from the composite
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFCompositeDataSource.GetDataSources">
            <summary>
            Retrieve the datasources in the composite data source.
            </summary>
            <returns>
            an nsISimpleEnumerator that will enumerate each
            of the datasources in the composite
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.Init(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Initialize the container wrapper to the specified resource
            using the specified datasource for context.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.GetCount">
            <summary>
            Return the number of elements in the container. Note that this
            may not always be accurate due to aggregation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.GetElements">
            <summary>
            Return an enumerator that can be used to enumerate the contents
            of the container in ascending order.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.AppendElement(Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Append an element to the container, assigning it the next
            available ordinal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.RemoveElement(Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Remove the first occurence of the specified element from the
            container. If aRenumber is &apos;true&apos;, then the underlying RDF graph
            will be &apos;re-numbered&apos; to account for the removal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.InsertElementAt(Gecko.Interfaces.nsIRDFNode,System.Int32,System.Boolean)">
            <summary>
            Insert aElement at the specified index. If aRenumber is &apos;true&apos;, then
            the underlying RDF graph will be &apos;re-numbered&apos; to accomodate the new
            element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.RemoveElementAt(System.Int32,System.Boolean)">
            <summary>
            Remove the element at the specified index. If aRenumber is &apos;true&apos;, then
            the underlying RDF graph will be &apos;re-numbered&apos; to account for the
            removal.
            </summary>
            <returns>
            the element that was removed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainer.IndexOf(Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Determine the index of an element in the container.
            </summary>
            <returns>
            The index of the specified element in the container. If
            the element is not contained in the container, this function
            returns &apos;-1&apos;.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IsOrdinalProperty(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns &apos;true&apos; if the property is an RDF ordinal property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IndexToOrdinalResource(System.Int32)">
            <summary>
            Convert the specified index to an ordinal property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.OrdinalResourceToIndex(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Convert the specified ordinal property into an index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IsContainer(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Return &apos;true&apos; if the specified resource is a container
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IsEmpty(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Return &apos;true&apos; if the specified resource is a container and it is empty
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IsBag(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Return &apos;true&apos; if the specified resource is a bag
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IsSeq(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Return &apos;true&apos; if the specified resource is a sequence
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IsAlt(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Return &apos;true&apos; if the specified resource is an alternation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.MakeBag(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Decorates the specified resource appropriately to make it
            usable as an empty bag in the specified data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.MakeSeq(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Decorates the specified resource appropriately to make it
            usable as an empty sequence in the specified data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.MakeAlt(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Decorates the specified resource appropriately to make it
            usable as an empty alternation in the specified data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFContainerUtils.IndexOf(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Retrieve the index of element in the container. Returns -1 if
            the element is not in the container.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFDelegateFactory">
            <summary>
            This interface should be implemented by an XPCOM factory that
            is registered to handle &quot;@mozilla.org/rdf/delegate-factory/[key]/[scheme];1&quot;
            ContractIDs.
            
            The factory will be invoked to create delegate objects from
            nsIRDFResource::GetDelegate().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDelegateFactory.CreateDelegate(Gecko.Interfaces.nsIRDFResource,System.String,System.Guid@)">
            <summary>
            Create a delegate for the specified RDF resource.
            
            The created delegate should forward AddRef() and Release()
            calls to the aOuter object.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFInferDataSource">
            <summary>
            An nsIRDFInferDataSource is implemented by a infer engine. This
            engine mimics assertions in addition to those in the baseDataSource
            according to a particular vocabulary.
            Infer engines have contract IDs in the form of
            &quot;@mozilla.org/rdf/infer-datasource;1?engine=&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetURIAttribute">
            <summary>
            The &quot;URI&quot; of the data source. This used by the RDF service&apos;s
            |GetDataSource()| method to cache datasources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetSource(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Find an RDF resource that points to a given node over the
            specified arc &amp; truth value
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_RDF_NO_VALUE: if there is no source that leads
            to the target with the specified property.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetSources(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Find all RDF resources that point to a given node over the
            specified arc &amp; truth value
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetTarget(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,System.Boolean)">
            <summary>
            Find a child of that is related to the source by the given arc
            arc and truth value
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_RDF_NO_VALUE: if there is no target accessible from the
            source via the specified property.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetTargets(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,System.Boolean)">
            <summary>
            Find all children of that are related to the source by the given arc
            arc and truth value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.Assert(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Add an assertion to the graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.Unassert(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Remove an assertion from the graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.Change(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Change an assertion from
            
            [aSource]--[aProperty]--&gt;[aOldTarget]
            
            to
            
            [aSource]--[aProperty]--&gt;[aNewTarget]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.Move(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            &apos;Move&apos; an assertion from
            
            [aOldSource]--[aProperty]--&gt;[aTarget]
            
            to
            
            [aNewSource]--[aProperty]--&gt;[aTarget]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.HasAssertion(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Query whether an assertion exists in this graph.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.AddObserver(Gecko.Interfaces.nsIRDFObserver)">
            <summary>
            Add an observer to this data source. If the datasource
            supports observers, the datasource source should hold a strong
            reference to the observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.RemoveObserver(Gecko.Interfaces.nsIRDFObserver)">
            <summary>
            Remove an observer from this data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.ArcLabelsIn(Gecko.Interfaces.nsIRDFNode)">
            <summary>
            Get a cursor to iterate over all the arcs that point into a node.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.ArcLabelsOut(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Get a cursor to iterate over all the arcs that originate in
            a resource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetAllResources">
            <summary>
            Retrieve all of the resources that the data source currently
            refers to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.IsCommandEnabled(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsISupports)">
            <summary>
            Returns whether a given command is enabled for a set of sources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.DoCommand(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsISupports)">
            <summary>
            Perform the specified command on set of sources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetAllCmds(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns the set of all commands defined for a given source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.HasArcIn(Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns true if the specified node is pointed to by the specified arc.
            Equivalent to enumerating ArcLabelsIn and comparing for the specified arc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.HasArcOut(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Returns true if the specified node has the specified outward arc.
            Equivalent to enumerating ArcLabelsOut and comparing for the specified arc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.BeginUpdateBatch">
            <summary>
            Notify observers that the datasource is about to send several
            notifications at once.
            This must be followed by calling endUpdateBatch(), otherwise
            viewers will get out of sync.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.EndUpdateBatch">
            <summary>
            Notify observers that the datasource has completed issuing
            a notification group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInferDataSource.GetBaseDataSourceAttribute">
            <summary>
            The wrapped datasource.
            
            The InferDataSource contains all arcs from the wrapped
            datasource plus those infered by the vocabulary implemented
            by the InferDataSource.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFLiteral">
            <summary>
            A literal node in the graph, whose value is a string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFLiteral.GetValueAttribute">
            <summary>
            The Unicode string value of the literal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFLiteral.GetValueConst(System.IntPtr@)">
            <summary>
            An unscriptable version used to avoid a string copy. Meant
            for use as a performance optimization.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFDate">
            <summary>
            A literal node in the graph, whose value is a date
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFDate.GetValueAttribute">
            <summary>
            The date value of the literal
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFInt">
            <summary>
            A literal node in the graph, whose value is an integer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFInt.GetValueAttribute">
            <summary>
            The integer value of the literal
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFBlob">
            <summary>
            A literal node in the graph, whose value is arbitrary
            binary data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFBlob.GetValueAttribute">
            <summary>
            The binary data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFBlob.GetLengthAttribute">
            <summary>
            The data&apos;s length.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFObserver.OnAssert(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            This method is called whenever a new assertion is made
            in the data source
            </summary>
            <param name="aDataSource">
            the datasource that is issuing
            the notification.
            </param>
            <param name="aSource">
            the subject of the assertion
            </param>
            <param name="aProperty">
            the predicate of the assertion
            </param>
            <param name="aTarget">
            the object of the assertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFObserver.OnUnassert(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            This method is called whenever an assertion is removed
            from the data source
            </summary>
            <param name="aDataSource">
            the datasource that is issuing
            the notification.
            </param>
            <param name="aSource">
            the subject of the assertion
            </param>
            <param name="aProperty">
            the predicate of the assertion
            </param>
            <param name="aTarget">
            the object of the assertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFObserver.OnChange(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            This method is called when the object of an assertion
            changes from one value to another.
            </summary>
            <param name="aDataSource">
            the datasource that is issuing
            the notification.
            </param>
            <param name="aSource">
            the subject of the assertion
            </param>
            <param name="aProperty">
            the predicate of the assertion
            </param>
            <param name="aOldTarget">
            the old object of the assertion
            </param>
            <param name="aNewTarget">
            the new object of the assertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFObserver.OnMove(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode)">
            <summary>
            This method is called when the subject of an assertion
            changes from one value to another.
            </summary>
            <param name="aDataSource">
            the datasource that is issuing
            the notification.
            </param>
            <param name="aOldSource">
            the old subject of the assertion
            </param>
            <param name="aNewSource">
            the new subject of the assertion
            </param>
            <param name="aProperty">
            the predicate of the assertion
            </param>
            <param name="aTarget">
            the object of the assertion
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFObserver.OnBeginUpdateBatch(Gecko.Interfaces.nsIRDFDataSource)">
            <summary>
            This method is called when a datasource is about to
            send several notifications at once. The observer can
            use this as a cue to optimize its behavior. The observer
            can expect the datasource to call endUpdateBatch() when
            the group of notifications has completed.
            </summary>
            <param name="aDataSource">
            the datasource that is going to
            be issuing the notifications.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFObserver.OnEndUpdateBatch(Gecko.Interfaces.nsIRDFDataSource)">
            <summary>
            This method is called when a datasource has completed
            issuing a notification group.
            </summary>
            <param name="aDataSource">
            the datasource that has finished
            issuing a group of notifications
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFPropagatableDataSource">
            <summary>
            An nsIRDFPropagatableDataSource provides an ability to suppress
            synchronization notifications.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFPropagatableDataSource.GetPropagateChangesAttribute">
            <summary>
            Set this value to &lt;code&gt;true&lt;/code&gt; to enable synchronization
            notifications.
            
            Set this value to &lt;code&gt;false&lt;/code&gt; to disable synchronization
            notifications.
            
            By default, this value is &lt;code&gt;true&lt;/code&gt;.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFRemoteDataSource">
            <summary>
            A datasource that may load asynchronously
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFRemoteDataSource.GetLoadedAttribute">
            <summary>
            This value is &lt;code&gt;true&lt;/code&gt; when the datasource has
            fully loaded itself.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFRemoteDataSource.Init(System.String)">
            <summary>
            Specify the URI for the data source: this is the prefix
            that will be used to register the data source in the
            data source registry.
            </summary>
            <param name="aURI">
            the URI to load
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFRemoteDataSource.Refresh(System.Boolean)">
            <summary>
            Refresh the remote datasource, re-loading its contents
            from the URI.
            </summary>
            <param name="aBlocking">
            If &lt;code&gt;true&lt;/code&gt;, the call will block
            until the datasource has completely reloaded.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFRemoteDataSource.Flush">
            <summary>
            Request that a data source write its contents out to
            permanent storage, if applicable.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFResource">
            <summary>
            An nsIRDFResource is an object that has unique identity in the
            RDF data model. The object&apos;s identity is determined by its URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFResource.GetValueAttribute">
            <summary>
            The single-byte string value of the resource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFResource.GetValueUTF8Attribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The UTF-8 URI of the resource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFResource.GetValueConst(System.IntPtr@)">
            <summary>
            An unscriptable version used to avoid a string copy. Meant
            for use as a performance optimization. The string is encoded
            in UTF-8.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFResource.Init(System.String)">
            <summary>
            This method is called by the nsIRDFService after constructing
            a resource object to initialize its URI. You would not normally
            call this method directly
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFResource.EqualsString(System.String)">
            <summary>
            Determine if the resource has the given URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFResource.GetDelegate(System.String,System.Guid@)">
            <summary>
            Retrieve the &quot;delegate&quot; object for this resource. A resource
            may have several delegate objects, each of whose lifetimes is
            bound to the life of the resource object.
            
            This method will return the delegate for the given key after
            QueryInterface()-ing it to the requested IID.
            
            If no delegate exists for the specified key, this method will
            attempt to create one using the component manager. Specifically,
            it will combine aKey with the resource&apos;s URI scheme to produce
            a ContractID as follows:
            
            component:/rdf/delegate-factory/[key]/[scheme]
            
            This ContractID will be used to locate a factory using the
            FindFactory() method of nsIComponentManager. If the nsIFactory
            exists, it will be used to create a &quot;delegate factory&quot;; that
            is, an object that supports nsIRDFDelegateFactory. The delegate
            factory will be used to construct the delegate object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFResource.ReleaseDelegate(System.String)">
            <summary>
            Force a delegate to be &quot;unbound&quot; from the resource.
            
            Normally, a delegate object&apos;s lifetime will be identical to
            that of the resource to which it is bound; this method allows a
            delegate to unlink itself from an RDF resource prematurely.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFService">
            <summary>
            The RDF service interface. This is a singleton object which should be
            obtained from the &lt;code&gt;nsServiceManager&lt;/code&gt;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetResource(Gecko.nsAUTF8StringBase)">
            <summary>
            Construct an RDF resource from a single-byte URI. &lt;code&gt;nsIRDFService&lt;/code&gt;
            caches resources that are in-use, so multiple calls to &lt;code&gt;GetResource()&lt;/code&gt;
            for the same &lt;code&gt;uri&lt;/code&gt; will return identical pointers. FindResource
            is used to find out whether there already exists a resource corresponding to that url.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetUnicodeResource(Gecko.nsAStringBase)">
            <summary>
            Construct an RDF resource from a Unicode URI. This is provided
            as a convenience method, allowing automatic, in-line C++
            conversion from &lt;code&gt;nsString&lt;/code&gt; objects. The &lt;code&gt;uri&lt;/code&gt; will
            be converted to a single-byte representation internally.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetLiteral(System.String)">
            <summary>
            Construct an RDF literal from a Unicode string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetDateLiteral(System.UInt64)">
            <summary>
            Construct an RDF literal from a PRTime.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetIntLiteral(System.Int32)">
            <summary>
            Construct an RDF literal from an int.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetBlobLiteral(System.IntPtr,System.Int32)">
            <summary>
            Construct an RDF literal from a data blob
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.RegisterResource(Gecko.Interfaces.nsIRDFResource,System.Boolean)">
            <summary>
            Registers a resource with the RDF system, making it unique w.r.t.
            GetResource.
            
            An implementation of nsIRDFResource should call this in its
            Init() method if it wishes the resource to be globally unique
            (which is usually the case).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.UnregisterResource(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Called to notify the resource manager that a resource is no
            longer in use. This method should only be called from the
            destructor of a &quot;custom&quot; resource implementation to notify the
            RDF service that the last reference to the resource has been
            released, so the resource is no longer valid.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.RegisterDataSource(Gecko.Interfaces.nsIRDFDataSource,System.Boolean)">
            <summary>
            Register a &lt;i&gt;named data source&lt;/i&gt;. The RDF service will call
            &lt;code&gt;nsIRDFDataSource::GetURI()&lt;/code&gt; to determine the URI under
            which to register the data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.UnregisterDataSource(Gecko.Interfaces.nsIRDFDataSource)">
            <summary>
            Unregister a &lt;i&gt;named data source&lt;/i&gt;. The RDF service will call
            &lt;code&gt;nsIRDFDataSource::GetURI()&lt;/code&gt; to determine the URI under which the
            data source was registered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetDataSource(System.String)">
            <summary>
            Get the &lt;i&gt;named data source&lt;/i&gt; corresponding to the URI. If a data
            source has been registered via &lt;code&gt;RegisterDataSource()&lt;/code&gt;, that
            data source will be returned.
            
            If no data source is currently
            registered for the specified URI, and a data source &lt;i&gt;constructor&lt;/i&gt;
            function has been registered via &lt;code&gt;RegisterDatasourceConstructor()&lt;/code&gt;,
            the RDF service will call the constructor to attempt to construct a
            new data source. If construction is successful, the data source will
            be initialized via &lt;code&gt;nsIRDFDataSource::Init()&lt;/code&gt;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFService.GetDataSourceBlocking(System.String)">
            <summary>
            Same as GetDataSource, but if a remote/XML data source needs to be
            constructed, then this method will issue a &lt;b&gt;blocking&lt;/b&gt; Refresh
            call on that data source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLParser.ParseAsync(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIURI)">
            <summary>
            Create a stream listener that can be used to asynchronously
            parse RDF/XML.
            </summary>
            <param name="aSink">
            the RDF datasource the will receive the data
            </param>
            <param name="aBaseURI">
            the base URI used to resolve relative
            references in the RDF/XML
            </param>
            <returns>
            an nsIStreamListener object to handle the data
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLParser.ParseString(Gecko.Interfaces.nsIRDFDataSource,Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Parse a string of RDF/XML
            </summary>
            <param name="aSink">
            the RDF datasource that will receive the data
            </param>
            <param name="aBaseURI">
            the base URI used to resolve relative
            references in the RDF/XML
            </param>
            <param name="aSource">
            a UTF8 string containing RDF/XML data.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSerializer.Init(Gecko.Interfaces.nsIRDFDataSource)">
            <summary>
            Initialize the serializer with the specified datasource.
            </summary>
            <param name="aDataSource">
            the datasource from which data will be
            serialized
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSerializer.AddNameSpace(Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase)">
            <summary>
            Add the specified namespace to the serializer.
            </summary>
            <param name="aPrefix">
            the attribute namespace prefix
            </param>
            <param name="aURI">
            the namespace URI
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFXMLSinkObserver">
            <summary>
            An observer that is notified as progress is made on the load
            of an RDF/XML document in an &lt;code&gt;nsIRDFXMLSink&lt;/code&gt;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSinkObserver.OnBeginLoad(Gecko.Interfaces.nsIRDFXMLSink)">
            <summary>
            Called when the load begins.
            </summary>
            <param name="aSink">
            the RDF/XML sink on which the load is beginning.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSinkObserver.OnInterrupt(Gecko.Interfaces.nsIRDFXMLSink)">
            <summary>
            Called when the load is suspended (e.g., for network quantization).
            </summary>
            <param name="aSink">
            the RDF/XML sink that is being interrupted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSinkObserver.OnResume(Gecko.Interfaces.nsIRDFXMLSink)">
            <summary>
            Called when a suspended load is resuming.
            </summary>
            <param name="aSink">
            the RDF/XML sink that is resuming.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSinkObserver.OnEndLoad(Gecko.Interfaces.nsIRDFXMLSink)">
            <summary>
            Called when an RDF/XML load completes successfully.
            </summary>
            <param name="aSink">
            the RDF/XML sink that has finished loading.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSinkObserver.OnError(Gecko.Interfaces.nsIRDFXMLSink,System.Int32,System.String)">
            <summary>
            Called when an error occurs during the load
            </summary>
            <param name="aSink">
            the RDF/XML sink in which the error occurred
            </param>
            <param name="aStatus">
            the networking result code
            </param>
            <param name="aErrorMsg">
            an error message, if applicable
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIRDFXMLSink">
            <summary>
            A &quot;sink&quot; that receives and processes RDF/XML. This interface is used
            by the RDF/XML parser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.GetReadOnlyAttribute">
            <summary>
            Set to &lt;code&gt;true&lt;/code&gt; if the sink is read-only and cannot
            be modified
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.BeginLoad">
            <summary>
            Initiate the RDF/XML load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.Interrupt">
            <summary>
            Suspend the RDF/XML load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.Resume">
            <summary>
            Resume the RDF/XML load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.EndLoad">
            <summary>
            Complete the RDF/XML load.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.AddNameSpace(System.IntPtr,System.IntPtr)">
            <summary>
            Add namespace information to the RDF/XML sink.
            </summary>
            <param name="aPrefix">
            the namespace prefix
            </param>
            <param name="aURI">
            the namespace URI
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.AddXMLSinkObserver(Gecko.Interfaces.nsIRDFXMLSinkObserver)">
            <summary>
            Add an observer that will be notified as the RDF/XML load
            progresses.
            &lt;p&gt;
            
            Note that the sink will acquire a strong reference to the
            observer, so care should be taken to avoid cyclical references
            that cannot be released (i.e., if the observer holds a
            reference to the sink, it should be sure that it eventually
            clears the reference).
            </summary>
            <param name="aObserver">
            the observer to add to the sink&apos;s set of
            load observers.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSink.RemoveXMLSinkObserver(Gecko.Interfaces.nsIRDFXMLSinkObserver)">
            <summary>
            Remove an observer from the sink&apos;s set of observers.
            </summary>
            <param name="aObserver">
            the observer to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRDFXMLSource.Serialize(Gecko.Interfaces.nsIOutputStream)">
            <summary>
            Serialize the contents of the datasource to aStream.
            </summary>
            <param name="aStream">
            the output stream the will receive the
            RDF/XML. Currently, the output stream need only
            implement the |write()| method.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRecoveryService.FactoryReset(System.String)">
            <summary>
            Uses recovery to wipe the data and cache partitions. If this call is
            successful, the device should reboot before the function call ever returns.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: when rebooting into recovery fails for some reason.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRecoveryService.InstallFotaUpdate(System.String)">
            <summary>
            Use recovery to install an OTA update.zip. If this call is
            successful, the device should reboot before the function call ever returns.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: when rebooting into recovery fails for some reason.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIRecoveryService.GetFotaUpdateStatus">
            <summary>
            
            </summary>
            <returns>
            The status of the last FOTA update. One of FOTA_UPDATE_UNKNOWN,
            FOTA_UPDATE_FAIL, FOTA_UPDATE_SUCCESS.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIRedirectChannelRegistrar">
            <summary>
            Used on the chrome process as a service to join channel implementation
            and parent IPC protocol side under a unique id.  Provides this way a generic
            communication while redirecting to various protocols.
            
            See also nsIChildChannel and nsIParentChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRedirectChannelRegistrar.RegisterChannel(Gecko.Interfaces.nsIChannel)">
            <summary>
            Register the redirect target channel and obtain a unique ID for that
            channel.
            
            Primarily used in HttpChannelParentListener::AsyncOnChannelRedirect to get
            a channel id sent to the HttpChannelChild being redirected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRedirectChannelRegistrar.LinkChannels(System.UInt32,Gecko.Interfaces.nsIParentChannel)">
            <summary>
            First, search for the channel registered under the id.  If found return
            it.  Then, register under the same id the parent side of IPC protocol
            to let it be later grabbed back by the originator of the redirect and
            notifications from the real channel could be forwarded to this parent
            channel.
            
            Primarily used in parent side of an IPC protocol implementation
            in reaction to nsIChildChannel.connectParent(id) called from the child
            process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRedirectChannelRegistrar.GetRegisteredChannel(System.UInt32)">
            <summary>
            Returns back the channel previously registered under the ID with
            registerChannel method.
            
            Primarilly used in chrome IPC side of protocols when attaching a redirect
            target channel to an existing &apos;real&apos; channel implementation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRedirectChannelRegistrar.GetParentChannel(System.UInt32)">
            <summary>
            Returns the stream listener that shall be attached to the redirect target
            channel, all notification from the redirect target channel will be
            forwarded to this stream listener.
            
            Primarilly used in HttpChannelParentListener::OnRedirectResult callback
            to grab the created parent side of the channel and forward notifications
            to it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRedirectChannelRegistrar.DeregisterChannels(System.UInt32)">
            <summary>
            To not force all channel implementations to support weak reference
            consumers of this service must ensure release of registered channels them
            self.  This releases both the real and parent channel registered under
            the id.
            
            Primarilly used in HttpChannelParentListener::OnRedirectResult callback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRedirectResultListener.OnRedirectResult(System.Boolean)">
            <summary>
            When an HTTP redirect has been processed (either successfully or not)
            nsIHttpChannel will call this function if its callbacks implement this
            interface.
            </summary>
            <param name="proceeding">
            Indicated whether the redirect will be proceeding, or not (i.e.
            has been canceled, or failed).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIReflowObserver.Reflow(System.Double,System.Double)">
            <summary>
            Called when an uninterruptible reflow has occurred.
            </summary>
            <param name="start">
            timestamp when reflow ended, in milliseconds since
            navigationStart (accurate to 1/1000 of a ms)
            </param>
            <param name="end">
            timestamp when reflow ended, in milliseconds since
            navigationStart (accurate to 1/1000 of a ms)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIReflowObserver.ReflowInterruptible(System.Double,System.Double)">
            <summary>
            Called when an interruptible reflow has occurred.
            </summary>
            <param name="start">
            timestamp when reflow ended, in milliseconds since
            navigationStart (accurate to 1/1000 of a ms)
            </param>
            <param name="end">
            timestamp when reflow ended, in milliseconds since
            navigationStart (accurate to 1/1000 of a ms)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRefreshURI.RefreshURI(Gecko.Interfaces.nsIURI,System.Int32,System.Boolean,System.Boolean,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Load a uri after waiting for aMillis milliseconds. If the docshell
            is busy loading a page currently, the refresh request will be
            queued and executed when the current load finishes.
            </summary>
            <param name="aUri">
            The uri to refresh.
            </param>
            <param name="aPrincipal">
            The triggeringPrincipal for the refresh load
            May be null, in which case the principal of current document will be
            applied.
            </param>
            <param name="aMillis">
            The number of milliseconds to wait.
            </param>
            <param name="aRepeat">
            Flag to indicate if the uri is to be
            repeatedly refreshed every aMillis milliseconds.
            </param>
            <param name="aMetaRefresh">
            Flag to indicate if this is a Meta refresh.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRefreshURI.ForceRefreshURI(Gecko.Interfaces.nsIURI,System.Int32,System.Boolean,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Loads a URI immediately as if it were a refresh.
            </summary>
            <param name="aURI">
            The URI to refresh.
            </param>
            <param name="aPrincipal">
            The triggeringPrincipal for the refresh load
            May be null, in which case the principal of current document will be
            applied.
            </param>
            <param name="aMillis">
            The number of milliseconds by which this refresh would
            be delayed if it were not being forced.
            </param>
            <param name="aMetaRefresh">
            Flag to indicate if this is a meta refresh.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRefreshURI.SetupRefreshURI(Gecko.Interfaces.nsIChannel)">
            <summary>
            Checks the passed in channel to see if there is a refresh header,
            if there is, will setup a timer to refresh the uri found
            in the header. If docshell is busy loading a page currently, the
            request will be queued and executed when the current page
            finishes loading.
            
            Returns the NS_REFRESHURI_HEADER_FOUND success code if a refresh
            header was found and successfully setup.
            </summary>
            <param name="aChannel">
            The channel to be parsed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRefreshURI.SetupRefreshURIFromHeader(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIPrincipal,Gecko.nsACStringBase)">
            <summary>
            Parses the passed in header string and sets up a refreshURI if
            a &quot;refresh&quot; header is found. If docshell is busy loading a page
            currently, the request will be queued and executed when
            the current page finishes loading.
            </summary>
            <param name="aBaseURI">
            base URI to resolve refresh uri with.
            </param>
            <param name="aPrincipal">
            The triggeringPrincipal for the refresh load
            May be null, in which case the principal of current document will be
            applied.
            </param>
            <param name="aHeader">
            The meta refresh header string.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRefreshURI.CancelRefreshURITimers">
            <summary>
            Cancels all timer loads.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRefreshURI.GetRefreshPendingAttribute">
            <summary>
            True when there are pending refreshes, false otherwise.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRelativeFilePref">
            <summary>
            The nsIRelativeFilePref interface is a wrapper for an nsIFile and
            and a directory service key. When used as a pref value, it stores a
            relative path to the file from the location pointed to by the directory
            service key. The path has the same syntax across all platforms.
            </summary>
            <remarks>
            See nsIPrefBranch::setComplexValue
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIRelativeFilePref.GetFileAttribute">
            <summary>
            file
            
            The file whose location is stored or retrieved.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRelativeFilePref.GetRelativeToKeyAttribute(Gecko.nsACStringBase)">
            <summary>
            relativeToKey
            
            A directory service key for the directory
            from which the file path is relative.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRequestObserverProxy">
            <summary>
            A request observer proxy is used to ship data over to another thread
            specified by the thread&apos;s dispatch target. The &quot;true&quot; request observer&apos;s
            methods are invoked on the other thread.
            
            This interface only provides the initialization needed after construction.
            Otherwise, these objects are used simply as nsIRequestObserver&apos;s.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestObserverProxy.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestObserverProxy.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRequestObserverProxy.Init(Gecko.Interfaces.nsIRequestObserver,Gecko.Interfaces.nsISupports)">
            <summary>
            Initializes an nsIRequestObserverProxy.
            </summary>
            <param name="observer">
            - receives observer notifications on the main thread
            </param>
            <param name="context">
            - the context argument that will be passed to OnStopRequest
            and OnStartRequest. This has to be stored permanently on
            initialization because it sometimes can&apos;t be
            AddRef/Release&apos;d off-main-thread.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIResProtocolHandler">
            <summary>
            Protocol handler interface for the resource:// protocol
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISubstitutingProtocolHandler">
            <summary>
            Protocol handler superinterface for a protocol which performs substitutions
            from URIs of its scheme to URIs of another scheme.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.SetSubstitution(Gecko.nsACStringBase,Gecko.Interfaces.nsIURI)">
            <summary>
            Sets the substitution for the root key:
            resource://root/path ==&gt; baseURI.resolve(path)
            
            A null baseURI removes the specified substitution.
            
            A root key should always be lowercase; however, this may not be
            enforced.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.GetSubstitution(Gecko.nsACStringBase)">
            <summary>
            Gets the substitution for the root key.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if none exists.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.HasSubstitution(Gecko.nsACStringBase)">
            <summary>
            Returns TRUE if the substitution exists and FALSE otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISubstitutingProtocolHandler.ResolveURI(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Utility function to resolve a substituted URI.  A resolved URI is not
            guaranteed to reference a resource that exists (ie. opening a channel to
            the resolved URI may fail).
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if resURI.host() is an unknown root key.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.GetSchemeAttribute(Gecko.nsACStringBase)">
            <summary>
            The scheme of this protocol (e.g., &quot;file&quot;).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.GetDefaultPortAttribute">
            <summary>
            The default port is the port that this protocol normally uses.
            If a port does not make sense for the protocol (e.g., &quot;about:&quot;)
            then -1 will be returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.GetProtocolFlagsAttribute">
            <summary>
            Returns the protocol specific flags (see flag definitions below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.NewURI(Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Makes a URI object that is suitable for loading by this protocol,
            where the URI string is given as an UTF-8 string.  The caller may
            provide the charset from which the URI string originated, so that
            the URI string can be translated back to that charset (if necessary)
            before communicating with, for example, the origin server of the URI
            string.  (Many servers do not support UTF-8 IRIs at the present time,
            so we must be careful about tracking the native charset of the origin
            server.)
            </summary>
            <param name="aSpec">
            - the URI string in UTF-8 encoding. depending
            on the protocol implementation, unicode character
            sequences may or may not be %xx escaped.
            </param>
            <param name="aOriginCharset">
            - the charset of the document from which this URI
            string originated.  this corresponds to the
            charset that should be used when communicating
            this URI to an origin server, for example.  if
            null, then UTF-8 encoding is assumed (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec may be resolved relative
            to aBaseURI, depending on the protocol.
            If the protocol has no concept of relative
            URI aBaseURI will simply be ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.NewChannel2(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadInfo)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler and
            sets the loadInfo for the constructed channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.NewChannel(Gecko.Interfaces.nsIURI)">
            <summary>
            Constructs a new channel from the given URI for this protocol handler.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.AllowPort(System.Int32,System.String)">
            <summary>
            Allows a protocol to override blacklisted ports.
            
            This method will be called when there is an attempt to connect to a port
            that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
            Transfer) is banned.  When a URI containing this &quot;known-to-do-bad-things&quot;
            port number is encountered, this function will be called to ask if the
            protocol handler wants to override the ban.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.SetSubstitution(Gecko.nsACStringBase,Gecko.Interfaces.nsIURI)">
            <summary>
            Sets the substitution for the root key:
            resource://root/path ==&gt; baseURI.resolve(path)
            
            A null baseURI removes the specified substitution.
            
            A root key should always be lowercase; however, this may not be
            enforced.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.GetSubstitution(Gecko.nsACStringBase)">
            <summary>
            Gets the substitution for the root key.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if none exists.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.HasSubstitution(Gecko.nsACStringBase)">
            <summary>
            Returns TRUE if the substitution exists and FALSE otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIResProtocolHandler.ResolveURI(Gecko.Interfaces.nsIURI,Gecko.nsAUTF8StringBase)">
            <summary>
            Utility function to resolve a substituted URI.  A resolved URI is not
            guaranteed to reference a resource that exists (ie. opening a channel to
            the resolved URI may fail).
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if resURI.host() is an unknown root key.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIResumableChannel.ResumeAt(System.UInt64,Gecko.nsACStringBase)">
            <summary>
            Prepare this channel for resuming. The request will not start until
            asyncOpen or open is called. Calling resumeAt after open or asyncOpen
            has been called has undefined behaviour.
            </summary>
            <param name="startPos">
            the starting offset, in bytes, to use to download
            </param>
            <param name="entityID">
            information about the file, to match before obtaining
            the file. Pass an empty string to use anything.
            
            During OnStartRequest, this channel will have a status of
            NS_ERROR_NOT_RESUMABLE if the file cannot be resumed, eg because the
            server doesn&apos;t support this. This error may occur even if startPos
            is 0, so that the front end can warn the user.
            Similarly, the status of this channel during OnStartRequest may be
            NS_ERROR_ENTITY_CHANGED, which indicates that the entity has changed,
            as indicated by a changed entityID.
            In both of these cases, no OnDataAvailable will be called, and
            OnStopRequest will immediately follow with the same status code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIResumableChannel.GetEntityIDAttribute(Gecko.nsACStringBase)">
            <summary>
            The entity id for this URI. Available after OnStartRequest.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRunnable">
            <summary>
            Represents a task which can be dispatched to a thread for execution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRunnable.Run">
            <summary>
            The function implementing the task to be run.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISafeOutputStream">
            <summary>
            This interface provides a mechanism to control an output stream
            that takes care not to overwrite an existing target until it is known
            that all writes to the destination succeeded.
            
            An object that supports this interface is intended to also support
            nsIOutputStream.
            
            For example, a file output stream that supports this interface writes to
            a temporary file, and moves it over the original file when |finish| is
            called only if the stream can be successfully closed and all writes
            succeeded.  If |finish| is called but something went wrong during
            writing, it will delete the temporary file and not touch the original.
            If the stream is closed by calling |close| directly, or the stream
            goes away, the original file will not be overwritten, and the temporary
            file will be deleted.
            
            Currently, this interface is implemented only for file output streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISafeOutputStream.Finish">
            <summary>
            Call this method to close the stream and cause the original target
            to be overwritten. Note: if any call to |write| failed to write out
            all of the data given to it, then calling this method will |close| the
            stream and return failure. Further, if closing the stream fails, this
            method will return failure. The original target will be overwritten only
            if all calls to |write| succeeded and the stream was successfully closed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISaveAsCharset">
            <summary>
            DO NOT USE! For compat with legacy extension code only.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXAttributes">
            <summary>
            Interface for a list of XML attributes.
            
            This interface allows access to a list of attributes in
            three different ways:
            
            1.) by attribute index;
            2.) by Namespace-qualified name; or
            3.) by XML qualified name.
            
            The list will not contain attributes that were declared #IMPLIED
            but not specified in the start tag.  It will also not contain
            attributes used as Namespace declarations (xmlns*) unless the
            http://xml.org/sax/features/namespace-prefixes feature
            is set to true (it is false by default).
            
            The order of attributes in the list is unspecified.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetIndexFromName(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up the index of an attribute by Namespace name.
            </summary>
            <param name="uri">
            The Namespace URI, or the empty string
            if the name has no Namespace URI.
            </param>
            <param name="localName">
            The attribute&apos;s local name.
            </param>
            <returns>
            The index of the attribute, or -1
            if it does not appear in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetIndexFromQName(Gecko.nsAStringBase)">
            <summary>
            Look up the index of an attribute by XML qualified name.
            </summary>
            <param name="qName">
            The qualified name.
            </param>
            <returns>
            The index of the attribute, or -1
            if it does not appear in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetLengthAttribute">
            <summary>
            Return the number of attributes in the list. Once you know the
            number of attributes, you can iterate through the list.
            </summary>
            <returns>
            The number of attributes in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetLocalName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s local name by index.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The local name, or null if the index is out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetQName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s XML qualified name by index.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The XML qualified name, or the empty string if none is
            available, or null if the index is out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetType(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s type by index. The attribute type is one
            of the strings &quot;CDATA&quot;, &quot;ID&quot;, &quot;IDREF&quot;, &quot;IDREFS&quot;, &quot;NMTOKEN&quot;,
            &quot;NMTOKENS&quot;, &quot;ENTITY&quot;, &quot;ENTITIES&quot;, or &quot;NOTATION&quot; (always in upper
            case). If the parser has not read a declaration for the
            attribute, or if the parser does not report attribute types, then
            it must return the value &quot;CDATA&quot; as stated in the XML 1.0
            Recommendation (clause 3.3.3, &quot;Attribute-Value
            Normalization&quot;). For an enumerated attribute that is not a
            notation, the parser will report the type as &quot;NMTOKEN&quot;.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The attribute&apos;s type as a string, or null if the index is
            out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetTypeFromName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s type by Namespace name.
            </summary>
            <param name="uri">
            The Namespace URI, or the empty string
            if the name has no Namespace URI.
            </param>
            <param name="localName">
            The attribute&apos;s local name.
            </param>
            <returns>
            The attribute type as a string, or null if the attribute
            is not in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetTypeFromQName(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s type by XML qualified name.
            </summary>
            <param name="qName">
            The qualified name.
            </param>
            <returns>
            The attribute type as a string, or null if the attribute
            is not in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetURI(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s Namespace URI by index.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The Namespace URI, or the empty string if none is available,
            or null if the index is out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetValue(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s value by index.  If the attribute value is
            a list of tokens (IDREFS, ENTITIES, or NMTOKENS), the tokens will
            be concatenated into a single string with each token separated by
            a single space.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The attribute&apos;s value as a string, or null if the index is
            out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetValueFromName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s value by Namespace name.  If the attribute
            value is a list of tokens (IDREFS, ENTITIES, or NMTOKENS), the
            tokens will be concatenated into a single string with each token
            separated by a single space.
            </summary>
            <param name="uri">
            The Namespace URI, or the empty string
            if the name has no Namespace URI.
            </param>
            <param name="localName">
            The attribute&apos;s local name.
            </param>
            <returns>
            The attribute&apos;s value as a string, or null if the attribute is
            not in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXAttributes.GetValueFromQName(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s value by XML qualified (prefixed) name.
            If the attribute value is a list of tokens (IDREFS, ENTITIES, or
            NMTOKENS), the tokens will be concatenated into a single string
            with each token separated by a single space.
            </summary>
            <param name="qName">
            The qualified (prefixed) name.
            </param>
            <returns>
            The attribute&apos;s value as a string, or null if the attribute is
            not in the list.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXContentHandler">
            <summary>
            Receive notification of the logical content of a document.
            
            This is the main interface that most SAX applications implement: if
            the application needs to be informed of basic parsing events, it
            implements this interface and registers an instance with the SAX
            parser.  The parser uses the instance to report basic
            document-related events like the start and end of elements and
            character data.
            
            The order of events in this interface is very important, and
            mirrors the order of information in the document itself.  For
            example, all of an element&apos;s content (character data, processing
            instructions, and/or subelements) will appear, in order, between
            the startElement event and the corresponding endElement event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.StartDocument">
            <summary>
            Receive notification of the beginning of a document.
            
            The SAX parser will invoke this method only once, before any
            other event callbacks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.EndDocument">
            <summary>
            Receive notification of the end of a document.
            
            There is an apparent contradiction between the documentation for
            this method and the documentation for ErrorHandler.fatalError().
            Until this ambiguity is resolved in a future major release,
            clients should make no assumptions about whether endDocument()
            will or will not be invoked when the parser has reported a
            fatalError() or thrown an exception.
            
            The SAX parser will invoke this method only once, and it will be
            the last method invoked during the parse.  The parser shall not
            invoke this method until it has either abandoned parsing (because
            of an unrecoverable error) or reached the end of input.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.StartElement(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsISAXAttributes)">
            <summary>
            Receive notification of the beginning of an element.
            
            The Parser will invoke this method at the beginning of every
            element in the XML document; there will be a corresponding
            endElement event for every startElement event (even when the
            element is empty). All of the element&apos;s content will be reported,
            in order, before the corresponding endElement event.
            
            This event allows up to three name components for each element:
            
            1.) the Namespace URI;
            2.) the local name; and
            3.) the qualified (prefixed) name.
            
            Any or all of these may be provided, depending on the values of
            the http://xml.org/sax/features/namespaces and the
            http://xml.org/sax/features/namespace-prefixes properties:
            
            The Namespace URI and local name are required when the namespaces
            property is true (the default), and are optional when the
            namespaces property is false (if one is specified, both must be);
            
            The qualified name is required when the namespace-prefixes
            property is true, and is optional when the namespace-prefixes
            property is false (the default).
            
            Note that the attribute list provided will contain only
            attributes with explicit values (specified or defaulted):
            #IMPLIED attributes will be omitted.  The attribute list will
            contain attributes used for Namespace declarations (xmlns
            attributes) only if the
            http://xml.org/sax/features/namespace-prefixes property is true
            (it is false by default, and support for a true value is
            optional).
            </summary>
            <param name="uri">
            the Namespace URI, or the empty string if the
            element has no Namespace URI or if Namespace
            processing is not being performed
            </param>
            <param name="localName">
            the local name (without prefix), or the
            empty string if Namespace processing is not being
            performed
            </param>
            <param name="qName">
            the qualified name (with prefix), or the
            empty string if qualified names are not available
            </param>
            <param name="atts">
            the attributes attached to the element.  If
            there are no attributes, it shall be an empty
            SAXAttributes object.  The value of this object after
            startElement returns is undefined
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.EndElement(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Receive notification of the end of an element.
            
            The SAX parser will invoke this method at the end of every
            element in the XML document; there will be a corresponding
            startElement event for every endElement event (even when the
            element is empty).
            
            For information on the names, see startElement.
            </summary>
            <param name="uri">
            the Namespace URI, or the empty string if the
            element has no Namespace URI or if Namespace
            processing is not being performed
            </param>
            <param name="localName">
            the local name (without prefix), or the
            empty string if Namespace processing is not being
            performed
            </param>
            <param name="qName">
            the qualified XML name (with prefix), or the
            empty string if qualified names are not available
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.Characters(Gecko.nsAStringBase)">
            <summary>
            Receive notification of character data.
            
            The Parser will call this method to report each chunk of
            character data.  SAX parsers may return all contiguous character
            data in a single chunk, or they may split it into several chunks;
            however, all of the characters in any single event must come from
            the same external entity so that the Locator provides useful
            information.
            
            Note that some parsers will report whitespace in element
            content using the ignorableWhitespace method rather than this one
            (validating parsers must do so).
            </summary>
            <param name="value">
            the characters from the XML document
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.ProcessingInstruction(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Receive notification of a processing instruction.
            
            The Parser will invoke this method once for each processing
            instruction found: note that processing instructions may occur
            before or after the main document element.
            
            A SAX parser must never report an XML declaration (XML 1.0,
            section 2.8) or a text declaration (XML 1.0, section 4.3.1) using
            this method.
            </summary>
            <param name="target">
            the processing instruction target
            </param>
            <param name="data">
            the processing instruction data, or null if
            none was supplied.  The data does not include any
            whitespace separating it from the target
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.IgnorableWhitespace(Gecko.nsAStringBase)">
            <summary>
            Receive notification of ignorable whitespace in element content.
            
            Validating Parsers must use this method to report each chunk of
            whitespace in element content (see the W3C XML 1.0
            recommendation, section 2.10): non-validating parsers may also
            use this method if they are capable of parsing and using content
            models.
            
            SAX parsers may return all contiguous whitespace in a single
            chunk, or they may split it into several chunks; however, all of
            the characters in any single event must come from the same
            external entity, so that the Locator provides useful information.
            </summary>
            <param name="whitespace">
            the characters from the XML document
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.StartPrefixMapping(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Begin the scope of a prefix-URI Namespace mapping.
            
            The information from this event is not necessary for normal
            Namespace processing: the SAX XML reader will automatically
            replace prefixes for element and attribute names when the
            http://xml.org/sax/features/namespaces feature is
            true (the default).
            
            There are cases, however, when applications need to use prefixes
            in character data or in attribute values, where they cannot
            safely be expanded automatically; the start/endPrefixMapping
            event supplies the information to the application to expand
            prefixes in those contexts itself, if necessary.
            
            Note that start/endPrefixMapping events are not guaranteed to be
            properly nested relative to each other: all startPrefixMapping
            events will occur immediately before the corresponding
            startElement event, and all endPrefixMapping events will occur
            immediately after the corresponding endElement event, but their
            order is not otherwise guaranteed.
            
            There should never be start/endPrefixMapping events for the
            &quot;xml&quot; prefix, since it is predeclared and immutable.
            </summary>
            <param name="prefix">
            The Namespace prefix being declared. An empty
            string is used for the default element namespace,
            which has no prefix.
            </param>
            <param name="uri">
            The Namespace URI the prefix is mapped to.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXContentHandler.EndPrefixMapping(Gecko.nsAStringBase)">
            <summary>
            End the scope of a prefix-URI mapping.
            
            See startPrefixMapping for details.  These events will always
            occur immediately after the corresponding endElement event, but
            the order of endPrefixMapping events is not otherwise guaranteed.
            </summary>
            <param name="prefix">
            The prefix that was being mapped. This is the empty
            string when a default mapping scope ends.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXDTDHandler">
            <summary>
            Receive notification of basic DTD-related events.
            
            If a SAX application needs information about notations and
            unparsed entities, then the application implements this interface
            and registers an instance with the SAX parser using the parser&apos;s
            setDTDHandler method. The parser uses the instance to report
            notation and unparsed entity declarations to the application.
            
            Note that this interface includes only those DTD events that the
            XML recommendation requires processors to report: notation and
            unparsed entity declarations.
            
            The SAX parser may report these events in any order, regardless
            of the order in which the notations and unparsed entities were
            declared; however, all DTD events must be reported after the
            document handler&apos;s startDocument event, and before the first
            startElement event. (If the LexicalHandler is used, these events
            must also be reported before the endDTD event.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXDTDHandler.NotationDecl(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Receive notification of a notation declaration event.
            
            It is up to the application to record the notation for later
            reference, if necessary; notations may appear as attribute values
            and in unparsed entity declarations, and are sometime used with
            processing instruction target names.
            
            At least one of publicId and systemId must be non-null. If a
            system identifier is present, and it is a URL, the SAX parser
            must resolve it fully before passing it to the application
            through this event.
            
            There is no guarantee that the notation declaration will be
            reported before any unparsed entities that use it.
            </summary>
            <param name="name">
            The notation name.
            </param>
            <param name="publicId">
            The notation&apos;s public identifier, or null if none was
            given.
            </param>
            <param name="systemId">
            The notation&apos;s system identifier, or null if none was
            given.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXDTDHandler.UnparsedEntityDecl(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Receive notification of an unparsed entity declaration event.
            
            Note that the notation name corresponds to a notation reported
            by the notationDecl event. It is up to the application to record
            the entity for later reference, if necessary; unparsed entities
            may appear as attribute values.
            
            If the system identifier is a URL, the parser must resolve it
            fully before passing it to the application.
            </summary>
            <param name="name">
            The unparsed entity&apos;s name.
            </param>
            <param name="publicId">
            The entity&apos;s public identifier, or null if none was
            given.
            </param>
            <param name="systemId">
            The entity&apos;s system identifier, or null if none was
            given.
            </param>
            <param name="notationName">
            The name of the associated notation.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXErrorHandler">
            <summary>
            Basic interface for SAX error handlers.
            
            If a SAX application needs to implement customized error
            handling, it must implement this interface and then register an
            instance with the XML reader.  The parser will then report all
            errors and warnings through this interface.
            
            WARNING: If an application does not register an ErrorHandler,
            XML parsing errors will go unreported. In order to detect validity
            errors, an ErrorHandler that does something with error() calls must
            be registered.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXErrorHandler.Error(Gecko.Interfaces.nsISAXLocator,Gecko.nsAStringBase)">
            <summary>
            Receive notification of a recoverable error.
            
            This corresponds to the definition of &quot;error&quot; in section 1.2
            of the W3C XML 1.0 Recommendation. For example, a validating
            parser would use this callback to report the violation of a
            validity constraint. The default behaviour is to take no
            action.
            
            The SAX parser must continue to provide normal parsing events
            after invoking this method: it should still be possible for the
            application to process the document through to the end. If the
            application cannot do so, then the parser should report a fatal
            error even if the XML recommendation does not require it to do
            so.
            
            Filters may use this method to report other, non-XML errors as
            well.
            </summary>
            <param name="locator">
            The locator object for the error (may be null).
            </param>
            <param name="error">
            The error message.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXErrorHandler.FatalError(Gecko.Interfaces.nsISAXLocator,Gecko.nsAStringBase)">
            <summary>
            Receive notification of a non-recoverable error.
            
            There is an apparent contradiction between the documentation
            for this method and the documentation for
            ContentHandler.endDocument(). Until this ambiguity is resolved in
            a future major release, clients should make no assumptions about
            whether endDocument() will or will not be invoked when the parser
            has reported a fatalError() or thrown an exception.
            
            This corresponds to the definition of &quot;fatal error&quot; in section
            1.2 of the W3C XML 1.0 Recommendation. For example, a parser
            would use this callback to report the violation of a
            well-formedness constraint.
            
            The application must assume that the document is unusable
            after the parser has invoked this method, and should continue (if
            at all) only for the sake of collecting additional error
            messages: in fact, SAX parsers are free to stop reporting any
            other events once this method has been invoked.
            </summary>
            <param name="locator">
            The locator object for the error (may be null).
            </param>
            <param name="error">
            The error message.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXErrorHandler.IgnorableWarning(Gecko.Interfaces.nsISAXLocator,Gecko.nsAStringBase)">
            <summary>
            Receive notification of a warning.
            
            SAX parsers will use this method to report conditions that are
            not errors or fatal errors as defined by the XML
            recommendation. The default behaviour is to take no action.
            
            The SAX parser must continue to provide normal parsing events
            after invoking this method: it should still be possible for the
            application to process the document through to the end.
            
            Filters may use this method to report other, non-XML warnings
            as well.
            </summary>
            <param name="locator">
            The locator object for the warning (may be null).
            </param>
            <param name="error">
            The warning message.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXLexicalHandler">
            <summary>
            SAX2 extension handler for lexical events.
            
            This is an extension handler for SAX2 to provide lexical
            information about an XML document, such as comments and CDATA
            section boundaries.
            
            The events in the lexical handler apply to the entire document,
            not just to the document element, and all lexical handler events
            must appear between the content handler&apos;s startDocument and
            endDocument events.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLexicalHandler.Comment(Gecko.nsAStringBase)">
            <summary>
            Report an XML comment anywhere in the document.
            
            This callback will be used for comments inside or outside the
            document element, including comments in the external DTD subset
            (if read).  Comments in the DTD must be properly nested inside
            start/endDTD and start/endEntity events (if used).
            </summary>
            <param name="chars">
            The characters in the comment.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLexicalHandler.StartDTD(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Report the start of DTD declarations, if any.
            
            This method is intended to report the beginning of the
            DOCTYPE declaration; if the document has no DOCTYPE declaration,
            this method will not be invoked.
            
            All declarations reported through DTDHandler or DeclHandler
            events must appear between the startDTD and endDTD events.
            Declarations are assumed to belong to the internal DTD subset
            unless they appear between startEntity and endEntity events.
            Comments and processing instructions from the DTD should also be
            reported between the startDTD and endDTD events, in their
            original order of (logical) occurrence; they are not required to
            appear in their correct locations relative to DTDHandler or
            DeclHandler events, however.
            
            Note that the start/endDTD events will appear within the
            start/endDocument events from ContentHandler and before the first
            startElement event.
            </summary>
            <param name="name">
            The document type name.
            </param>
            <param name="publicId">
            The declared public identifier for the
            external DTD subset, or null if none was declared.
            </param>
            <param name="systemId">
            The declared system identifier for the
            external DTD subset, or null if none was declared.
            (Note that this is not resolved against the document
            base URI.)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLexicalHandler.EndDTD">
            <summary>
            Report the end of DTD declarations.
            
            This method is intended to report the end of the
            DOCTYPE declaration; if the document has no DOCTYPE declaration,
            this method will not be invoked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLexicalHandler.StartCDATA">
            <summary>
            Report the start of a CDATA section.
            
            The contents of the CDATA section will be reported through the
            regular characters event; this event is intended only to report
            the boundary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLexicalHandler.EndCDATA">
            <summary>
            Report the end of a CDATA section.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLexicalHandler.StartEntity(Gecko.nsAStringBase)">
            <summary>
            Report the beginning of some internal and external XML entities.
            
            Because of the streaming event model that SAX uses, some
            entity boundaries cannot be reported under any circumstances:
            
            1.) general entities within attribute values
            2.) parameter entities within declarations
            
            These will be silently expanded, with no indication of where
            the original entity boundaries were.
            
            Note also that the boundaries of character references (which
            are not really entities anyway) are not reported.
            
            All start/endEntity events must be properly nested.
            </summary>
            <param name="name">
            The name of the entity.  If it is a parameter
            entity, the name will begin with &apos;%&apos;, and if it is the
            external DTD subset, it will be &quot;[dtd]&quot;.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLexicalHandler.EndEntity(Gecko.nsAStringBase)">
            <summary>
            Report the end of an entity.
            </summary>
            <param name="name">
            The name of the entity that is ending.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXLocator">
            <summary>
            Interface for associating a SAX event with a document location.
            
            Note that the results returned by the object will be valid only
            during the scope of each callback method: the application will
            receive unpredictable results if it attempts to use the locator at
            any other time, or after parsing completes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLocator.GetColumnNumberAttribute">
            <summary>
            Return the column number where the current document event ends.
            
            Warning: The return value from the method is intended only as an
            approximation for the sake of diagnostics; it is not intended to
            provide sufficient information to edit the character content of
            the original XML document.  For example, when lines contain
            combining character sequences, wide characters, surrogate pairs,
            or bi-directional text, the value may not correspond to the
            column in a text editor&apos;s display.
            
            The return value is an approximation of the column number in the
            document entity or external parsed entity where the markup
            triggering the event appears.
            
            If possible, the SAX driver should provide the line position of
            the first character after the text associated with the document
            event.  The first column in each line is column 1.
            </summary>
            <returns>
            The column number, or -1 if none is available.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLocator.GetLineNumberAttribute">
            <summary>
            Return the line number where the current document event ends.
            Lines are delimited by line ends, which are defined in the XML
            specification.
            
            Warning: The return value from the method is intended only as an
            approximation for the sake of diagnostics; it is not intended to
            provide sufficient information to edit the character content of
            the original XML document.  In some cases, these &quot;line&quot; numbers
            match what would be displayed as columns, and in others they may
            not match the source text due to internal entity expansion.
            
            The return value is an approximation of the line number in the
            document entity or external parsed entity where the markup
            triggering the event appears.
            
            If possible, the SAX driver should provide the line position of
            the first character after the text associated with the document
            event.  The first line is line 1.
            </summary>
            <returns>
            The line number, or -1 if none is available.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLocator.GetPublicIdAttribute(Gecko.nsAStringBase)">
            <summary>
            Return the public identifier for the current document event.
            
            The return value is the public identifier of the document entity
            or of the external parsed entity in which the markup triggering
            the event appears.
            </summary>
            <returns>
            A string containing the public identifier, or
            null if none is available.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXLocator.GetSystemIdAttribute(Gecko.nsAStringBase)">
            <summary>
            Return the system identifier for the current document event.
            
            The return value is the system identifier of the document entity
            or of the external parsed entity in which the markup triggering
            the event appears.
            </summary>
            <returns>
            A string containing the system identifier, or null
            if none is available.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXMutableAttributes">
            <summary>
            This interface extends the nsISAXAttributes interface with
            manipulators so that the list can be modified or reused.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetIndexFromName(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up the index of an attribute by Namespace name.
            </summary>
            <param name="uri">
            The Namespace URI, or the empty string
            if the name has no Namespace URI.
            </param>
            <param name="localName">
            The attribute&apos;s local name.
            </param>
            <returns>
            The index of the attribute, or -1
            if it does not appear in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetIndexFromQName(Gecko.nsAStringBase)">
            <summary>
            Look up the index of an attribute by XML qualified name.
            </summary>
            <param name="qName">
            The qualified name.
            </param>
            <returns>
            The index of the attribute, or -1
            if it does not appear in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetLengthAttribute">
            <summary>
            Return the number of attributes in the list. Once you know the
            number of attributes, you can iterate through the list.
            </summary>
            <returns>
            The number of attributes in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetLocalName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s local name by index.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The local name, or null if the index is out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetQName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s XML qualified name by index.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The XML qualified name, or the empty string if none is
            available, or null if the index is out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetType(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s type by index. The attribute type is one
            of the strings &quot;CDATA&quot;, &quot;ID&quot;, &quot;IDREF&quot;, &quot;IDREFS&quot;, &quot;NMTOKEN&quot;,
            &quot;NMTOKENS&quot;, &quot;ENTITY&quot;, &quot;ENTITIES&quot;, or &quot;NOTATION&quot; (always in upper
            case). If the parser has not read a declaration for the
            attribute, or if the parser does not report attribute types, then
            it must return the value &quot;CDATA&quot; as stated in the XML 1.0
            Recommendation (clause 3.3.3, &quot;Attribute-Value
            Normalization&quot;). For an enumerated attribute that is not a
            notation, the parser will report the type as &quot;NMTOKEN&quot;.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The attribute&apos;s type as a string, or null if the index is
            out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetTypeFromName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s type by Namespace name.
            </summary>
            <param name="uri">
            The Namespace URI, or the empty string
            if the name has no Namespace URI.
            </param>
            <param name="localName">
            The attribute&apos;s local name.
            </param>
            <returns>
            The attribute type as a string, or null if the attribute
            is not in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetTypeFromQName(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s type by XML qualified name.
            </summary>
            <param name="qName">
            The qualified name.
            </param>
            <returns>
            The attribute type as a string, or null if the attribute
            is not in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetURI(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s Namespace URI by index.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The Namespace URI, or the empty string if none is available,
            or null if the index is out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetValue(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s value by index.  If the attribute value is
            a list of tokens (IDREFS, ENTITIES, or NMTOKENS), the tokens will
            be concatenated into a single string with each token separated by
            a single space.
            </summary>
            <param name="index">
            The attribute index (zero-based).
            </param>
            <returns>
            The attribute&apos;s value as a string, or null if the index is
            out of range.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetValueFromName(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s value by Namespace name.  If the attribute
            value is a list of tokens (IDREFS, ENTITIES, or NMTOKENS), the
            tokens will be concatenated into a single string with each token
            separated by a single space.
            </summary>
            <param name="uri">
            The Namespace URI, or the empty string
            if the name has no Namespace URI.
            </param>
            <param name="localName">
            The attribute&apos;s local name.
            </param>
            <returns>
            The attribute&apos;s value as a string, or null if the attribute is
            not in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.GetValueFromQName(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Look up an attribute&apos;s value by XML qualified (prefixed) name.
            If the attribute value is a list of tokens (IDREFS, ENTITIES, or
            NMTOKENS), the tokens will be concatenated into a single string
            with each token separated by a single space.
            </summary>
            <param name="qName">
            The qualified (prefixed) name.
            </param>
            <returns>
            The attribute&apos;s value as a string, or null if the attribute is
            not in the list.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.AddAttribute(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Add an attribute to the end of the list.
            
            For the sake of speed, this method does no checking
            to see if the attribute is already in the list: that is
            the responsibility of the application.
            </summary>
            <param name="uri">
            The Namespace URI, or the empty string if
            none is available or Namespace processing is not
            being performed.
            </param>
            <param name="localName">
            The local name, or the empty string if
            Namespace processing is not being performed.
            </param>
            <param name="qName">
            The qualified (prefixed) name, or the empty string
            if qualified names are not available.
            </param>
            <param name="type">
            The attribute type as a string.
            </param>
            <param name="value">
            The attribute value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.Clear">
            <summary>
            Clear the attribute list for reuse.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.RemoveAttribute(System.UInt32)">
            <summary>
            Remove an attribute from the list.
            </summary>
            <param name="index">
            The index of the attribute (zero-based).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.SetAttributes(Gecko.Interfaces.nsISAXAttributes)">
            <summary>
            Set the attributes list. This method will clear any attributes in
            the list before adding the attributes from the argument.
            </summary>
            <param name="attributes">
            The attributes object to replace populate the
            list with.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.SetAttribute(System.UInt32,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Set an attribute in the list.
            
            For the sake of speed, this method does no checking for name
            conflicts or well-formedness: such checks are the responsibility
            of the application.
            </summary>
            <param name="index">
            The index of the attribute (zero-based).
            </param>
            <param name="uri">
            The Namespace URI, or the empty string if
            none is available or Namespace processing is not
            being performed.
            </param>
            <param name="localName">
            The local name, or the empty string if
            Namespace processing is not being performed.
            </param>
            <param name="qName">
            The qualified name, or the empty string
            if qualified names are not available.
            </param>
            <param name="type">
            The attribute type as a string.
            </param>
            <param name="value">
            The attribute value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.SetLocalName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Set the local name of a specific attribute.
            </summary>
            <param name="index">
            The index of the attribute (zero-based).
            </param>
            <param name="localName">
            The attribute&apos;s local name, or the empty
            string for none.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.SetQName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Set the qualified name of a specific attribute.
            </summary>
            <param name="index">
            The index of the attribute (zero-based).
            </param>
            <param name="qName">
            The attribute&apos;s qualified name, or the empty
            string for none.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.SetType(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Set the type of a specific attribute.
            </summary>
            <param name="index">
            The index of the attribute (zero-based).
            </param>
            <param name="type">
            The attribute&apos;s type.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.SetURI(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Set the Namespace URI of a specific attribute.
            </summary>
            <param name="index">
            The index of the attribute (zero-based).
            </param>
            <param name="uri">
            The attribute&apos;s Namespace URI, or the empty
            string for none.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXMutableAttributes.SetValue(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Set the value of a specific attribute.
            </summary>
            <param name="index">
            The index of the attribute (zero-based).
            </param>
            <param name="value">
            The attribute&apos;s value.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXXMLFilter">
            <summary>
            Interface for an XML filter.
            
            An XML filter is like an XML reader, except that it obtains its
            events from another XML reader rather than a primary source like an
            XML document or database.  Filters can modify a stream of events as
            they pass on to the final application.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISAXXMLReader">
            <summary>
            Interface for reading an XML document using callbacks.
            
            nsISAXXMLReader is the interface that an XML parser&apos;s SAX2
            driver must implement.  This interface allows an application to set
            and query features and properties in the parser, to register event
            handlers for document processing, and to initiate a document
            parse.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetBaseURIAttribute">
            <summary>
            The base URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetContentHandlerAttribute">
            <summary>
            If the application does not register a content handler, all
            content events reported by the SAX parser will be silently
            ignored.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetDtdHandlerAttribute">
            <summary>
            If the application does not register a DTD handler, all DTD
            events reported by the SAX parser will be silently ignored.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetErrorHandlerAttribute">
            <summary>
            If the application does not register an error handler, all
            error events reported by the SAX parser will be silently ignored;
            however, normal processing may not continue.  It is highly
            recommended that all SAX applications implement an error handler
            to avoid unexpected bugs.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetDeclarationHandlerAttribute">
            <summary>
            A handler for the (optional) XML declaration of a document.
            &lt;?xml version=&apos;1.0&apos;?&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetLexicalHandlerAttribute">
            <summary>
            If the application does not register a lexical handler, all
            lexical events (e.g. startDTD) reported by the SAX parser will be
            silently ignored.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.SetFeature(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Set the value of a feature flag.
            
            The feature name is any fully-qualified URI.  It is possible
            for an XMLReader to expose a feature value but to be unable to
            change the current value.  Some feature values may be immutable
            or mutable only in specific contexts, such as before, during, or
            after a parse.
            
            All XMLReaders are required to support setting
            http://xml.org/sax/features/namespaces to true and
            http://xml.org/sax/features/namespace-prefixes to false.
            </summary>
            <param name="name">
            String flag for a parser feature.
            </param>
            <param name="value">
            Turn the feature on/off.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetFeature(Gecko.nsAStringBase)">
            <summary>
            Look up the value of a feature flag.
            
            The feature name is any fully-qualified URI.  It is
            possible for an XMLReader to recognize a feature name but
            temporarily be unable to return its value.
            Some feature values may be available only in specific
            contexts, such as before, during, or after a parse.
            
            All XMLReaders are required to recognize the
            http://xml.org/sax/features/namespaces and the
            http://xml.org/sax/features/namespace-prefixes feature names.
            </summary>
            <param name="name">
            String flag for a parser feature.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.SetProperty(Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Set the value of a property. NOT CURRENTLY IMPLEMENTED.
            
            The property name is any fully-qualified URI.  It is possible
            for an XMLReader to recognize a property name but to be unable to
            change the current value.  Some property values may be immutable
            or mutable only in specific contexts, such as before, during, or
            after a parse.
            
            XMLReaders are not required to recognize setting any specific
            property names, though a core set is defined by SAX2.
            
            This method is also the standard mechanism for setting
            extended handlers.
            </summary>
            <param name="name">
            String flag for a parser feature
            </param>
            <param name="value">
            Turn the feature on/off.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.GetProperty(Gecko.nsAStringBase)">
            <summary>
            Look up the value of a property. NOT CURRENTLY IMPLEMENTED.
            
            The property name is any fully-qualified URI.  It is
            possible for an XMLReader to recognize a property name but
            temporarily be unable to return its value.
            Some property values may be available only in specific
            contexts, such as before, during, or after a parse.
            
            XMLReaders are not required to recognize any specific
            property names, though an initial core set is documented for
            SAX2.
            
            Implementors are free (and encouraged) to invent their own properties,
            using names built on their own URIs.
            </summary>
            <param name="name">
            The property name, which is a fully-qualified URI.
            </param>
            <returns>
            The current value of the property.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.ParseFromString(Gecko.nsAStringBase,System.String)">
            <summary>
            
            </summary>
            <param name="str">
            The UTF16 string to be parsed
            </param>
            <param name="contentType">
            The content type of the string (see parseFromStream)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.ParseFromStream(Gecko.Interfaces.nsIInputStream,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="stream">
            The byte stream whose contents are parsed
            </param>
            <param name="charset">
            The character set that was used to encode the byte
            stream. NULL if not specified.
            </param>
            <param name="contentType">
            The content type of the string - either text/xml,
            application/xml, or application/xhtml+xml.
            Must not be NULL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLReader.ParseAsync(Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Begin an asynchronous parse. This method initializes the parser,
            and must be called before any nsIStreamListener methods. It is
            then the caller&apos;s duty to call nsIStreamListener methods to drive
            the parser. Once this method is called, the caller must not call
            one of the other parse methods.
            </summary>
            <param name="observer">
            The nsIRequestObserver to notify upon start or stop.
            Can be NULL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetBaseURIAttribute">
            <summary>
            The base URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetContentHandlerAttribute">
            <summary>
            If the application does not register a content handler, all
            content events reported by the SAX parser will be silently
            ignored.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetDtdHandlerAttribute">
            <summary>
            If the application does not register a DTD handler, all DTD
            events reported by the SAX parser will be silently ignored.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetErrorHandlerAttribute">
            <summary>
            If the application does not register an error handler, all
            error events reported by the SAX parser will be silently ignored;
            however, normal processing may not continue.  It is highly
            recommended that all SAX applications implement an error handler
            to avoid unexpected bugs.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetDeclarationHandlerAttribute">
            <summary>
            A handler for the (optional) XML declaration of a document.
            &lt;?xml version=&apos;1.0&apos;?&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetLexicalHandlerAttribute">
            <summary>
            If the application does not register a lexical handler, all
            lexical events (e.g. startDTD) reported by the SAX parser will be
            silently ignored.
            
            Applications may register a new or different handler in the
            middle of a parse, and the SAX parser must begin using the new
            handler immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.SetFeature(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Set the value of a feature flag.
            
            The feature name is any fully-qualified URI.  It is possible
            for an XMLReader to expose a feature value but to be unable to
            change the current value.  Some feature values may be immutable
            or mutable only in specific contexts, such as before, during, or
            after a parse.
            
            All XMLReaders are required to support setting
            http://xml.org/sax/features/namespaces to true and
            http://xml.org/sax/features/namespace-prefixes to false.
            </summary>
            <param name="name">
            String flag for a parser feature.
            </param>
            <param name="value">
            Turn the feature on/off.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetFeature(Gecko.nsAStringBase)">
            <summary>
            Look up the value of a feature flag.
            
            The feature name is any fully-qualified URI.  It is
            possible for an XMLReader to recognize a feature name but
            temporarily be unable to return its value.
            Some feature values may be available only in specific
            contexts, such as before, during, or after a parse.
            
            All XMLReaders are required to recognize the
            http://xml.org/sax/features/namespaces and the
            http://xml.org/sax/features/namespace-prefixes feature names.
            </summary>
            <param name="name">
            String flag for a parser feature.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.SetProperty(Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Set the value of a property. NOT CURRENTLY IMPLEMENTED.
            
            The property name is any fully-qualified URI.  It is possible
            for an XMLReader to recognize a property name but to be unable to
            change the current value.  Some property values may be immutable
            or mutable only in specific contexts, such as before, during, or
            after a parse.
            
            XMLReaders are not required to recognize setting any specific
            property names, though a core set is defined by SAX2.
            
            This method is also the standard mechanism for setting
            extended handlers.
            </summary>
            <param name="name">
            String flag for a parser feature
            </param>
            <param name="value">
            Turn the feature on/off.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetProperty(Gecko.nsAStringBase)">
            <summary>
            Look up the value of a property. NOT CURRENTLY IMPLEMENTED.
            
            The property name is any fully-qualified URI.  It is
            possible for an XMLReader to recognize a property name but
            temporarily be unable to return its value.
            Some property values may be available only in specific
            contexts, such as before, during, or after a parse.
            
            XMLReaders are not required to recognize any specific
            property names, though an initial core set is documented for
            SAX2.
            
            Implementors are free (and encouraged) to invent their own properties,
            using names built on their own URIs.
            </summary>
            <param name="name">
            The property name, which is a fully-qualified URI.
            </param>
            <returns>
            The current value of the property.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.ParseFromString(Gecko.nsAStringBase,System.String)">
            <summary>
            
            </summary>
            <param name="str">
            The UTF16 string to be parsed
            </param>
            <param name="contentType">
            The content type of the string (see parseFromStream)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.ParseFromStream(Gecko.Interfaces.nsIInputStream,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="stream">
            The byte stream whose contents are parsed
            </param>
            <param name="charset">
            The character set that was used to encode the byte
            stream. NULL if not specified.
            </param>
            <param name="contentType">
            The content type of the string - either text/xml,
            application/xml, or application/xhtml+xml.
            Must not be NULL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.ParseAsync(Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Begin an asynchronous parse. This method initializes the parser,
            and must be called before any nsIStreamListener methods. It is
            then the caller&apos;s duty to call nsIStreamListener methods to drive
            the parser. Once this method is called, the caller must not call
            one of the other parse methods.
            </summary>
            <param name="observer">
            The nsIRequestObserver to notify upon start or stop.
            Can be NULL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISAXXMLFilter.GetParentAttribute">
            <summary>
            The parent reader.
            
            Allows the application to query the parent reader (which may be
            another filter).  It is generally a bad idea to perform any
            operations on the parent reader directly: they should all pass
            through this filter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.GetIdAttribute">
            <summary>
            A unique identifier for this device, useful for requerying
            for it via nsIScreenManager.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.GetRect(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            These report screen dimensions in (screen-specific) device pixels
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.GetRectDisplayPix(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            And these report in desktop pixels
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.LockMinimumBrightness(System.UInt32)">
            <summary>
            Locks the minimum brightness of the screen, forcing it to be at
            least as bright as a certain brightness level. Each call to this
            function must eventually be followed by a corresponding call to
            unlockMinimumBrightness, with the same brightness level.
            </summary>
            <param name="brightness">
            A brightness level, one of the above constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.UnlockMinimumBrightness(System.UInt32)">
            <summary>
            Releases a lock on the screen brightness. This must be called
            (eventually) after a corresponding call to lockMinimumBrightness.
            </summary>
            <param name="brightness">
            A brightness level, one of the above constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.GetRotationAttribute">
            <summary>
            Get/set the screen rotation, on platforms that support changing
            screen rotation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.GetContentsScaleFactorAttribute">
            <summary>
            The number of device pixels per desktop pixel for this screen (for
            hidpi configurations where there may be multiple device pixels per
            desktop px and/or per CSS px).
            
            This seems poorly named (something like devicePixelsPerDesktopPixel
            would be more accurate/explicit), but given that it is exposed to
            front-end code and may also be used by add-ons, it&apos;s probably not
            worth the disruption of changing it.
            
            Returns 1.0 if HiDPI mode is disabled or unsupported, or if the
            host OS uses device pixels as its desktop pixel units (as in Win8.1
            per-monitor dpi support).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScreen.GetDefaultCSSScaleFactorAttribute">
            <summary>
            The default number of device pixels per unscaled CSS pixel for this
            screen. This is probably what contentsScaleFactor originally meant
            to be, prior to confusion between CSS pixels and desktop pixel units.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIScriptableBase64Encoder">
            <summary>
            nsIScriptableBase64Encoder efficiently encodes the contents
            of a nsIInputStream to a Base64 string.  This avoids the need
            to read the entire stream into a buffer, and only then do the
            Base64 encoding.
            
            If you already have a buffer full of data, you should use
            btoa instead!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableBase64Encoder.EncodeToCString(Gecko.Interfaces.nsIInputStream,System.UInt32,Gecko.nsACStringBase)">
            <summary>
            These methods take an nsIInputStream and return a narrow or wide
            string with the contents of the nsIInputStream base64 encoded.
            
            The stream passed in must support ReadSegments and must not be
            a non-blocking stream that will return NS_BASE_STREAM_WOULD_BLOCK.
            If either of these restrictions are violated we will abort.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIScriptableDateFormat">
            <summary>
            Format date and time in a human readable format.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableDateFormat.FormatDateTime(System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Format the given date and time in a human readable format.
            
            The underlying operating system is used to format the date and time.
            
            Pass an empty string as the locale parameter to use the OS settings with
            the preferred date and time formatting given by the user.
            
            Pass a locale code as described in nsILocale as the locale parameter
            (e.g. en-US) to use a specific locale. If the given locale is not
            available, a fallback will be used.
            
            NOTE: The output of this method depends on the operating system and user
            settings. Even if you pass a locale code as the first parameter, there
            are no guarantees about which locale and exact format the returned value
            uses. Even if you know the locale, the format might be customized by the
            user. Therefore you should not use the returned values in contexts where
            you depend on any specific format or language.
            </summary>
            <param name="locale">
            Locale code of locale used to format the date or an empty string
            to follow user preference.
            </param>
            <param name="dateFormatSelector">
            Indicate which format should preferably be used for the date.
            Use one of the dateFormat* constants.
            </param>
            <param name="timeFormatSelector">
            Indicate which format should preferably be used for the time.
            Use one of the timeFormat* constants.
            </param>
            <param name="year,">
            month, day, hour, minute and second
            The date and time to be formatted, given in the computer&apos;s local
            time zone.
            </param>
            <returns>
            The date and time formatted as human readable text according to
            user preferences or the given locale.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableDateFormat.FormatDate(System.String,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Format the given date in a human readable format.
            
            See FormatDateTime for details.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableDateFormat.FormatTime(System.String,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Format the given time in a human readable format.
            
            See FormatDateTime for details.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIScriptableInputStream">
            <summary>
            nsIScriptableInputStream provides scriptable access to an nsIInputStream
            instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableInputStream.Close">
            <summary>
            Closes the stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableInputStream.Init(Gecko.Interfaces.nsIInputStream)">
            <summary>
            Wrap the given nsIInputStream with this nsIScriptableInputStream.
            </summary>
            <param name="aInputStream">
            parameter providing the stream to wrap
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableInputStream.Available">
            <summary>
            Return the number of bytes currently available in the stream
            </summary>
            <returns>
            the number of bytes
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if called after the stream has been closed
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableInputStream.Read(System.UInt32)">
            <summary>
            Read data from the stream.
            
            WARNING: If the data contains a null byte, then this method will return
            a truncated string.
            </summary>
            <param name="aCount">
            the maximum number of bytes to read
            </param>
            <returns>
            the data, which will be an empty string if the stream is at EOF.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if called after the stream has been closed
            NS_ERROR_NOT_INITIALIZED: if init was not called
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableInputStream.ReadBytes(System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Read data from the stream, including NULL bytes.
            </summary>
            <param name="aCount">
            the maximum number of bytes to read.
            </param>
            <returns>
            the data from the stream, which will be an empty string if EOF
            has been reached.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream
            would block the calling thread (non-blocking mode only).
            NS_ERROR_FAILURE: if there are not enough bytes available to read
            aCount amount of data.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.SetToRegion(Gecko.Interfaces.nsIScriptableRegion)">
            <summary>
            copy operator equivalent that takes another region
            </summary>
            <param name="region">
            to copy
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.SetToRect(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            copy operator equivalent that takes a rect
            </summary>
            <param name="aX">
            xoffset of rect to set region to
            </param>
            <param name="aY">
            yoffset of rect to set region to
            </param>
            <param name="aWidth">
            width of rect to set region to
            </param>
            <param name="aHeight">
            height of rect to set region to
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.IntersectRegion(Gecko.Interfaces.nsIScriptableRegion)">
            <summary>
            destructively intersect another region with this one
            </summary>
            <param name="region">
            to intersect
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.IntersectRect(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            destructively intersect a rect with this region
            </summary>
            <param name="aX">
            xoffset of rect to intersect with region
            </param>
            <param name="aY">
            yoffset of rect to intersect with region
            </param>
            <param name="aWidth">
            width of rect to intersect with region
            </param>
            <param name="aHeight">
            height of rect to intersect with region
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.UnionRegion(Gecko.Interfaces.nsIScriptableRegion)">
            <summary>
            destructively union another region with this one
            </summary>
            <param name="region">
            to union
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.UnionRect(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            destructively union a rect with this region
            </summary>
            <param name="aX">
            xoffset of rect to union with region
            </param>
            <param name="aY">
            yoffset of rect to union with region
            </param>
            <param name="aWidth">
            width of rect to union with region
            </param>
            <param name="aHeight">
            height of rect to union with region
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.SubtractRegion(Gecko.Interfaces.nsIScriptableRegion)">
            <summary>
            destructively subtract another region with this one
            </summary>
            <param name="region">
            to subtract
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.SubtractRect(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            destructively subtract a rect from this region
            </summary>
            <param name="aX">
            xoffset of rect to subtract with region
            </param>
            <param name="aY">
            yoffset of rect to subtract with region
            </param>
            <param name="aWidth">
            width of rect to subtract with region
            </param>
            <param name="aHeight">
            height of rect to subtract with region
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.IsEmpty">
            <summary>
            is this region empty? i.e. does it contain any pixels
            </summary>
            <param name="none">
            
            </param>
            <returns>
            returns whether the region is empty
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.IsEqualRegion(Gecko.Interfaces.nsIScriptableRegion)">
            <summary>
            == operator equivalent i.e. do the regions contain exactly
            the same pixels
            </summary>
            <param name="region">
            to compare
            </param>
            <returns>
            whether the regions are identical
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.GetBoundingBox(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            returns the bounding box of the region i.e. the smallest
            rectangle that completely contains the region.
            </summary>
            <param name="aX">
            out parameter for xoffset of bounding rect for region
            </param>
            <param name="aY">
            out parameter for yoffset of bounding rect for region
            </param>
            <param name="aWidth">
            out parameter for width of bounding rect for region
            </param>
            <param name="aHeight">
            out parameter for height of bounding rect for region
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.Offset(System.Int32,System.Int32)">
            <summary>
            offsets the region in x and y
            </summary>
            <param name="xoffset">
            pixel offset in x
            </param>
            <param name="yoffset">
            pixel offset in y
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.GetRects(System.IntPtr)">
            <summary>
            
            </summary>
            <returns>
            flat array of rects,ie [x1,y1,width1,height1,x2...].
            The result will contain bogus data if values don&apos;t fit in 31 bit
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableRegion.ContainsRect(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            does the region intersect the rectangle?
            </summary>
            <param name="rect">
            to check for containment
            </param>
            <returns>
            true if the region intersects the rect
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIScriptableUnicodeConverter">
            <summary>
            This interface is a unicode encoder for use by scripts
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.ConvertFromUnicode(Gecko.nsAStringBase,Gecko.nsACStringBase)">
            <summary>
            Converts the data from Unicode to one Charset.
            Returns the converted string. After converting, Finish should be called
            and its return value appended to this return value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.Finish(Gecko.nsACStringBase)">
            <summary>
            Returns the terminator string.
            Should be called after ConvertFromUnicode() and appended to that
            function&apos;s return value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.ConvertToUnicode(Gecko.nsACStringBase,Gecko.nsAStringBase)">
            <summary>
            Converts the data from one Charset to Unicode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.ConvertFromByteArray(System.Byte[],System.UInt32,Gecko.nsAStringBase)">
            <summary>
            Converts an array of bytes to a unicode string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.ConvertToByteArray(Gecko.nsAStringBase,System.UInt32@,System.IntPtr@)">
            <summary>
            Convert a unicode string to an array of bytes. Finish does not need to be
            called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.ConvertToInputStream(Gecko.nsAStringBase)">
            <summary>
            Converts a unicode string to an input stream. The bytes in the stream are
            encoded according to the charset attribute.
            The returned stream will be nonblocking.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.GetCharsetAttribute">
            <summary>
            Current character set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnicodeConverter.GetIsInternalAttribute">
            <summary>
            Internal use
            
            When this attribute is set, all encodings may be accessed. Alias
            resolution is not performed for non-Encoding Standard encodings.
            MailNews callers should perform alias resolution first (e.g. using
            nsICharsetConverterManager::getCharsetAlias()) and use the result
            with this API.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIScriptableUnescapeHTML">
            <summary>
            This interface is OBSOLETE and exists solely for legacy extensions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnescapeHTML.Unescape(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Converts HTML to plain text. This is equivalent to calling
            nsIParserUtils::convertToPlainText(src,
            nsIDocumentEncoder::OutputSelectionOnly |
            nsIDocumentEncoder::OutputAbsoluteLinks, 0).
            
            You should call nsIParserUtils::convertToPlainText() instead of calling
            this method.
            </summary>
            <param name="src">
            The HTML string to convert to plain text.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptableUnescapeHTML.ParseFragment(Gecko.nsAStringBase,System.Boolean,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Parses markup into a sanitized document fragment. This is equivalent to
            calling nsIParserUtils::parseFragment(fragment, 0, isXML, baseURI,
            element).
            
            You should call nsIParserUtils::parseFragment() instead of calling this
            method.
            </summary>
            <param name="fragment">
            the input markup
            </param>
            <param name="isXML">
            true if |fragment| is XML and false if HTML
            </param>
            <param name="baseURI">
            the base URL for this fragment
            </param>
            <param name="element">
            the context node for the fragment parsing algorithm
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIScriptChannel">
            <summary>
            An interface representing a channel which will have to execute some sort of
            program provided via its URI to compute the data it should return.
            
            If a channel implements this interface, the execution of the program in
            question will be restricted in the following ways:
            
            - If the channel does not have an owner principal, the program will not be
            executed at all, no matter what.  This is necessary because in this
            circumstance we have no way to tell whether script execution is allowed at
            all for the originating security context of this channel.
            - If the channel has an owner principal, how it is executed is controlled by
            this interface.  However if the owner principal does not subsume the
            principal of the environment in which the program is to be executed the
            execution will be forced to happen in a sandbox.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptChannel.GetExecutionPolicyAttribute">
            <summary>
            Whether and how the program represented by this channel is to be executed.
            The default value if this property has never been set on this channel MUST
            be either EXECUTE_IN_SANDBOX or NO_EXECUTION.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: when set to an unrecognized value.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptChannel.GetExecuteAsyncAttribute">
            <summary>
            Control whether the program should be executed synchronosly when
            the channel&apos;s AsyncOpen method is called or whether it should be
            executed asynchronously.  In both cases, any data that the
            channel returns will be returned asynchronously; the only thing
            this property affects is when the program executes.
            
            The default value of this property is TRUE.
            
            Setting this property after asyncOpen has been called on the
            channel has no effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptError.GetLogLevelAttribute">
            <summary>
            The log level of this message.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptError.GetTimeStampAttribute">
            <summary>
            The time (in milliseconds from the Epoch) that the message instance
            was initialised.
            The timestamp is initialized as JS_now/1000 so that it can be
            compared to Date.now in Javascript.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptError.GetErrorMessageAttribute(Gecko.nsAStringBase)">
            <summary>
            The error message without any context/line number information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptError.GetCategoryAttribute">
            <summary>
            Categories I know about -
            XUL javascript
            content javascript (both of these from nsDocShell, currently)
            system javascript (errors in JS components and other system JS)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptError.GetErrorMessageNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of a template string, as found in js.msg, associated with the
            error message.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptLoaderObserver.ScriptAvailable(System.Int32,System.IntPtr,System.Boolean,Gecko.Interfaces.nsIURI,System.Int32)">
            <summary>
            The script is available for evaluation. For inline scripts, this
            method will be called synchronously. For externally loaded scripts,
            this method will be called when the load completes.
            </summary>
            <param name="aResult">
            A result code representing the result of loading
            a script. If this is a failure code, script evaluation
            will not occur.
            </param>
            <param name="aElement">
            The element being processed.
            </param>
            <param name="aIsInline">
            Is this an inline script or externally loaded?
            </param>
            <param name="aURI">
            What is the URI of the script (the document URI if
            it is inline).
            </param>
            <param name="aLineNo">
            At what line does the script appear (generally 1
            if it is a loaded script).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptLoaderObserver.ScriptEvaluated(System.Int32,System.IntPtr,System.Boolean)">
            <summary>
            The script has been evaluated.
            </summary>
            <param name="aResult">
            A result code representing the success or failure of
            the script evaluation.
            </param>
            <param name="aElement">
            The element being processed.
            </param>
            <param name="aIsInline">
            Is this an inline script or externally loaded?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CanCreateWrapper(System.IntPtr,System.Guid@,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIClassInfo)">
            <summary>
            For each of these hooks returning NS_OK means &apos;let the action continue&apos;.
            Returning an error code means &apos;veto the action&apos;. XPConnect will return
            false to the js engine if the action is vetoed. The implementor of this
            interface is responsible for setting a JS exception into the JSContext
            if that is appropriate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CheckLoadURIFromScript(System.IntPtr,Gecko.Interfaces.nsIURI)">
            <summary>
            Check that the script currently running in context &quot;cx&quot; can load &quot;uri&quot;.
            
            Will return error code NS_ERROR_DOM_BAD_URI if the load request
            should be denied.
            </summary>
            <param name="cx">
            the JSContext of the script causing the load
            </param>
            <param name="uri">
            the URI that is being loaded
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CheckLoadURIWithPrincipal(Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Check that content with principal aPrincipal can load &quot;uri&quot;.
            
            Will return error code NS_ERROR_DOM_BAD_URI if the load request
            should be denied.
            </summary>
            <param name="aPrincipal">
            the principal identifying the actor causing the load
            </param>
            <param name="uri">
            the URI that is being loaded
            </param>
            <param name="flags">
            the permission set, see above
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CheckLoadURIStrWithPrincipal(Gecko.Interfaces.nsIPrincipal,Gecko.nsAUTF8StringBase,System.UInt32)">
            <summary>
            Similar to checkLoadURIWithPrincipal but there are two differences:
            
            1) The URI is a string, not a URI object.
            2) This function assumes that the URI may still be subject to fixup (and
            hence will check whether fixed-up versions of the URI are allowed to
            load as well); if any of the versions of this URI is not allowed, this
            function will return error code NS_ERROR_DOM_BAD_URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetSystemPrincipal">
            <summary>
            Return the all-powerful system principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetAppCodebasePrincipal(Gecko.Interfaces.nsIURI,System.UInt32,System.Boolean)">
            <summary>
            Returns a principal that has the given information.
            </summary>
            <param name="appId">
            is the app id of the principal. It can&apos;t be UNKNOWN_APP_ID.
            </param>
            <param name="inMozBrowser">
            is true if the principal has to be considered as
            inside a mozbrowser frame.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetLoadContextCodebasePrincipal(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Returns a principal that has the appId and inMozBrowser of the load
            context.
            </summary>
            <param name="loadContext">
            to get appId/inMozBrowser from.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetDocShellCodebasePrincipal(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDocShell)">
            <summary>
            Returns a principal that has the appId and inMozBrowser of the docshell
            inside a mozbrowser frame.
            </summary>
            <param name="docShell">
            to get appId/inMozBrowser from.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetNoAppCodebasePrincipal(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns a principal with that has the same origin as uri and is not part
            of an appliction.
            The returned principal will have appId = NO_APP_ID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetCodebasePrincipal(Gecko.Interfaces.nsIURI)">
            <summary>
            Legacy method for getting a principal with no origin attributes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CreateCodebasePrincipal(Gecko.Interfaces.nsIURI,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Returns a principal whose origin is composed of |uri| and |originAttributes|.
            See nsIPrincipal.idl for a description of origin attributes, and
            ChromeUtils.webidl for a list of origin attributes and their defaults.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CreateCodebasePrincipalFromOrigin(Gecko.nsACStringBase)">
            <summary>
            Returns a principal whose origin is the one we pass in.
            See nsIPrincipal.idl for a description of origin attributes, and
            ChromeUtils.webidl for a list of origin attributes and their defaults.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CreateNullPrincipal(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Returns a unique nonce principal with |originAttributes|.
            See nsIPrincipal.idl for a description of origin attributes, and
            ChromeUtils.webidl for a list of origin attributes and their defaults.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CheckSameOriginURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,System.Boolean)">
            <summary>
            Returns OK if aSourceURI and target have the same &quot;origin&quot;
            (scheme, host, and port).
            ReportError flag suppresses error reports for functions that
            don&apos;t need reporting.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetChannelResultPrincipal(Gecko.Interfaces.nsIChannel)">
            <summary>
            Get the principal for the given channel.  This will typically be the
            channel owner if there is one, and the codebase principal for the
            channel&apos;s URI otherwise.  aChannel must not be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetChannelResultPrincipalIfNotSandboxed(Gecko.Interfaces.nsIChannel)">
            <summary>
            Temporary API until bug 1220687 is fixed.
            
            Returns the same value as getChannelResultPrincipal, but ignoring
            sandboxing.  Specifically, if sandboxing would have prevented the
            channel&apos;s triggering principal from being returned by
            getChannelResultPrincipal, the triggering principal will be returned
            by this method.
            
            Note that this method only ignores sandboxing of the channel in
            question, it does not ignore sandboxing of any channels further up a
            document chain.  The triggering principal itself may still be the null
            principal due to sandboxing further up a document chain.  In that regard
            the ignoring of sandboxing is limited.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.GetChannelURIPrincipal(Gecko.Interfaces.nsIChannel)">
            <summary>
            Get the codebase principal for the channel&apos;s URI.
            aChannel must not be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.IsSystemPrincipal(Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Check whether a given principal is a system principal.  This allows us
            to avoid handing back the system principal to script while allowing
            script to check whether a given principal is system.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.ActivateDomainPolicy">
            <summary>
            Per-domain controls to enable and disable script. This system is designed
            to be used by at most one consumer, and enforces this with its semantics.
            
            Initially, domainPolicyActive is false. When activateDomainPolicy() is
            invoked, domainPolicyActive becomes true, and subsequent calls to
            activateDomainPolicy() will fail until deactivate() is invoked on the
            nsIDomainPolicy returned from activateDomainPolicy(). At this point,
            domainPolicyActive becomes false again, and a new consumer may acquire
            control of the system by invoking activateDomainPolicy().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.ActivateDomainPolicyInternal">
            <summary>
            Only the parent process can directly access domain policies, child
            processes only have a read-only mirror to the one in the parent.
            For child processes the mirror is updated via messages
            and ContentChild will hold the DomainPolicy by calling
            ActivateDomainPolicyInternal directly. New consumer to this
            function should not be addded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.CloneDomainPolicy(System.IntPtr)">
            <summary>
            This function is for internal use only. Every time a child process is spawned, we
            must clone any active domain policies in the parent to the new child.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScriptSecurityManager.PolicyAllowsScript(Gecko.Interfaces.nsIURI)">
            <summary>
            Query mechanism for the above policy.
            
            If domainPolicyEnabled is false, this simply returns the current value
            of javascript.enabled. Otherwise, it returns the same value, but taking
            the various blacklist/whitelist exceptions into account.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIScrollable">
            <summary>
            The nsIScrollable is an interface that can be implemented by a control that
            supports scrolling.  This is a generic interface without concern for the
            type of content that may be inside.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScrollable.GetDefaultScrollbarPreferences(System.Int32)">
            <summary>
            Get or set the default scrollbar state for all documents in
            this shell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIScrollable.GetScrollbarVisibility(System.Boolean@,System.Boolean@)">
            <summary>
            Get information about whether the vertical and horizontal scrollbars are
            currently visible.  If you are only interested in one of the visibility
            settings pass nullptr in for the one you aren&apos;t interested in.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISecCheckWrapChannel">
            <summary>
            nsISecCheckWrapChannel
            Describes an XPCOM component used to wrap channels for performing
            security checks. Channels wrapped inside this class can use
            this interface to query the wrapped inner channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISecCheckWrapChannel.GetInnerChannelAttribute">
            <summary>
            Returns the wrapped channel inside this class.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISecretDecoderRing.EncryptString(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Encrypt to Base64 output.
            Note that the input must basically be a byte array (i.e. the code points
            must be within the range [0, 255]). Hence, using this method directly to
            encrypt passwords (or any text, really) won&apos;t work as expected.
            Instead, use something like nsIScriptableUnicodeConverter to first convert
            the desired password or text to UTF-8, then encrypt that. Remember to
            convert back when calling decryptString().
            </summary>
            <param name="text">
            The text to encrypt.
            </param>
            <returns>
            The encrypted text, encoded as Base64.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISecretDecoderRing.DecryptString(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Decrypt Base64 input.
            See the encryptString() documentation - this method has basically the same
            limitations.
            </summary>
            <param name="encryptedBase64Text">
            Encrypted input text, encoded as Base64.
            </param>
            <returns>
            The decoded text.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISecretDecoderRing.ChangePassword">
            <summary>
            Prompt the user to change the password on the SDR key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISecretDecoderRing.Logout">
            <summary>
            Logout of the security device that protects the SDR key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISecretDecoderRing.LogoutAndTeardown">
            <summary>
            Logout of the security device that protects the SDR key and tear
            down authenticated objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISecurityEventSink.OnSecurityChange(Gecko.Interfaces.nsISupports,System.UInt32)">
            <summary>
            Fired when a security change occurs due to page transitions,
            or end document load. This interface should be called by
            a security package (eg Netscape Personal Security Manager)
            to notify nsIWebProgressListeners that security state has
            changed. State flags are in nsIWebProgressListener.idl
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISecurityInfoProvider.GetSecurityInfoAttribute">
            <summary>
            The security info for this provider, if any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISecurityInfoProvider.GetHasTransferredDataAttribute">
            <summary>
            Whether this provider has transferred data.  If it hasn&apos;t, its
            security info should be ignored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISeekableStream.Seek(System.Int32,System.Int64)">
            <summary>
            seek
            
            This method moves the stream offset of the steam implementing this
            interface.
            </summary>
            <param name="whence">
            specifies how to interpret the 'offset' parameter in
            setting the stream offset associated with the implementing
            stream.
            </param>
            <param name="offset">
            specifies a value, in bytes, that is used in conjunction
            with the 'whence' parameter to set the stream offset of the
            implementing stream.  A negative value causes seeking in
            the reverse direction.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if called on a closed stream.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISeekableStream.Tell">
            <summary>
            tell
            
            This method reports the current offset, in bytes, from the start of the
            stream.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if called on a closed stream.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISeekableStream.SetEOF">
            <summary>
            setEOF
            
            This method truncates the stream at the current offset.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if called on a closed stream.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsISelection">
            <summary>
            Interface for manipulating and querying the current selected range
            of nodes within the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.GetAnchorNodeAttribute">
            <summary>
            Returns the node in which the selection begins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.GetAnchorOffsetAttribute">
            <summary>
            The offset within the (text) node where the selection begins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.GetFocusNodeAttribute">
            <summary>
            Returns the node in which the selection ends.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.GetFocusOffsetAttribute">
            <summary>
            The offset within the (text) node where the selection ends.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.GetIsCollapsedAttribute">
            <summary>
            Indicates if the selection is collapsed or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.GetRangeCountAttribute">
            <summary>
            Returns the number of ranges in the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.GetRangeAt(System.Int32)">
            <summary>
            Returns the range at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.Collapse(Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Collapses the selection to a single point, at the specified offset
            in the given DOM node. When the selection is collapsed, and the content
            is focused and editable, the caret will blink there.
            </summary>
            <param name="parentNode">
            The given dom node where the selection will be set
            </param>
            <param name="offset">
            Where in given dom node to place the selection (the offset into the given node)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.Extend(Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Extends the selection by moving the selection end to the specified node and offset,
            preserving the selection begin position. The new selection end result will always
            be from the anchorNode to the new focusNode, regardless of direction.
            </summary>
            <param name="parentNode">
            The node where the selection will be extended to
            </param>
            <param name="offset">
            Where in node to place the offset in the new selection end
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.CollapseToStart">
            <summary>
            Collapses the whole selection to a single point at the start
            of the current selection (irrespective of direction).  If content
            is focused and editable, the caret will blink there.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.CollapseToEnd">
            <summary>
            Collapses the whole selection to a single point at the end
            of the current selection (irrespective of direction).  If content
            is focused and editable, the caret will blink there.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.ContainsNode(Gecko.Interfaces.nsIDOMNode,System.Boolean)">
            <summary>
            Indicates whether the node is part of the selection. If partlyContained
            is set to PR_TRUE, the function returns true when some part of the node
            is part of the selection. If partlyContained is set to PR_FALSE, the
            function only returns true when the entire node is part of the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.SelectAllChildren(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Adds all children of the specified node to the selection.
            </summary>
            <param name="parentNode">
            the parent of the children to be added to the selection.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.AddRange(Gecko.Interfaces.nsIDOMRange)">
            <summary>
            Adds a range to the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.RemoveRange(Gecko.Interfaces.nsIDOMRange)">
            <summary>
            Removes a range from the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.RemoveAllRanges">
            <summary>
            Removes all ranges from the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.DeleteFromDocument">
            <summary>
            Deletes this selection from document the nodes belong to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.ToString(Gecko.nsAStringBase)">
            <summary>
            Returns the whole selection into a plain text string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelection.Modify(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Modifies the selection.  Note that the parameters are case-insensitive.
            </summary>
            <param name="alter">
            can be one of { &quot;move&quot;, &quot;extend&quot; }
            - &quot;move&quot; collapses the selection to the end of the selection and
            applies the movement direction/granularity to the collapsed
            selection.
            - &quot;extend&quot; leaves the start of the selection unchanged, and applies
            movement direction/granularity to the end of the selection.
            </param>
            <param name="direction">
            can be one of { &quot;forward&quot;, &quot;backward&quot;, &quot;left&quot;, &quot;right&quot; }
            </param>
            <param name="granularity">
            can be one of { &quot;character&quot;, &quot;word&quot;,
            &quot;line&quot;, &quot;lineboundary&quot; }
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.SetDisplaySelection(System.Int16)">
            <summary>
            SetDisplaySelection will set the display mode for the selection. OFF,ON,DISABLED
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.GetDisplaySelection">
            <summary>
            GetDisplaySelection will get the display mode for the selection. OFF,ON,DISABLED
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.GetSelection(System.Int16)">
            <summary>
            GetSelection will return the selection that the presentation
            shell may implement.
            </summary>
            <param name="aType">
            This will hold the type of selection.  This value must be one
            of RawSelectionType values.
            </param>
            <param name="_return">
            will hold the return value
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.ScrollSelectionIntoView(System.Int16,System.Int16,System.Int16)">
            <summary>
            ScrollSelectionIntoView scrolls a region of the selection,
            so that it is visible in the scrolled view.
            </summary>
            <param name="aType">
            the selection to scroll into view.  This value must be one
            of RawSelectionType values.
            </param>
            <param name="aRegion">
            the region inside the selection to scroll into view. //SelectionRegion
            </param>
            <param name="aFlags">
            the scroll flags.  Valid bits include:
            SCROLL_SYNCHRONOUS: when set, scrolls the selection into view
            before returning. If not set, posts a request which is processed
            at some point after the method returns.
            SCROLL_FIRST_ANCESTOR_ONLY: if set, only the first ancestor will be scrolled
            into view.
            SCROLL_OVERFLOW_HIDDEN: if set, scrolls even if the overflow is specified
            as hidden.
            SCROLL_FOR_CARET_MOVE: set to indicate whether scrolling is in response
            to the caret being moved. Does not affect behavior (used for telemetry
            purposes only).
            
            Note that if isSynchronous is true, then this might flush the pending
            reflow. It&apos;s dangerous for some objects. See bug 418470 comment 12.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.RepaintSelection(System.Int16)">
            <summary>
            RepaintSelection repaints the selection specified by aType.
            </summary>
            <param name="aType">
            specifies the selection to repaint.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.SetCaretEnabled(System.Boolean)">
            <summary>
            Set the caret as enabled or disabled. An enabled caret will
            draw or blink when made visible. A disabled caret will never show up.
            Can be called any time.
            </summary>
            <param name="aEnable">
            PR_TRUE to enable caret.  PR_FALSE to disable.
            </param>
            <returns>
            always NS_OK
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.SetCaretReadOnly(System.Boolean)">
            <summary>
            Set the caret readonly or not. An readonly caret will
            draw but not blink when made visible.
            </summary>
            <param name="aReadOnly">
            PR_TRUE to enable caret.  PR_FALSE to disable.
            </param>
            <returns>
            always NS_OK
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.GetCaretEnabled">
            <summary>
            Gets the current state of the caret.
            </summary>
            <param name="aEnabled">
            [OUT] set to the current caret state, as set by SetCaretEnabled
            </param>
            <returns>
            if aOutEnabled==null, returns NS_ERROR_INVALID_ARG
            else NS_OK
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.GetCaretVisibleAttribute">
            <summary>
            This is true if the caret is enabled, visible, and currently blinking.
            This is still true when the caret is enabled, visible, but in its &quot;off&quot;
            blink cycle.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.SetCaretVisibilityDuringSelection(System.Boolean)">
            <summary>
            Show the caret even in selections. By default the caret is hidden unless the
            selection is collapsed. Use this function to show the caret even in selections.
            </summary>
            <param name="aVisibility">
            PR_TRUE to show the caret in selections.  PR_FALSE to hide.
            </param>
            <returns>
            always NS_OK
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.CharacterMove(System.Boolean,System.Boolean)">
            <summary>
            CharacterMove will move the selection one character forward/backward in the document.
            this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
            the &quot;point&quot; of selection that is extended is considered the &quot;focus&quot; point.
            or the last point adjusted by the selection.
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
            <param name="aExtend">
            should it collapse the selection of extend it?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.PhysicalMove(System.Int16,System.Int16,System.Boolean)">
            <summary>
            PhysicalMove will move the selection one &quot;unit&quot; in a given direction
            within the document.
            this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
            the &quot;point&quot; of selection that is extended is considered the &quot;focus&quot; point.
            or the last point adjusted by the selection.
            </summary>
            <param name="aDirection">
            
            </param>
            <param name="aAmount">
            character/line; word/lineBoundary
            </param>
            <param name="aExtend">
            should it collapse the selection of extend it?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.CharacterExtendForDelete">
            <summary>
            CharacterExtendForDelete will extend the selection one character cell
            forward in the document.
            this method is used internally for handling del key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.CharacterExtendForBackspace">
            <summary>
            CharacterExtendForBackspace will extend the selection one character cell
            backward in the document.
            this method is used internally for handling backspace key only when we&apos;re
            after UTF-16 surrogates.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.WordMove(System.Boolean,System.Boolean)">
            <summary>
            WordMove will move the selection one word forward/backward in the document.
            this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
            the &quot;point&quot; of selection that is extended is considered the &quot;focus&quot; point.
            or the last point adjusted by the selection.
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
            <param name="aExtend">
            should it collapse the selection of extend it?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.WordExtendForDelete(System.Boolean)">
            <summary>
            wordExtendForDelete will extend the selection one word forward/backward in the document.
            this method is used internally for handling ctrl[option]-backspace and ctrl[option]-del.
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.LineMove(System.Boolean,System.Boolean)">
            <summary>
            LineMove will move the selection one line forward/backward in the document.
            this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
            the &quot;point&quot; of selection that is extended is considered the &quot;focus&quot; point.
            or the last point adjusted by the selection.
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
            <param name="aExtend">
            should it collapse the selection of extend it?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.IntraLineMove(System.Boolean,System.Boolean)">
            <summary>
            IntraLineMove will move the selection to the front of the line or end of the line
            in the document.
            this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
            the &quot;point&quot; of selection that is extended is considered the &quot;focus&quot; point.
            or the last point adjusted by the selection.
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
            <param name="aExtend">
            should it collapse the selection of extend it?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.PageMove(System.Boolean,System.Boolean)">
            <summary>
            PageMove will move the selection one page forward/backward in the document.
            this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
            the &quot;point&quot; of selection that is extended is considered the &quot;focus&quot; point.
            or the last point adjusted by the selection.
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
            <param name="aExtend">
            should it collapse the selection of extend it?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.CompleteScroll(System.Boolean)">
            <summary>
            CompleteScroll will move page view to the top or bottom of the document
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.CompleteMove(System.Boolean,System.Boolean)">
            <summary>
            CompleteMove will move page view to the top or bottom of the document
            this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
            the &quot;point&quot; of selection that is extended is considered the &quot;focus&quot; point.
            or the last point adjusted by the selection.
            </summary>
            <param name="aForward">
            forward or backward if PR_FALSE
            </param>
            <param name="aExtend">
            should it collapse the selection of extend it?
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.ScrollPage(System.Boolean)">
            <summary>
            ScrollPage will scroll the page without affecting the selection.
            </summary>
            <param name="aForward">
            scroll forward or backwards in selection
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.ScrollLine(System.Boolean)">
            <summary>
            ScrollLine will scroll line up or down dependent on the boolean
            </summary>
            <param name="aForward">
            scroll forward or backwards in selection
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.ScrollCharacter(System.Boolean)">
            <summary>
            ScrollCharacter will scroll right or left dependent on the boolean
            </summary>
            <param name="aRight">
            if true will scroll right. if not will scroll left.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.SelectAll">
            <summary>
            SelectAll will select the whole page
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionController.CheckVisibility(Gecko.Interfaces.nsIDOMNode,System.Int16,System.Int16)">
            <summary>
            CheckVisibility will return true if textnode and offsets are actually rendered
            in the current precontext.
            </summary>
            <param name="aNode">
            textNode to test
            </param>
            <param name="aStartOffset">
            offset in dom to first char of textnode to test
            </param>
            <param name="aEndOffset">
            offset in dom to last char of textnode to test
            </param>
            <param name="aReturnBool">
            boolean returned TRUE if visible FALSE if not
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetAnchorNodeAttribute">
            <summary>
            Returns the node in which the selection begins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetAnchorOffsetAttribute">
            <summary>
            The offset within the (text) node where the selection begins.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetFocusNodeAttribute">
            <summary>
            Returns the node in which the selection ends.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetFocusOffsetAttribute">
            <summary>
            The offset within the (text) node where the selection ends.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetIsCollapsedAttribute">
            <summary>
            Indicates if the selection is collapsed or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetRangeCountAttribute">
            <summary>
            Returns the number of ranges in the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetRangeAt(System.Int32)">
            <summary>
            Returns the range at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.Collapse(Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Collapses the selection to a single point, at the specified offset
            in the given DOM node. When the selection is collapsed, and the content
            is focused and editable, the caret will blink there.
            </summary>
            <param name="parentNode">
            The given dom node where the selection will be set
            </param>
            <param name="offset">
            Where in given dom node to place the selection (the offset into the given node)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.Extend(Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Extends the selection by moving the selection end to the specified node and offset,
            preserving the selection begin position. The new selection end result will always
            be from the anchorNode to the new focusNode, regardless of direction.
            </summary>
            <param name="parentNode">
            The node where the selection will be extended to
            </param>
            <param name="offset">
            Where in node to place the offset in the new selection end
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.CollapseToStart">
            <summary>
            Collapses the whole selection to a single point at the start
            of the current selection (irrespective of direction).  If content
            is focused and editable, the caret will blink there.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.CollapseToEnd">
            <summary>
            Collapses the whole selection to a single point at the end
            of the current selection (irrespective of direction).  If content
            is focused and editable, the caret will blink there.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.ContainsNode(Gecko.Interfaces.nsIDOMNode,System.Boolean)">
            <summary>
            Indicates whether the node is part of the selection. If partlyContained
            is set to PR_TRUE, the function returns true when some part of the node
            is part of the selection. If partlyContained is set to PR_FALSE, the
            function only returns true when the entire node is part of the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.SelectAllChildren(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Adds all children of the specified node to the selection.
            </summary>
            <param name="parentNode">
            the parent of the children to be added to the selection.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.AddRange(Gecko.Interfaces.nsIDOMRange)">
            <summary>
            Adds a range to the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.RemoveRange(Gecko.Interfaces.nsIDOMRange)">
            <summary>
            Removes a range from the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.RemoveAllRanges">
            <summary>
            Removes all ranges from the current selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.DeleteFromDocument">
            <summary>
            Deletes this selection from document the nodes belong to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.ToString(Gecko.nsAStringBase)">
            <summary>
            Returns the whole selection into a plain text string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.Modify(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Modifies the selection.  Note that the parameters are case-insensitive.
            </summary>
            <param name="alter">
            can be one of { &quot;move&quot;, &quot;extend&quot; }
            - &quot;move&quot; collapses the selection to the end of the selection and
            applies the movement direction/granularity to the collapsed
            selection.
            - &quot;extend&quot; leaves the start of the selection unchanged, and applies
            movement direction/granularity to the end of the selection.
            </param>
            <param name="direction">
            can be one of { &quot;forward&quot;, &quot;backward&quot;, &quot;left&quot;, &quot;right&quot; }
            </param>
            <param name="granularity">
            can be one of { &quot;character&quot;, &quot;word&quot;,
            &quot;line&quot;, &quot;lineboundary&quot; }
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetTableSelectionType(Gecko.Interfaces.nsIDOMRange)">
            <summary>
            Test if supplied range points to a single table element:
            Result is one of above constants. &quot;None&quot; means
            a table element isn&apos;t selected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.SetTextRangeStyle(Gecko.Interfaces.nsIDOMRange,System.IntPtr)">
            <summary>
            Set the painting style for the range. The range must be a range in
            the selection. The textRangeStyle will be used by text frame
            when it is painting the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetSelectionDirection">
            <summary>
            Get the direction of the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetTypeAttribute">
            <summary>
            Returns the type of the selection (see nsISelectionController for
            available constants).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.GetRangesForInterval(Gecko.Interfaces.nsIDOMNode,System.Int32,Gecko.Interfaces.nsIDOMNode,System.Int32,System.Boolean,System.UInt32@,System.IntPtr@)">
            <summary>
            Return array of ranges intersecting with the given DOM interval.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.ScrollIntoView(System.Int16,System.Boolean,System.Int16,System.Int16)">
            <summary>
            Scrolls a region of the selection, so that it is visible in
            the scrolled view.
            </summary>
            <param name="aRegion">
            - the region inside the selection to scroll into view
            (see selection region constants defined in
            nsISelectionController).
            </param>
            <param name="aIsSynchronous">
            - when true, scrolls the selection into view
            before returning. If false, posts a request which
            is processed at some point after the method returns.
            </param>
            <param name="aVPercent">
            - how to align the frame vertically.
            </param>
            <param name="aHPercent">
            - how to align the frame horizontally.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.ScrollIntoViewInternal(System.Int16,System.Boolean,Gecko.ScrollAxis,Gecko.ScrollAxis)">
            <summary>
            Scrolls a region of the selection, so that it is visible in
            the scrolled view.
            </summary>
            <param name="aRegion">
            - the region inside the selection to scroll into view
            (see selection region constants defined in
            nsISelectionController).
            </param>
            <param name="aIsSynchronous">
            - when true, scrolls the selection into view
            before returning. If false, posts a request which
            is processed at some point after the method returns.
            </param>
            <param name="aVertical">
            - how to align the frame vertically and when.
            See nsIPresShell.h:ScrollAxis for details.
            </param>
            <param name="aHorizontal">
            - how to align the frame horizontally and when.
            See nsIPresShell.h:ScrollAxis for details.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISelectionPrivate.SelectionLanguageChange(System.Boolean)">
            <summary>
            Modifies the cursor Bidi level after a change in keyboard direction
            </summary>
            <param name="langRTL">
            is PR_TRUE if the new language is right-to-left or
            PR_FALSE if the new language is left-to-right.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISemanticUnitScanner">
            <summary>
            Provides a language independent way to break UNICODE
            text into meaningful semantic units (e.g. words).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISemanticUnitScanner.Start(System.String)">
            <summary>
            start()
            
            Starts up the semantic unit scanner with an optional
            character set, which acts as a hint to optimize the heuristics
            used to determine the language(s) of the processed text.
            </summary>
            <param name="characterSet">
            the character set the text was originally
            encoded in (can be NULL)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISemanticUnitScanner.Next(System.String,System.Int32,System.Int32,System.Boolean,System.Int32@,System.Int32@)">
            <summary>
            next()
            Get the begin / end offset of the next unit in the current text
            </summary>
            <param name="text">
            the text to be scanned
            </param>
            <param name="length">
            the number of characters in the text to be processed
            </param>
            <param name="pos">
            the current position
            </param>
            <param name="isLastBuffer,">
            the buffer is the last one
            </param>
            <param name="begin">
            the end offset of the next unit
            </param>
            <returns>
            has more unit in the current text
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISensitiveInfoHiddenURI.GetSensitiveInfoHiddenSpec(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns the spec attribute with sensitive information hidden. This will
            only affect uri with password. The password part of uri will be
            transformed into &quot;****&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISerializationHelper.SerializeToString(Gecko.Interfaces.nsISerializable,Gecko.nsACStringBase)">
            <summary>
            Serialize the object to a base64 string. This string can be later passed
            as an input to deserializeObject method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISerializationHelper.DeserializeObject(Gecko.nsACStringBase)">
            <summary>
            Takes base64 encoded string that cointains serialization of a single
            object. Most commonly, input is result of previous call to
            serializeToString.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIServerSocket">
            <summary>
            nsIServerSocket
            
            An interface to a server socket that can accept incoming connections.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.Init(System.Int32,System.Boolean,System.Int32)">
            <summary>
            init
            
            This method initializes a server socket.
            </summary>
            <param name="aPort">
            The port of the server socket.  Pass -1 to indicate no preference,
            and a port will be selected automatically.
            </param>
            <param name="aLoopbackOnly">
            If true, the server socket will only respond to connections on the
            local loopback interface.  Otherwise, it will accept connections
            from any interface.  To specify a particular network interface,
            use initWithAddress.
            </param>
            <param name="aBackLog">
            The maximum length the queue of pending connections may grow to.
            This parameter may be silently limited by the operating system.
            Pass -1 to use the default value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.InitSpecialConnection(System.Int32,System.UInt32,System.Int32)">
            <summary>
            initSpecialConnection
            
            This method initializes a server socket and offers the ability to have
            that socket not get terminated if Gecko is set offline.
            </summary>
            <param name="aPort">
            The port of the server socket.  Pass -1 to indicate no preference,
            and a port will be selected automatically.
            </param>
            <param name="aFlags">
            Flags for the socket.
            </param>
            <param name="aBackLog">
            The maximum length the queue of pending connections may grow to.
            This parameter may be silently limited by the operating system.
            Pass -1 to use the default value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.InitWithAddress(System.IntPtr,System.Int32)">
            <summary>
            initWithAddress
            
            This method initializes a server socket, and binds it to a particular
            local address (and hence a particular local network interface).
            </summary>
            <param name="aAddr">
            The address to which this server socket should be bound.
            </param>
            <param name="aBackLog">
            The maximum length the queue of pending connections may grow to.
            This parameter may be silently limited by the operating system.
            Pass -1 to use the default value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.InitWithFilename(Gecko.Interfaces.nsIFile,System.UInt32,System.Int32)">
            <summary>
            initWithFilename
            
            This method initializes a Unix domain or &quot;local&quot; server socket. Such
            a socket has a name in the filesystem, like an ordinary file. To
            connect, a client supplies the socket&apos;s filename, and the usual
            permission checks on socket apply.
            
            This makes Unix domain sockets useful for communication between the
            programs being run by a specific user on a single machine: the
            operating system takes care of authentication, and the user&apos;s home
            directory or profile directory provide natural per-user rendezvous
            points.
            
            Since Unix domain sockets are always local to the machine, they are
            not affected by the nsIIOService&apos;s &apos;offline&apos; flag.
            
            The system-level socket API may impose restrictions on the length of
            the filename that are stricter than those of the underlying
            filesystem. If the file name is too long, this returns
            NS_ERROR_FILE_NAME_TOO_LONG.
            
            All components of the path prefix of |aPath| must name directories;
            otherwise, this returns NS_ERROR_FILE_NOT_DIRECTORY.
            
            This call requires execute permission on all directories containing
            the one in which the socket is to be created, and write and execute
            permission on the directory itself. Otherwise, this returns
            NS_ERROR_CONNECTION_REFUSED.
            
            This call creates the socket&apos;s directory entry. There must not be
            any existing entry with the given name. If there is, this returns
            NS_ERROR_SOCKET_ADDRESS_IN_USE.
            
            On systems that don&apos;t support Unix domain sockets at all, this
            returns NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED.
            </summary>
            <param name="aPath">
            nsIFile
            The file name at which the socket should be created.
            </param>
            <param name="aPermissions">
            unsigned long
            Unix-style permission bits to be applied to the new socket.
            
            Note about permissions: Linux&apos;s unix(7) man page claims that some
            BSD-derived systems ignore permissions on UNIX-domain sockets;
            NetBSD&apos;s bind(2) man page agrees, but says it does check now (dated
            2005). POSIX has required &apos;connect&apos; to fail if write permission on
            the socket itself is not granted since 2003 (Issue 6). NetBSD says
            that the permissions on the containing directory (execute) have
            always applied, so creating sockets in appropriately protected
            directories should be secure on both old and new systems.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.Close">
            <summary>
            close
            
            This method closes a server socket.  This does not affect already
            connected client sockets (i.e., the nsISocketTransport instances
            created from this server socket).  This will cause the onStopListening
            event to asynchronously fire with a status of NS_BINDING_ABORTED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.AsyncListen(Gecko.Interfaces.nsIServerSocketListener)">
            <summary>
            asyncListen
            
            This method puts the server socket in the listening state.  It will
            asynchronously listen for and accept client connections.  The listener
            will be notified once for each client connection that is accepted.  The
            listener&apos;s onSocketAccepted method will be called on the same thread
            that called asyncListen (the calling thread must have a nsIEventTarget).
            
            The listener will be passed a reference to an already connected socket
            transport (nsISocketTransport).  See below for more details.
            </summary>
            <param name="aListener">
            The listener to be notified when client connections are accepted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.GetPortAttribute">
            <summary>
            Returns the port of this server socket.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocket.GetAddress">
            <summary>
            Returns the address to which this server socket is bound.  Since a
            server socket may be bound to multiple network devices, this address
            may not necessarily be specific to a single network device.  In the
            case of an IP socket, the IP address field would be zerod out to
            indicate a server socket bound to all network devices.  Therefore,
            this method cannot be used to determine the IP address of the local
            system.  See nsIDNSService::myHostName if this is what you need.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIServerSocketListener">
            <summary>
            nsIServerSocketListener
            
            This interface is notified whenever a server socket accepts a new connection.
            The transport is in the connected state, and read/write streams can be opened
            using the normal nsITransport API.  The address of the client can be found by
            calling the nsISocketTransport::GetAddress method or by inspecting
            nsISocketTransport::GetHost, which returns a string representation of the
            client&apos;s IP address (NOTE: this may be an IPv4 or IPv6 string literal).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocketListener.OnSocketAccepted(Gecko.Interfaces.nsIServerSocket,Gecko.Interfaces.nsISocketTransport)">
            <summary>
            onSocketAccepted
            
            This method is called when a client connection is accepted.
            </summary>
            <param name="aServ">
            The server socket.
            </param>
            <param name="aTransport">
            The connected socket transport.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIServerSocketListener.OnStopListening(Gecko.Interfaces.nsIServerSocket,System.Int32)">
            <summary>
            onStopListening
            
            This method is called when the listening socket stops for some reason.
            The server socket is effectively dead after this notification.
            </summary>
            <param name="aServ">
            The server socket.
            </param>
            <param name="aStatus">
            The reason why the server socket stopped listening.  If the
            server socket was manually closed, then this value will be
            NS_BINDING_ABORTED.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIServiceManager">
            <summary>
            The nsIServiceManager manager interface provides a means to obtain
            global services in an application. The service manager depends on the
            repository to find and instantiate factories to obtain services.
            
            Users of the service manager must first obtain a pointer to the global
            service manager by calling NS_GetServiceManager. After that,
            they can request specific services by calling GetService. When they are
            finished they can NS_RELEASE() the service as usual.
            
            A user of a service may keep references to particular services indefinitely
            and only must call Release when it shuts down.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServiceManager.GetService(System.Guid@,System.Guid@)">
            <summary>
            getServiceByContractID
            
            Returns the instance that implements aClass or aContractID and the
            interface aIID.  This may result in the instance being created.
            </summary>
            <param name="aClass">
            or aContractID : aClass or aContractID of object
            instance requested
            </param>
            <param name="aIID">
            : IID of interface requested
            </param>
            <param name="result">
            : resulting service
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIServiceManager.IsServiceInstantiated(System.Guid@,System.Guid@)">
            <summary>
            isServiceInstantiated
            
            isServiceInstantiated will return a true if the service has already
            been created, or throw otherwise
            </summary>
            <param name="aClass">
            or aContractID : aClass or aContractID of object
            instance requested
            </param>
            <param name="aIID">
            : IID of interface requested
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_SERVICE_NOT_AVAILABLE: if the service hasn't been
            instantiated
            NS_NOINTERFACE: if the IID given isn't supported by the object
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIServiceWorkerManager.Register(Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI)">
            <summary>
            Registers a ServiceWorker with script loaded from `aScriptURI` to act as
            the ServiceWorker for aScope.  Requires a valid entry settings object on
            the stack. This means you must call this from content code &apos;within&apos;
            a window.
            
            Returns a Promise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServiceWorkerManager.Unregister(Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIServiceWorkerUnregisterCallback,Gecko.nsAStringBase)">
            <summary>
            Unregister an existing ServiceWorker registration for `aScope`.
            It keeps aCallback alive until the operation is concluded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServiceWorkerManager.MaybeStartControlling(System.IntPtr,Gecko.nsAStringBase)">
            <summary>
            Call this to request that document `aDoc` be controlled by a ServiceWorker
            if a registration exists for it&apos;s scope.
            
            This MUST only be called once per document!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIServiceWorkerManager.MaybeStopControlling(System.IntPtr)">
            <summary>
            Documents that have called MaybeStartControlling() should call this when
            they are destroyed. This function may be called multiple times, and is
            idempotent.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISessionStartup">
            <summary>
            nsISessionStore keeps track of the current browsing state - i.e.
            tab history, cookies, scroll state, form data, and window features
            - and allows to restore everything into one window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStartup.GetOnceInitializedAttribute">
            <summary>
            Return a promise that is resolved once initialization
            is complete.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStartup.DoRestore">
            <summary>
            Determines whether there is a pending session restore. Should only be
            called after initialization has completed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStartup.IsAutomaticRestoreEnabled">
            <summary>
            Determines whether automatic session restoration is enabled for this
            launch of the browser. This does not include crash restoration, and will
            return false if restoration will only be caused by a crash.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStartup.GetWillOverrideHomepageAttribute">
            <summary>
            Returns whether we will restore a session that ends up replacing the
            homepage. The browser uses this to not start loading the homepage if
            we&apos;re going to stop its load anyway shortly after.
            
            This is meant to be an optimization for the average case that loading the
            session file finishes before we may want to start loading the default
            homepage. Should this be called before the session file has been read it
            will just return false.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISessionStore">
            <summary>
            nsISessionStore keeps track of the current browsing state - i.e.
            tab history, cookies, scroll state, form data, and window features
            - and allows to restore everything into one browser window.
            
            The nsISessionStore API operates mostly on browser windows and the tabbrowser
            tabs contained in them:
            
            &quot;Browser windows&quot; are those DOM windows having loaded
            chrome://browser/content/browser.xul . From overlays you can just pass the
            global |window| object to the API, though (or |top| from a sidebar).
            From elsewhere you can get browser windows through the nsIWindowMediator
            by looking for &quot;navigator:browser&quot; windows.
            
            &quot;Tabbrowser tabs&quot; are all the child nodes of a browser window&apos;s
            |gBrowser.tabContainer| such as e.g. |gBrowser.selectedTab|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetCanRestoreLastSessionAttribute">
            <summary>
            Is it possible to restore the previous session. Will always be false when
            in Private Browsing mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.RestoreLastSession">
            <summary>
            Restore the previous session if possible. This will not overwrite the
            current session. Instead the previous session will be merged into the
            current session. Current windows will be reused if they were windows that
            pinned tabs were previously restored into. New windows will be opened as
            needed.
            
            Note: This will throw if there is no previous state to restore. Check with
            canRestoreLastSession first to avoid thrown errors.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetBrowserState(Gecko.nsAStringBase)">
            <summary>
            Get the current browsing state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.SetBrowserState(Gecko.nsAStringBase)">
            <summary>
            Set the browsing state.
            This will immediately restore the state of the whole application to the state
            passed in, *replacing* the current session.
            </summary>
            <param name="aState">
            is a JSON string representing the session state.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetWindowState(Gecko.Interfaces.nsIDOMWindow,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aWindow">
            is the browser window whose state is to be returned.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.SetWindowState(Gecko.Interfaces.nsIDOMWindow,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            
            </summary>
            <param name="aWindow">
            is the browser window whose state is to be set.
            </param>
            <param name="aState">
            is a JSON string representing a session state.
            </param>
            <param name="aOverwrite">
            boolean overwrite existing tabs
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetTabState(Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aTab">
            is the tabbrowser tab whose state is to be returned.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.SetTabState(Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aTab">
            is the tabbrowser tab whose state is to be set.
            </param>
            <param name="aState">
            is a JSON string representing a session state.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.DuplicateTab(Gecko.Interfaces.nsIDOMWindow,Gecko.Interfaces.nsIDOMNode,System.Int32)">
            <summary>
            Duplicates a given tab as thoroughly as possible.
            </summary>
            <param name="aWindow">
            is the browser window into which the tab will be duplicated.
            </param>
            <param name="aTab">
            is the tabbrowser tab to duplicate (can be from a different window).
            </param>
            <param name="aDelta">
            is the offset to the history entry to load in the duplicated tab.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetClosedTabCount(Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            Get the number of restore-able tabs for a browser window
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetClosedTabData(Gecko.Interfaces.nsIDOMWindow,Gecko.nsAStringBase)">
            <summary>
            Get closed tab data
            </summary>
            <param name="aWindow">
            is the browser window for which to get closed tab data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.UndoCloseTab(Gecko.Interfaces.nsIDOMWindow,System.UInt32)">
            <summary>
            
            </summary>
            <param name="aWindow">
            is the browser window to reopen a closed tab in.
            </param>
            <param name="aIndex">
            is the index of the tab to be restored (FIFO ordered).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.ForgetClosedTab(Gecko.Interfaces.nsIDOMWindow,System.UInt32)">
            <summary>
            
            </summary>
            <param name="aWindow">
            is the browser window associated with the closed tab.
            </param>
            <param name="aIndex">
            is the index of the closed tab to be removed (FIFO ordered).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetClosedWindowCount">
            <summary>
            Get the number of restore-able windows
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetClosedWindowData(Gecko.nsAStringBase)">
            <summary>
            Get closed windows data
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.UndoCloseWindow(System.UInt32)">
            <summary>
            
            </summary>
            <param name="aIndex">
            is the index of the windows to be restored (FIFO ordered).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.ForgetClosedWindow(System.UInt32)">
            <summary>
            
            </summary>
            <param name="aIndex">
            is the index of the closed window to be removed (FIFO ordered).
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: when aIndex does not map to a closed window
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetWindowValue(Gecko.Interfaces.nsIDOMWindow,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aWindow">
            is the window to get the value for.
            </param>
            <param name="aKey">
            is the value&apos;s name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.SetWindowValue(Gecko.Interfaces.nsIDOMWindow,Gecko.nsAStringBase,SpiderMonkey.JSVal@)">
            <summary>
            
            </summary>
            <param name="aWindow">
            is the browser window to set the value for.
            </param>
            <param name="aKey">
            is the value&apos;s name.
            </param>
            <param name="aStringValue">
            is the value itself (use JSON.stringify/parse before setting JS objects).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.DeleteWindowValue(Gecko.Interfaces.nsIDOMWindow,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aWindow">
            is the browser window to get the value for.
            </param>
            <param name="aKey">
            is the value&apos;s name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetTabValue(Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aTab">
            is the tabbrowser tab to get the value for.
            </param>
            <param name="aKey">
            is the value&apos;s name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.SetTabValue(Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase,SpiderMonkey.JSVal@)">
            <summary>
            
            </summary>
            <param name="aTab">
            is the tabbrowser tab to set the value for.
            </param>
            <param name="aKey">
            is the value&apos;s name.
            </param>
            <param name="aStringValue">
            is the value itself (use JSON.stringify/parse before setting JS objects).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.DeleteTabValue(Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aTab">
            is the tabbrowser tab to get the value for.
            </param>
            <param name="aKey">
            is the value&apos;s name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.GetGlobalValue(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aKey">
            is the value&apos;s name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.SetGlobalValue(Gecko.nsAStringBase,SpiderMonkey.JSVal@)">
            <summary>
            
            </summary>
            <param name="aKey">
            is the value&apos;s name.
            </param>
            <param name="aStringValue">
            is the value itself (use JSON.stringify/parse before setting JS objects).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.DeleteGlobalValue(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aTab">
            is the browser tab to get the value for.
            </param>
            <param name="aKey">
            is the value&apos;s name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISessionStore.PersistTabAttribute(Gecko.nsAStringBase)">
            <summary>
            
            </summary>
            <param name="aName">
            is the name of the attribute to save/restore for all tabbrowser tabs.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISHContainer">
            <summary>
            The nsISHEntryContainer. The interface to access child entries
            of an nsISHEntry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHContainer.GetChildCountAttribute">
            <summary>
            The current number of nsISHEntries which are immediate children of the
            current SHEntry
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHContainer.AddChild(Gecko.Interfaces.nsISHEntry,System.Int32)">
            <summary>
            Add a new child SHEntry.  If offset is -1 adds to the end of the list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHContainer.RemoveChild(Gecko.Interfaces.nsISHEntry)">
            <summary>
            Removes a child SHEntry
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHContainer.GetChildAt(System.Int32)">
            <summary>
            Get child at an index
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHContainer.ReplaceChild(Gecko.Interfaces.nsISHEntry)">
            <summary>
            Replaces a child which is for the same docshell as aNewChild
            with aNewChild.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIShellService.IsDefaultBrowser(System.Boolean,System.Boolean)">
            <summary>
            Determines whether or not Firefox is the &quot;Default Browser.&quot;
            This is simply whether or not Firefox is registered to handle
            http links.
            </summary>
            <param name="aStartupCheck">
            true if this is the check being performed
            by the first browser window at startup,
            false otherwise.
            </param>
            <param name="aForAllTypes">
            true if the check should be made for HTTP and HTML.
            false if the check should be made for HTTP only.
            This parameter may be ignored on some platforms.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIShellService.SetDefaultBrowser(System.Boolean,System.Boolean)">
            <summary>
            Registers Firefox as the &quot;Default Browser.&quot;
            </summary>
            <param name="aClaimAllTypes">
            Register Firefox as the handler for
            additional protocols (ftp, chrome etc)
            and web documents (.html, .xhtml etc).
            </param>
            <param name="aForAllUsers">
            Whether or not Firefox should attempt
            to become the default browser for all
            users on a multi-user system.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIShellService.SetDesktopBackground(Gecko.Interfaces.nsIDOMElement,System.Int32)">
            <summary>
            Sets the desktop background image using either the HTML &lt;IMG&gt;
            element supplied or the background image of the element supplied.
            </summary>
            <param name="aImageElement">
            Either a HTML &lt;IMG&gt; element or an element with
            a background image from which to source the
            background image.
            </param>
            <param name="aPosition">
            How to place the image on the desktop
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIShellService.OpenApplication(System.Int32)">
            <summary>
            Opens the application specified. If more than one application of the
            given type is available on the system, the default or &quot;preferred&quot;
            application is used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIShellService.GetDesktopBackgroundColorAttribute">
            <summary>
            The desktop background color, visible when no background image is
            used, or if the background image is centered and does not fill the
            entire screen. A rgb value, where (r &lt;&lt; 16 | g &lt;&lt; 8 | b)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIShellService.OpenApplicationWithURI(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            Opens an application with a specific URI to load.
            </summary>
            <param name="application">
            The application file (or bundle directory, on OS X)
            </param>
            <param name="uri">
            The uri to be loaded by the application
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIShellService.GetDefaultFeedReaderAttribute">
            <summary>
            The default system handler for web feeds
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetURIAttribute">
            <summary>
            A readonly property that returns the URI
            of the current entry. The object returned is
            of type nsIURI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetOriginalURIAttribute">
            <summary>
            A readonly property that returns the original URI of the current entry.
            If an entry is the result of a redirect this attribute holds original
            URI. The object returned is of type nsIURI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetLoadReplaceAttribute">
            <summary>
            This flag remembers whether channel has LOAD_REPLACE set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetTitleAttribute">
            <summary>
            A readonly property that returns the title
            of the current entry.  The object returned
            is a encoded string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetIsSubFrameAttribute">
            <summary>
            A readonly property that returns a boolean
            flag which indicates if the entry was created as a
            result of a subframe navigation. This flag will be
            &apos;false&apos; when a frameset page is visited for
            the first time. This flag will be &apos;true&apos; for all
            history entries created as a result of a subframe
            navigation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.SetURI(Gecko.Interfaces.nsIURI)">
            <summary>
            URI for the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetReferrerURIAttribute">
            <summary>
            Referrer URI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetReferrerPolicyAttribute">
            <summary>
            Referrer policy, holding one of the values (REFERRER_POLICY_*)
            defined in nsIHttpChannel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetContentViewerAttribute">
            <summary>
            Content viewer, for fast restoration of presentation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetStickyAttribute">
            <summary>
            Whether the content viewer is marked &quot;sticky&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetWindowStateAttribute">
            <summary>
            Saved state of the global window object
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetViewerBounds(System.IntPtr)">
            <summary>
            Saved position and dimensions of the content viewer; we must adjust the
            root view&apos;s widget accordingly if this has changed when the presentation
            is restored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.AddChildShell(Gecko.Interfaces.nsIDocShellTreeItem)">
            <summary>
            Append a child shell to the end of our list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.ChildShellAt(System.Int32)">
            <summary>
            Get the child shell at |index|; returns null if |index| is out of bounds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.ClearChildShells">
            <summary>
            Clear the child shell list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetRefreshURIListAttribute">
            <summary>
            Saved refresh URI list for the content viewer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.SyncPresentationState">
            <summary>
            Ensure that the cached presentation members are self-consistent.
            If either |contentViewer| or |windowState| are null, then all of the
            following members are cleared/reset:
            contentViewer, sticky, windowState, viewerBounds, childShells,
            refreshURIList.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.SetTitle(Gecko.nsAStringBase)">
            <summary>
            Title for the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetPostDataAttribute">
            <summary>
            Post Data for the document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetLayoutHistoryStateAttribute">
            <summary>
            LayoutHistoryState for scroll position and form values
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetParentAttribute">
            <summary>
            parent of this entry
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetLoadTypeAttribute">
            <summary>
            The loadType for this entry. This is typically loadHistory except
            when reload is pressed, it has the appropriate reload flag
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetIDAttribute">
            <summary>
            An ID to help identify this entry from others during
            subframe navigation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetCacheKeyAttribute">
            <summary>
            attribute to set and get the cache key for the entry
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetSaveLayoutStateFlagAttribute">
            <summary>
            attribute to indicate whether layoutHistoryState should be saved
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetExpirationStatusAttribute">
            <summary>
            attribute to indicate whether the page is already expired in cache
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetContentTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            attribute to indicate the content-type of the document that this
            is a session history entry for
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetURIWasModifiedAttribute">
            <summary>
            If we created this SHEntry via history.pushState or modified it via
            history.replaceState, and if we changed the SHEntry&apos;s URI via the
            push/replaceState call, and if the SHEntry&apos;s new URI differs from its
            old URI by more than just the hash, then we set this field to true.
            
            Additionally, if this SHEntry was created by calling pushState from a
            SHEntry whose URI was modified, this SHEntry&apos;s URIWasModified field is
            true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.SetScrollPosition(System.Int32,System.Int32)">
            <summary>
            Set/Get scrollers&apos; positon in anchored pages
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.Create(Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,Gecko.Interfaces.nsIInputStream,System.IntPtr,Gecko.Interfaces.nsISupports,Gecko.nsACStringBase,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt64,System.Boolean)">
            <summary>
            Additional ways to create an entry
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.SetIsSubFrame(System.Boolean)">
            <summary>
            Attribute that indicates if this entry is for a subframe navigation
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetAnyContentViewer(Gecko.Interfaces.nsISHEntry@)">
            <summary>
            Return any content viewer present in or below this node in the
            nsSHEntry tree.  This will differ from contentViewer in the case
            where a child nsSHEntry has the content viewer for this tree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetTriggeringPrincipalAttribute">
            <summary>
            Get the principal, if any, that was associated with the channel
            that the document that was loaded to create this history entry
            came from.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetPrincipalToInheritAttribute">
            <summary>
            Get the principal, if any, that is used when the inherit flag
            is set.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetStateDataAttribute">
            <summary>
            Get/set data associated with this history state via a pushState() call,
            serialized using structured clone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.ForgetEditorData">
            <summary>
            Gets the owning pointer to the editor data assosicated with
            this shistory entry. This forgets its pointer, so free it when
            you&apos;re done.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.SetEditorData(System.IntPtr)">
            <summary>
            Sets the owning pointer to the editor data assosicated with
            this shistory entry. Unless forgetEditorData() is called, this
            shentry will destroy the editor data when it&apos;s destroyed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.HasDetachedEditor">
            <summary>
            Returns true if this shistory entry is storing a detached editor.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.IsDynamicallyAdded">
            <summary>
            Returns true if the related docshell was added because of
            dynamic addition of an iframe/frame.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.HasDynamicallyAddedChild">
            <summary>
            Returns true if any of the child entries returns true
            when isDynamicallyAdded is called on it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetDocshellIDAttribute">
            <summary>
            The history ID of the docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.HasBFCacheEntry(Gecko.Interfaces.nsIBFCacheEntry)">
            <summary>
            Does this SHEntry point to the given BFCache entry?  If so, evicting
            the BFCache entry will evict the SHEntry, since the two entries
            correspond to the same document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.AdoptBFCacheEntry(Gecko.Interfaces.nsISHEntry)">
            <summary>
            Adopt aEntry&apos;s BFCacheEntry, so now both this and aEntry point to
            aEntry&apos;s BFCacheEntry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.AbandonBFCacheEntry">
            <summary>
            Create a new BFCache entry and drop our reference to our old one.  This
            call unlinks this SHEntry from any other SHEntries for its document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.SharesDocumentWith(Gecko.Interfaces.nsISHEntry)">
            <summary>
            Does this SHEntry correspond to the same document as aEntry?  This is
            true iff the two SHEntries have the same BFCacheEntry.  So in
            particular, sharesDocumentWith(aEntry) is guaranteed to return true if
            it&apos;s preceeded by a call to adoptBFCacheEntry(aEntry).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetIsSrcdocEntryAttribute">
            <summary>
            True if this SHEntry corresponds to a document created by a srcdoc iframe.
            Set when a value is assigned to  srcdocData.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetSrcdocDataAttribute(Gecko.nsAStringBase)">
            <summary>
            Contents of the srcdoc attribute in a srcdoc iframe to be loaded instead
            of the URI.  Similar to a Data URI, this information is needed to
            recreate the document at a later stage.
            Setting this sets isSrcdocEntry to true
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetBaseURIAttribute">
            <summary>
            When isSrcdocEntry is true, this contains the baseURI of the srcdoc
            document for use in situations where it cannot otherwise be determined,
            for example with view-source.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntry.GetScrollRestorationIsManualAttribute">
            <summary>
            Sets/gets the current scroll restoration state,
            if true == &quot;manual&quot;, false == &quot;auto&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntryInternal.GetLastTouchedAttribute">
            <summary>
            A number that is assigned by the sHistory when the entry is activated
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHEntryInternal.GetSharedState">
            <summary>
            Some state, particularly that related to the back/forward cache, is
            shared between SHEntries which correspond to the same document.  This
            method gets a pointer to that shared state.
            
            This shared state is the SHEntry&apos;s BFCacheEntry.  So
            hasBFCacheEntry(getSharedState()) is guaranteed to return true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetIsPartialAttribute">
            <summary>
            An attribute denoting whether the nsISHistory is associated to a grouped
            session history.
            
            The abstraction of grouped session history is implemented at
            nsIWebNavigation level, so those canGoBack / canGoForward / gotoIndex
            functions work transparently;
            
            On the other hand, nsISHistory works on partial session history directly.
            Unless otherwise specified, count / index attributes and parameters all
            indicate local count / index, so we won&apos;t mess up docshell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetCountAttribute">
            <summary>
            A readonly property of the interface that returns
            the number of toplevel documents currently available
            in session history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetGlobalCountAttribute">
            <summary>
            If isPartial, globalCount denotes the total number of entries in the
            grouped session history; Otherwise it has the same value as count.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetGlobalIndexOffsetAttribute">
            <summary>
            A readonly property which represents the difference between global indices
            of grouped session history and local indices of this particular session
            history object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetIndexAttribute">
            <summary>
            A readonly property of the interface that returns
            the index of the current document in session history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetRequestedIndexAttribute">
            <summary>
            A readonly property of the interface that returns
            the index of the last document that started to load and
            didn&apos;t finished yet. When document finishes the loading
            value -1 is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetMaxLengthAttribute">
            <summary>
            A read/write property of the interface, used to Get/Set
            the maximum number of toplevel documents, session history
            can hold for each instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetEntryAtIndex(System.Int32,System.Boolean)">
            <summary>
            Called to obtain handle to the history entry at a
            given index.
            </summary>
            <param name="index">
            The index value whose entry is requested.
            The oldest entry is located at index == 0.
            </param>
            <param name="modifyIndex">
            A boolean flag that indicates if the current
            index of session history should be modified
            to the parameter index.
            </param>
            <returns>
            &lt;code&gt;NS_OK&lt;/code&gt; history entry for
            the index is obtained successfully.
            &lt;code&gt;NS_ERROR_FAILURE&lt;/code&gt; Error in obtaining
            history entry for the given index.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.PurgeHistory(System.Int32)">
            <summary>
            Called to purge older documents from history.
            Documents can be removed from session history for various
            reasons. For example to  control memory usage of the browser, to
            prevent users from loading documents from history, to erase evidence of
            prior page loads etc...
            </summary>
            <param name="numEntries">
            The number of toplevel documents to be
            purged from history. During purge operation,
            the latest documents are maintained and older
            'numEntries' documents are removed from history.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            &lt;code&gt;NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA&lt;/code&gt;: Purge was vetod.
            &lt;code&gt;NS_ERROR_FAILURE&lt;/code&gt;: numEntries is
            invalid or out of bounds with the size of history.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.AddSHistoryListener(Gecko.Interfaces.nsISHistoryListener)">
            <summary>
            Called to register a listener for the session history component.
            Listeners are notified when pages are loaded or purged from history.
            </summary>
            <param name="aListener">
            Listener object to be notified for all
            page loads that initiate in session history.
            </param>
            <remarks>
            See nsSupportsWeakReference
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.RemoveSHistoryListener(Gecko.Interfaces.nsISHistoryListener)">
            <summary>
            Called to remove a listener for the session history component.
            Listeners are notified when pages are loaded from history.
            </summary>
            <param name="aListener">
            Listener object to be removed from
            session history.
            </param>
            <remarks>
            See nsSupportsWeakReference
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.SetPartialSHistoryListener(Gecko.Interfaces.nsIPartialSHistoryListener)">
            <summary>
            Set the listener to handle cross nsISHistory navigation when it works
            in &quot;partial&quot; mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetSHistoryEnumeratorAttribute">
            <summary>
            Called to obtain a enumerator for all the  documents stored in
            session history. The enumerator object thus returned by this method
            can be traversed using nsISimpleEnumerator.
            </summary>
            <remarks>
            See do_QueryInterface()
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.GetIndexOfEntry(Gecko.Interfaces.nsISHEntry)">
            <summary>
            Called to obtain the index to a given history entry.
            </summary>
            <param name="aEntry">
            The entry to obtain the index of.
            </param>
            <returns>
            &lt;code&gt;NS_OK&lt;/code&gt; index for the history entry
            is obtained successfully.
            &lt;code&gt;NS_ERROR_FAILURE&lt;/code&gt; Error in obtaining
            index for the given history entry.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.OnPartialSessionHistoryActive(System.Int32,System.Int32)">
            <summary>
            Called when this nsISHistory has became the active history of a grouped
            session history.
            </summary>
            <param name="globalLength">
            The up to date number of entries in the grouped
            session history.
            </param>
            <param name="targetIndex">
            The local index to navigate to.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.OnPartialSessionHistoryDeactive">
            <summary>
            Called when this nsISHistory has became inactive history of a grouped
            session history.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistory.OnAttachGroupedSessionHistory(System.Int32)">
            <summary>
            Called when it&apos;s attached to a nsIGroupedSHistory instance.
            </summary>
            <param name="offset">
            The number of entries in the grouped session
            history before this session history object.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.AddEntry(Gecko.Interfaces.nsISHEntry,System.Boolean)">
            <summary>
            Add a new Entry to the History List
            </summary>
            <param name="aEntry">
            - The entry to add
            </param>
            <param name="aPersist">
            - If true this specifies that the entry should persist
            in the list.  If false, this means that when new entries are added
            this element will not appear in the session history list.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.GetRootTransactionAttribute">
            <summary>
            Get the root transaction
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.SetRootDocShell(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Sets the toplevel docshell object to which this SHistory object belongs to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.UpdateIndex">
            <summary>
            Update the index maintained by sessionHistory
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.ReplaceEntry(System.Int32,Gecko.Interfaces.nsISHEntry)">
            <summary>
            Replace the nsISHEntry at a particular index
            </summary>
            <param name="aIndex">
            - The index at which the entry should be replaced
            </param>
            <param name="aReplaceEntry">
            - The replacement entry for the index.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.NotifyOnHistoryReload(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Notifies all registered session history listeners about an impending
            reload.
            </summary>
            <param name="aReloadURI">
            The URI of the document to be reloaded.
            </param>
            <param name="aReloadFlags">
            Flags that indicate how the document is to be
            refreshed. See constants on the nsIWebNavigation
            interface.
            </param>
            <returns>
            Whether the operation can proceed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.EvictOutOfRangeContentViewers(System.Int32)">
            <summary>
            Evict content viewers which don&apos;t lie in the &quot;safe&quot; range around aIndex.
            In practice, this should leave us with no more than gHistoryMaxViewers
            viewers associated with this SHistory object.
            
            Also make sure that the total number of content viewers in all windows is
            not greater than our global max; if it is, evict viewers as appropriate.
            </summary>
            <param name="aIndex">
            - The index around which the &quot;safe&quot; range is centered.  In
            general, if you just navigated the history, aIndex should be the index
            history was navigated to.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.EvictExpiredContentViewerForEntry(Gecko.Interfaces.nsIBFCacheEntry)">
            <summary>
            Evict the content viewer associated with a bfcache entry
            that has timed out.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.EvictAllContentViewers">
            <summary>
            Evict all the content viewers in this session history
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryInternal.RemoveEntries(System.IntPtr,System.Int32)">
            <summary>
            Removes entries from the history if their docshellID is in
            aIDs array.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISHistoryListener">
            <summary>
            nsISHistoryListener defines the interface one can implement to receive
            notifications about activities in session history and to be able to
            cancel them.
            
            A session history listener will be notified when pages are added, removed
            and loaded from session history. It can prevent any action (except adding
            a new session history entry) from happening by returning false from the
            corresponding callback method.
            
            A session history listener can be registered on a particular nsISHistory
            instance via the nsISHistory::addSHistoryListener() method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnHistoryNewEntry(Gecko.Interfaces.nsIURI,System.Int32)">
            <summary>
            Called when a new document is added to session history. New documents are
            added to session history by docshell when new pages are loaded in a frame
            or content area, for example via nsIWebNavigation::loadURI()
            </summary>
            <param name="aNewURI">
            The URI of the document to be added to session history.
            </param>
            <param name="aOldIndex">
            The index of the current history item before the operation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnHistoryGoBack(Gecko.Interfaces.nsIURI)">
            <summary>
            Called when navigating to a previous session history entry, for example
            due to a nsIWebNavigation::goBack() call.
            </summary>
            <param name="aBackURI">
            The URI of the session history entry being navigated to.
            </param>
            <returns>
            Whether the operation can proceed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnHistoryGoForward(Gecko.Interfaces.nsIURI)">
            <summary>
            Called when navigating to a next session history entry, for example
            due to a nsIWebNavigation::goForward() call.
            </summary>
            <param name="aForwardURI">
            The URI of the session history entry being navigated to.
            </param>
            <returns>
            Whether the operation can proceed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnHistoryReload(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Called when the current document is reloaded, for example due to a
            nsIWebNavigation::reload() call.
            </summary>
            <param name="aReloadURI">
            The URI of the document to be reloaded.
            </param>
            <param name="aReloadFlags">
            Flags that indicate how the document is to be
            refreshed. See constants on the nsIWebNavigation
            interface.
            </param>
            <returns>
            Whether the operation can proceed.
            </returns>
            <remarks>
            See nsIWebNavigation
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnHistoryGotoIndex(System.Int32,Gecko.Interfaces.nsIURI)">
            <summary>
            Called when navigating to a session history entry by index, for example,
            when nsIWebNavigation::gotoIndex() is called.
            </summary>
            <param name="aIndex">
            The index in session history of the entry to be loaded.
            </param>
            <param name="aGotoURI">
            The URI of the session history entry to be loaded.
            </param>
            <returns>
            Whether the operation can proceed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnHistoryPurge(System.Int32)">
            <summary>
            Called when entries are removed from session history. Entries can be
            removed from session history for various reasons, for example to control
            the memory usage of the browser, to prevent users from loading documents
            from history, to erase evidence of prior page loads, etc.
            
            To purge documents from session history call nsISHistory::PurgeHistory()
            </summary>
            <param name="aNumEntries">
            The number of entries to be removed from session history.
            </param>
            <returns>
            Whether the operation can proceed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnHistoryReplaceEntry(System.Int32)">
            <summary>
            Called when an entry is replaced in the session history. Entries are
            replaced when navigating away from non-persistent history entries (such as
            about pages) and when history.replaceState is called.
            </summary>
            <param name="aIndex">
            The index in session history of the entry being
            replaced
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISHistoryListener.OnLengthChange(System.Int32)">
            <summary>
            Called when nsISHistory::count has been updated. Unlike OnHistoryNewEntry
            and OnHistoryPurge which happen before the modifications are actually done
            and maybe cancellable, this function is called after these modifications.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISHTransaction">
            <summary>
            The nsISHTransaction.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHTransaction.GetSHEntryAttribute">
            <summary>
            The nsISHEntry for the current transaction
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHTransaction.GetPrevAttribute">
            <summary>
            The parent of this transaction
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHTransaction.GetNextAttribute">
            <summary>
            The legitimate child of this transaction
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHTransaction.GetPersistAttribute">
            <summary>
            Specifies if this transaction should persist.  If not it will be replaced
            by new additions to the list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISHTransaction.Create(Gecko.Interfaces.nsISHEntry,Gecko.Interfaces.nsISHTransaction)">
            <summary>
            Create a transaction with parent and History Entry
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISimpleContentPolicy">
            <summary>
            Interface for content policy mechanism.  Implementations of this
            interface can be used to control loading of various types of out-of-line
            content, or processing of certain types of in-line content.
            
            This interface differs from nsIContentPolicy in that it offers less control
            (the DOM node doing the load is not provided) but more flexibility for
            Gecko. In particular, this interface allows an add-on in the chrome process
            to block loads without using cross-process wrappers (CPOWs). Add-ons should
            prefer this interface to nsIContentPolicy because it should be faster in
            e10s. In the future, it may also be run asynchronously.
            
            WARNING: do not block the caller from shouldLoad or shouldProcess (e.g.,
            by launching a dialog to prompt the user for something).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleContentPolicy.ShouldLoad(System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMElement,System.Boolean,Gecko.nsACStringBase,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Should the resource at this location be loaded?
            ShouldLoad will be called before loading the resource at aContentLocation
            to determine whether to start the load at all.
            </summary>
            <param name="aContentType">
            the type of content being tested. This will be one
            one of the TYPE_* constants.
            </param>
            <param name="aContentLocation">
            the location of the content being checked; must
            not be null
            </param>
            <param name="aRequestOrigin">
            OPTIONAL. the location of the resource that
            initiated this load request; can be null if
            inapplicable
            </param>
            <param name="aTopFrameElement">
            OPTIONAL. The top frame element (typically a
            &lt;xul:browser&gt; element) that initiated the
            request. In a content process, this argument
            will be null.
            </param>
            <param name="aIsTopLevel">
            OPTIONAL. True iff the request was initiated
            from a frame where |window.top === window|.
            </param>
            <param name="aMimeTypeGuess">
            OPTIONAL. a guess for the requested content&apos;s
            MIME type, based on information available to
            the request initiator (e.g., an OBJECT&apos;s type
            attribute); does not reliably reflect the
            actual MIME type of the requested content
            </param>
            <param name="aExtra">
            an OPTIONAL argument, pass-through for non-Gecko
            callers to pass extra data to callees.
            </param>
            <param name="aRequestPrincipal">
            an OPTIONAL argument, defines the principal that
            caused the load. This is optional only for
            non-gecko code: all gecko code should set this
            argument.  For navigation events, this is
            the principal of the page that caused this load.
            </param>
            <returns>
            ACCEPT or REJECT_
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleContentPolicy.ShouldProcess(System.UInt32,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMElement,System.Boolean,Gecko.nsACStringBase,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Should the resource be processed?
            ShouldProcess will be called once all the information passed to it has
            been determined about the resource, typically after part of the resource
            has been loaded.
            </summary>
            <param name="aContentType">
            the type of content being tested. This will be one
            one of the TYPE_* constants.
            </param>
            <param name="aContentLocation">
            OPTIONAL; the location of the resource being
            requested: MAY be, e.g., a post-redirection URI
            for the resource.
            </param>
            <param name="aRequestOrigin">
            OPTIONAL. the location of the resource that
            initiated this load request; can be null if
            inapplicable
            </param>
            <param name="aTopFrameElement">
            OPTIONAL. The top frame element (typically a
            &lt;xul:browser&gt; element) that initiated the
            request. In a content process, this argument
            will be null.
            </param>
            <param name="aIsTopLevel">
            OPTIONAL. True iff the request was initiated
            from a frame where |window.top === window|.
            </param>
            <param name="aMimeType">
            the MIME type of the requested resource (e.g.,
            image/png), as reported by the networking library,
            if available (may be empty if inappropriate for
            the type, e.g., TYPE_REFRESH).
            </param>
            <param name="aExtra">
            an OPTIONAL argument, pass-through for non-Gecko
            callers to pass extra data to callees.
            </param>
            <returns>
            ACCEPT or REJECT_
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsISimpleEnumerator">
            <summary>
            Used to enumerate over elements defined by its implementor.
            Although hasMoreElements() can be called independently of getNext(),
            getNext() must be pre-ceeded by a call to hasMoreElements(). There is
            no way to &quot;reset&quot; an enumerator, once you obtain one.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleEnumerator.HasMoreElements">
            <summary>
            Called to determine whether or not the enumerator has
            any elements that can be returned via getNext(). This method
            is generally used to determine whether or not to initiate or
            continue iteration over the enumerator, though it can be
            called without subsequent getNext() calls. Does not affect
            internal state of enumerator.
            </summary>
            <returns>
            true if there are remaining elements in the enumerator.
            false if there are no more elements in the enumerator.
            </returns>
            <remarks>
            See getNext()
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleEnumerator.GetNext">
            <summary>
            Called to retrieve the next element in the enumerator. The "next"
            element is the first element upon the first call. Must be
            pre-ceeded by a call to hasMoreElements() which returns PR_TRUE.
            This method is generally called within a loop to iterate over
            the elements in the enumerator.
            </summary>
            <returns>
            the next element in the enumeration.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if there are no more elements
            to enumerate.
            </exception>
            <remarks>
            See hasMoreElements()
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsISimpleStreamListener">
            <summary>
            A simple stream listener can be used with AsyncRead to supply data to
            a output stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleStreamListener.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleStreamListener.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleStreamListener.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISimpleStreamListener.Init(Gecko.Interfaces.nsIOutputStream,Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Initialize the simple stream listener.
            </summary>
            <param name="aSink">
            data will be read from the channel to this output stream.
            Must implement writeFrom.
            </param>
            <param name="aObserver">
            optional stream observer (can be NULL)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.ProcessHeader(System.UInt32,Gecko.Interfaces.nsIURI,System.String,Gecko.Interfaces.nsISSLStatus,System.UInt32,System.UInt64@,System.Boolean@,System.UInt32@)">
            <summary>
            Parses a given HTTP header and records the results internally.
            Currently two header types are supported: HSTS (aka STS) and HPKP
            The format of the HSTS header is defined by the HSTS specification:
            https://tools.ietf.org/html/rfc6797
            and allows a host to specify that future HTTP requests should be
            upgraded to HTTPS.
            The format of the HPKP header is defined by the HPKP specification:
            https://tools.ietf.org/html/rfc7469
            and allows a host to specify a subset of trusted anchors to be used
            in future HTTPS connections.
            </summary>
            <param name="aType">
            the type of security header in question.
            </param>
            <param name="aSourceURI">
            the URI of the resource with the HTTP header.
            </param>
            <param name="aSSLStatus">
            the SSLStatus of the current channel
            </param>
            <param name="aHeader">
            the HTTP response header specifying security data.
            </param>
            <param name="aFlags">
            options for this request as defined in nsISocketProvider:
            NO_PERMANENT_STORAGE
            </param>
            <param name="aMaxAge">
            the parsed max-age directive of the header.
            </param>
            <param name="aIncludeSubdomains">
            the parsed includeSubdomains directive.
            </param>
            <param name="aFailureResult">
            a more specific failure result if NS_ERROR_FAILURE
            was returned.
            </param>
            <returns>
            NS_OK            if it succeeds
            NS_ERROR_FAILURE if it can&apos;t be parsed
            NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA
            if there are unrecognized tokens in the header.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.UnsafeProcessHeader(System.UInt32,Gecko.Interfaces.nsIURI,System.String,System.UInt32,System.UInt64@,System.Boolean@,System.UInt32@)">
            <summary>
            Same as processHeader but without checking for the security properties
            of the connection. Use ONLY for testing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.RemoveState(System.UInt32,Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Given a header type, removes state relating to that header of a host,
            including the includeSubdomains state that would affect subdomains.
            This essentially removes the state for the domain tree rooted at this
            host.
            </summary>
            <param name="aType">
            the type of security state in question
            </param>
            <param name="aURI">
            the URI of the target host
            </param>
            <param name="aFlags">
            options for this request as defined in nsISocketProvider:
            NO_PERMANENT_STORAGE
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.IsSecureHost(System.UInt32,System.String,System.UInt32,System.Boolean@)">
            <summary>
            See isSecureURI
            </summary>
            <param name="aType">
            the type of security state in question.
            </param>
            <param name="aHost">
            the hostname (punycode) to query for state.
            </param>
            <param name="aFlags">
            options for this request as defined in nsISocketProvider:
            NO_PERMANENT_STORAGE
            </param>
            <param name="aCached">
            true if we have cached information regarding whether or not
            the host is HSTS, false otherwise.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.IsSecureURI(System.UInt32,Gecko.Interfaces.nsIURI,System.UInt32,System.Boolean@)">
            <summary>
            Checks whether or not the URI&apos;s hostname has a given security state set.
            For example, for HSTS:
            The URI is an HSTS URI if either the host has the HSTS state set, or one
            of its super-domains has the HSTS &quot;includeSubdomains&quot; flag set.
            NOTE: this function makes decisions based only on the
            host contained in the URI, and disregards other portions of the URI
            such as path and port.
            </summary>
            <param name="aType">
            the type of security state in question.
            </param>
            <param name="aURI">
            the URI to query for STS state.
            </param>
            <param name="aFlags">
            options for this request as defined in nsISocketProvider:
            NO_PERMANENT_STORAGE
            </param>
            <param name="aCached">
            true if we have cached information regarding whether or not
            the host is HSTS, false otherwise.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.ClearAll">
            <summary>
            Removes all non-preloaded security state by resetting to factory-original
            settings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.ClearPreloads">
            <summary>
            Removes all preloaded security state.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.GetKeyPinsForHostname(System.String,System.IntPtr,System.IntPtr@,System.Boolean@)">
            <summary>
            Returns an array of sha256-hashed key pins for the given domain, if any.
            If these pins also apply to subdomains of the given domain,
            aIncludeSubdomains will be true. Pins returned are only for non-built-in
            pin entries.
            </summary>
            <param name="aHostname">
            the hosname (punycode) to be queried about
            </param>
            <param name="the">
            time at which the pins should be valid. This is in
            mozilla::pkix::Time which uses internally seconds since 0 AD.
            </param>
            <param name="aPinArray">
            the set of sha256-hashed key pins for the given domain
            </param>
            <param name="aIncludeSubdomains">
            true if the pins apply to subdomains of the
            given domain
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.SetKeyPins(System.String,System.Boolean,System.Int64,System.UInt32,System.IntPtr[],System.Boolean)">
            <summary>
            Set public-key pins for a host. The resulting pins will be permanent
            and visible from private and non-private contexts. These pins replace
            any already set by this mechanism or those built-in to Gecko.
            </summary>
            <param name="aHost">
            the hostname (punycode) that pins will apply to
            </param>
            <param name="aIncludeSubdomains">
            whether these pins also apply to subdomains
            </param>
            <param name="aExpires">
            the time this pin should expire (millis since epoch)
            </param>
            <param name="aPinCount">
            number of keys being pinnned
            </param>
            <param name="aSha256Pins">
            array of hashed key fingerprints (SHA-256, base64)
            </param>
            <param name="aIsPreload">
            are these key pins for a preload entry? (false by
            default)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSecurityService.CacheNegativeHSTSResult(Gecko.Interfaces.nsIURI,System.UInt64)">
            <summary>
            Mark a host as declining to provide a given security state so that features
            such as HSTS priming will not flood a server with requests.
            </summary>
            <param name="aURI">
            the nsIURI that this applies to
            </param>
            <param name="aMaxAge">
            lifetime (in seconds) of this negative cache
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISiteSpecificUserAgent">
            <summary>
            nsISiteSpecificUserAgent provides you with site/window-specific User Agent strings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISiteSpecificUserAgent.GetUserAgentForURIAndWindow(Gecko.Interfaces.nsIURI,Gecko.Interfaces.mozIDOMWindow,Gecko.nsAStringBase)">
            <summary>
            Get the User Agent string for a given URI.
            </summary>
            <param name="aURI">
            is the URI of the page the UA string is used for.
            </param>
            <param name="aWindow">
            is the window this UA is being requested for
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISliderListener">
            <summary>
            Used for &lt;scale&gt; to listen to slider changes to avoid mutation listeners
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISliderListener.ValueChanged(Gecko.nsAStringBase,System.Int32,System.Boolean)">
            <summary>
            Called when the current, minimum or maximum value has been changed to
            newValue. The which parameter will either be &apos;curpos&apos;, &apos;minpos&apos; or &apos;maxpos&apos;.
            If userChanged is true, then the user changed ths slider, otherwise it
            was changed via some other means.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISliderListener.DragStateChanged(System.Boolean)">
            <summary>
            Called when the user begins or ends dragging the thumb.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISocketProvider">
            <summary>
            nsISocketProvider
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketProvider.NewSocket(System.Int32,System.String,System.Int32,Gecko.Interfaces.nsIProxyInfo,System.IntPtr,System.UInt32,System.IntPtr@,Gecko.Interfaces.nsISupports@)">
            <summary>
            newSocket
            </summary>
            <param name="aFamily">
            The address family for this socket (PR_AF_INET or PR_AF_INET6).
            </param>
            <param name="aHost">
            The origin hostname for this connection.
            </param>
            <param name="aPort">
            The origin port for this connection.
            </param>
            <param name="aProxyHost">
            If non-null, the proxy hostname for this connection.
            </param>
            <param name="aProxyPort">
            The proxy port for this connection.
            </param>
            <param name="aFlags">
            Control flags that govern this connection (see below.)
            </param>
            <param name="aFileDesc">
            The resulting PRFileDesc.
            </param>
            <param name="aSecurityInfo">
            Any security info that should be associated with aFileDesc.  This
            object typically implements nsITransportSecurityInfo.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketProvider.AddToSocket(System.Int32,System.String,System.Int32,Gecko.Interfaces.nsIProxyInfo,System.IntPtr,System.UInt32,System.IntPtr,Gecko.Interfaces.nsISupports@)">
            <summary>
            addToSocket
            
            This function is called to allow the socket provider to layer a
            PRFileDesc on top of another PRFileDesc.  For example, SSL via a SOCKS
            proxy.
            
            Parameters are the same as newSocket with the exception of aFileDesc,
            which is an in-param instead.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISocketProviderService">
            <summary>
            nsISocketProviderService
            
            Provides a mapping between a socket type and its associated socket provider
            instance.  One could also use the service manager directly.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISocketTransport">
            <summary>
            nsISocketTransport
            
            NOTE: Connection setup is triggered by opening an input or output stream,
            it does not start on its own. Completion of the connection setup is
            indicated by a STATUS_CONNECTED_TO notification to the event sink (if set).
            
            NOTE: This is a free-threaded interface, meaning that the methods on
            this interface may be called from any thread.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITransport">
            <summary>
            nsITransport
            
            This interface provides a common way of accessing i/o streams connected
            to some resource.  This interface does not in any way specify the resource.
            It provides methods to open blocking or non-blocking, buffered or unbuffered
            streams to the resource.  The name &quot;transport&quot; is meant to connote the
            inherent data transfer implied by this interface (i.e., data is being
            transfered in some fashion via the streams exposed by this interface).
            
            A transport can have an event sink associated with it.  The event sink
            receives transport-specific events as the transfer is occuring.  For a
            socket transport, these events can include status about the connection.
            See nsISocketTransport for more info about socket transport specifics.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransport.OpenInputStream(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Open an input stream on this transport.
            
            Flags have the following meaning:
            
            OPEN_BLOCKING
            If specified, then the resulting stream will have blocking stream
            semantics.  This means that if the stream has no data and is not
            closed, then reading from it will block the calling thread until
            at least one byte is available or until the stream is closed.
            If this flag is NOT specified, then the stream has non-blocking
            stream semantics.  This means that if the stream has no data and is
            not closed, then reading from it returns NS_BASE_STREAM_WOULD_BLOCK.
            In addition, in non-blocking mode, the stream is guaranteed to
            support nsIAsyncInputStream.  This interface allows the consumer of
            the stream to be notified when the stream can again be read.
            
            OPEN_UNBUFFERED
            If specified, the resulting stream may not support ReadSegments.
            ReadSegments is only gauranteed to be implemented when this flag is
            NOT specified.
            </summary>
            <param name="aFlags">
            optional transport specific flags.
            </param>
            <param name="aSegmentSize">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            size of each buffer segment (pass 0 to use default value).
            </param>
            <param name="aSegmentCount">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            maximum number of buffer segments (pass 0 to use default value).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransport.OpenOutputStream(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Open an output stream on this transport.
            
            Flags have the following meaning:
            
            OPEN_BLOCKING
            If specified, then the resulting stream will have blocking stream
            semantics.  This means that if the stream is full and is not closed,
            then writing to it will block the calling thread until ALL of the
            data can be written or until the stream is closed.  If this flag is
            NOT specified, then the stream has non-blocking stream semantics.
            This means that if the stream is full and is not closed, then writing
            to it returns NS_BASE_STREAM_WOULD_BLOCK.  In addition, in non-
            blocking mode, the stream is guaranteed to support
            nsIAsyncOutputStream.  This interface allows the consumer of the
            stream to be notified when the stream can again accept more data.
            
            OPEN_UNBUFFERED
            If specified, the resulting stream may not support WriteSegments and
            WriteFrom.  WriteSegments and WriteFrom are only guaranteed to be
            implemented when this flag is NOT specified.
            </summary>
            <param name="aFlags">
            optional transport specific flags.
            </param>
            <param name="aSegmentSize">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            size of each buffer segment (pass 0 to use default value).
            </param>
            <param name="aSegmentCount">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            maximum number of buffer segments (pass 0 to use default value).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransport.Close(System.Int32)">
            <summary>
            Close the transport and any open streams.
            </summary>
            <param name="aReason">
            the reason for closing the stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransport.SetEventSink(Gecko.Interfaces.nsITransportEventSink,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            Set the transport event sink.
            </summary>
            <param name="aSink">
            receives transport layer notifications
            </param>
            <param name="aEventTarget">
            indicates the event target to which the notifications should
            be delivered.  if NULL, then the notifications may occur on
            any thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.OpenInputStream(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Open an input stream on this transport.
            
            Flags have the following meaning:
            
            OPEN_BLOCKING
            If specified, then the resulting stream will have blocking stream
            semantics.  This means that if the stream has no data and is not
            closed, then reading from it will block the calling thread until
            at least one byte is available or until the stream is closed.
            If this flag is NOT specified, then the stream has non-blocking
            stream semantics.  This means that if the stream has no data and is
            not closed, then reading from it returns NS_BASE_STREAM_WOULD_BLOCK.
            In addition, in non-blocking mode, the stream is guaranteed to
            support nsIAsyncInputStream.  This interface allows the consumer of
            the stream to be notified when the stream can again be read.
            
            OPEN_UNBUFFERED
            If specified, the resulting stream may not support ReadSegments.
            ReadSegments is only gauranteed to be implemented when this flag is
            NOT specified.
            </summary>
            <param name="aFlags">
            optional transport specific flags.
            </param>
            <param name="aSegmentSize">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            size of each buffer segment (pass 0 to use default value).
            </param>
            <param name="aSegmentCount">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            maximum number of buffer segments (pass 0 to use default value).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.OpenOutputStream(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Open an output stream on this transport.
            
            Flags have the following meaning:
            
            OPEN_BLOCKING
            If specified, then the resulting stream will have blocking stream
            semantics.  This means that if the stream is full and is not closed,
            then writing to it will block the calling thread until ALL of the
            data can be written or until the stream is closed.  If this flag is
            NOT specified, then the stream has non-blocking stream semantics.
            This means that if the stream is full and is not closed, then writing
            to it returns NS_BASE_STREAM_WOULD_BLOCK.  In addition, in non-
            blocking mode, the stream is guaranteed to support
            nsIAsyncOutputStream.  This interface allows the consumer of the
            stream to be notified when the stream can again accept more data.
            
            OPEN_UNBUFFERED
            If specified, the resulting stream may not support WriteSegments and
            WriteFrom.  WriteSegments and WriteFrom are only guaranteed to be
            implemented when this flag is NOT specified.
            </summary>
            <param name="aFlags">
            optional transport specific flags.
            </param>
            <param name="aSegmentSize">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            size of each buffer segment (pass 0 to use default value).
            </param>
            <param name="aSegmentCount">
            if OPEN_UNBUFFERED is not set, then this parameter specifies the
            maximum number of buffer segments (pass 0 to use default value).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.Close(System.Int32)">
            <summary>
            Close the transport and any open streams.
            </summary>
            <param name="aReason">
            the reason for closing the stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.SetEventSink(Gecko.Interfaces.nsITransportEventSink,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            Set the transport event sink.
            </summary>
            <param name="aSink">
            receives transport layer notifications
            </param>
            <param name="aEventTarget">
            indicates the event target to which the notifications should
            be delivered.  if NULL, then the notifications may occur on
            any thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetHostAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            Get the peer&apos;s host for the underlying socket connection.
            For Unix domain sockets, this is a pathname, or the empty string for
            unnamed and abstract socket addresses.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetPortAttribute">
            <summary>
            Get the port for the underlying socket connection.
            For Unix domain sockets, this is zero.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetOriginAttributesAttribute(System.IntPtr)">
            <summary>
            The origin attributes are used to create sockets.  The first party domain
            will eventually be used to isolate OCSP cache and is only non-empty when
            &quot;privacy.firstparty.isolate&quot; is enabled.  Setting this is the only way to
            carry origin attributes down to NSPR layers which are final consumers.
            It must be set before the socket transport is built.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetNetworkInterfaceIdAttribute(Gecko.nsACStringBase)">
            <summary>
            The platform-specific network interface id that this socket
            associated with. Note that this attribute can be only accessed
            in the socket thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetPeerAddr">
            <summary>
            Returns the IP address of the socket connection peer. This
            attribute is defined only once a connection has been established.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetSelfAddr">
            <summary>
            Returns the IP address of the initiating end. This attribute
            is defined only once a connection has been established.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.Bind(System.IntPtr)">
            <summary>
            Bind to a specific local address.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetScriptablePeerAddr">
            <summary>
            Returns a scriptable version of getPeerAddr. This attribute is defined
            only once a connection has been established.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetScriptableSelfAddr">
            <summary>
            Returns a scriptable version of getSelfAddr. This attribute is defined
            only once a connection has been established.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetSecurityInfoAttribute">
            <summary>
            Security info object returned from the secure socket provider.  This
            object supports nsISSLSocketControl, nsITransportSecurityInfo, and
            possibly other interfaces.
            
            This attribute is only available once the socket is connected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetSecurityCallbacksAttribute">
            <summary>
            Security notification callbacks passed to the secure socket provider
            via nsISSLSocketControl at socket creation time.
            
            NOTE: this attribute cannot be changed once a stream has been opened.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.IsAlive">
            <summary>
            Test if this socket transport is (still) connected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetTimeout(System.UInt32)">
            <summary>
            Socket timeouts in seconds.  To specify no timeout, pass UINT32_MAX
            as aValue to setTimeout.  The implementation may truncate timeout values
            to a smaller range of values (e.g., 0 to 0xFFFF).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetConnectionFlagsAttribute">
            <summary>
            connectionFlags is a bitmask that can be used to modify underlying
            behavior of the socket connection. See the flags below.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetQoSBitsAttribute">
            <summary>
            Socket QoS/ToS markings. Valid values are IPTOS_DSCP_AFxx or
            IPTOS_CLASS_CSx (or IPTOS_DSCP_EF, but currently no supported
            services require expedited-forwarding).
            Not setting this value will leave the socket with the default
            ToS value, which on most systems if IPTOS_CLASS_CS0 (formerly
            IPTOS_PREC_ROUTINE).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetRecvBufferSizeAttribute">
            <summary>
            TCP send and receive buffer sizes. A value of 0 means OS level
            auto-tuning is in effect.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransport.GetKeepaliveEnabledAttribute">
            <summary>
            TCP keepalive configuration (support varies by platform).
            Note that the attribute as well as the setter can only accessed
            in the socket thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransportService.CreateTransport(System.IntPtr[],System.UInt32,Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            Creates a transport for a specified host and port.
            </summary>
            <param name="aSocketTypes">
            array of socket type strings.  null if using default socket type.
            </param>
            <param name="aTypeCount">
            specifies length of aSocketTypes.
            </param>
            <param name="aHost">
            specifies the target hostname or IP address literal of the peer
            for this socket.
            </param>
            <param name="aPort">
            specifies the target port of the peer for this socket.
            </param>
            <param name="aProxyInfo">
            specifies the transport-layer proxy type to use.  null if no
            proxy.  used for communicating information about proxies like
            SOCKS (which are transparent to upper protocols).
            </param>
            <remarks>
            See nsIProtocolProxyService::GetProxyInfo
            
            NOTE: this function can be called from any thread
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransportService.CreateUnixDomainTransport(Gecko.Interfaces.nsIFile)">
            <summary>
            Create a transport built on a Unix domain socket, connecting to the
            given filename.
            
            Since Unix domain sockets are always local to the machine, they are
            not affected by the nsIIOService&apos;s &apos;offline&apos; flag.
            
            On systems that don&apos;t support Unix domain sockets at all, this
            returns NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED.
            
            The system-level socket API may impose restrictions on the length of
            the filename that are stricter than those of the underlying
            filesystem. If the file name is too long, this returns
            NS_ERROR_FILE_NAME_TOO_LONG.
            
            The |aPath| parameter must specify an existing directory entry.
            Otherwise, this returns NS_ERROR_FILE_NOT_FOUND.
            
            The program must have search permission on all components of the
            path prefix of |aPath|, and read and write permission on |aPath|
            itself. Without such permission, this returns
            NS_ERROR_CONNECTION_REFUSED.
            
            The |aPath| parameter must refer to a unix-domain socket. Otherwise,
            this returns NS_ERROR_CONNECTION_REFUSED. (POSIX specifies
            ECONNREFUSED when &quot;the target address was not listening for
            connections&quot;, and this is what Linux returns.)
            </summary>
            <param name="aPath">
            The file name of the Unix domain socket to which we should
            connect.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransportService.AttachSocket(System.IntPtr,System.IntPtr)">
            <summary>
            Adds a new socket to the list of controlled sockets.
            
            This will fail with the error code NS_ERROR_NOT_AVAILABLE if the maximum
            number of sockets is already reached.
            In this case, the notifyWhenCanAttachSocket method should be used.
            </summary>
            <param name="aFd">
            Open file descriptor of the socket to control.
            </param>
            <param name="aHandler">
            Socket handler that will receive notifications when the socket is
            ready or detached.
            
            NOTE: this function may only be called from an event dispatch on the
            socket thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISocketTransportService.NotifyWhenCanAttachSocket(Gecko.Interfaces.nsIRunnable)">
            <summary>
            if the number of sockets reaches the limit, then consumers can be
            notified when the number of sockets becomes less than the limit.  the
            notification is asynchronous, delivered via the given nsIRunnable
            instance on the socket transport thread.
            </summary>
            <param name="aEvent">
            Event that will receive the notification when a new socket can
            be attached
            
            NOTE: this function may only be called from an event dispatch on the
            socket thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRoutedSocketTransportService.CreateTransport(System.IntPtr[],System.UInt32,Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            Creates a transport for a specified host and port.
            </summary>
            <param name="aSocketTypes">
            array of socket type strings.  null if using default socket type.
            </param>
            <param name="aTypeCount">
            specifies length of aSocketTypes.
            </param>
            <param name="aHost">
            specifies the target hostname or IP address literal of the peer
            for this socket.
            </param>
            <param name="aPort">
            specifies the target port of the peer for this socket.
            </param>
            <param name="aProxyInfo">
            specifies the transport-layer proxy type to use.  null if no
            proxy.  used for communicating information about proxies like
            SOCKS (which are transparent to upper protocols).
            </param>
            <remarks>
            See nsIProtocolProxyService::GetProxyInfo
            
            NOTE: this function can be called from any thread
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIRoutedSocketTransportService.CreateUnixDomainTransport(Gecko.Interfaces.nsIFile)">
            <summary>
            Create a transport built on a Unix domain socket, connecting to the
            given filename.
            
            Since Unix domain sockets are always local to the machine, they are
            not affected by the nsIIOService&apos;s &apos;offline&apos; flag.
            
            On systems that don&apos;t support Unix domain sockets at all, this
            returns NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED.
            
            The system-level socket API may impose restrictions on the length of
            the filename that are stricter than those of the underlying
            filesystem. If the file name is too long, this returns
            NS_ERROR_FILE_NAME_TOO_LONG.
            
            The |aPath| parameter must specify an existing directory entry.
            Otherwise, this returns NS_ERROR_FILE_NOT_FOUND.
            
            The program must have search permission on all components of the
            path prefix of |aPath|, and read and write permission on |aPath|
            itself. Without such permission, this returns
            NS_ERROR_CONNECTION_REFUSED.
            
            The |aPath| parameter must refer to a unix-domain socket. Otherwise,
            this returns NS_ERROR_CONNECTION_REFUSED. (POSIX specifies
            ECONNREFUSED when &quot;the target address was not listening for
            connections&quot;, and this is what Linux returns.)
            </summary>
            <param name="aPath">
            The file name of the Unix domain socket to which we should
            connect.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRoutedSocketTransportService.AttachSocket(System.IntPtr,System.IntPtr)">
            <summary>
            Adds a new socket to the list of controlled sockets.
            
            This will fail with the error code NS_ERROR_NOT_AVAILABLE if the maximum
            number of sockets is already reached.
            In this case, the notifyWhenCanAttachSocket method should be used.
            </summary>
            <param name="aFd">
            Open file descriptor of the socket to control.
            </param>
            <param name="aHandler">
            Socket handler that will receive notifications when the socket is
            ready or detached.
            
            NOTE: this function may only be called from an event dispatch on the
            socket thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRoutedSocketTransportService.NotifyWhenCanAttachSocket(Gecko.Interfaces.nsIRunnable)">
            <summary>
            if the number of sockets reaches the limit, then consumers can be
            notified when the number of sockets becomes less than the limit.  the
            notification is asynchronous, delivered via the given nsIRunnable
            instance on the socket transport thread.
            </summary>
            <param name="aEvent">
            Event that will receive the notification when a new socket can
            be attached
            
            NOTE: this function may only be called from an event dispatch on the
            socket thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISound.PlaySystemSound(Gecko.nsAStringBase)">
            <summary>
            for playing system sounds
            
            NS_SYSSOUND_* params are obsolete. The new events will not be supported by
            this method.  You should use playEventSound method instaed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISound.Init">
            <summary>
            Not strictly necessary, but avoids delay before first sound.
            The various methods on nsISound call Init() if they need to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeculativeConnect.SpeculativeConnect(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Called as a hint to indicate a new transaction for the URI is likely coming
            soon. The implementer may use this information to start a TCP
            and/or SSL level handshake for that resource immediately so that it is
            ready and/or progressed when the transaction is actually submitted.
            
            No obligation is taken on by the implementer, nor is the submitter obligated
            to actually open the new channel.
            </summary>
            <param name="aURI">
            the URI of the hinted transaction
            </param>
            <param name="aPrincipal">
            the principal that will be used for opening the
            channel of the hinted transaction.
            </param>
            <param name="aCallbacks">
            any security callbacks for use with SSL for interfaces
            such as nsIBadCertListener. May be null.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISpeculativeConnectionOverrider">
            <summary>
            This is used to override the default values for various values (documented
            inline) to determine whether or not to actually make a speculative
            connection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeculativeConnectionOverrider.GetParallelSpeculativeConnectLimitAttribute">
            <summary>
            Used to determine the maximum number of unused speculative connections
            we will have open for a host at any one time
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeculativeConnectionOverrider.GetIgnoreIdleAttribute">
            <summary>
            Used to determine if we will ignore the existence of any currently idle
            connections when we decide whether or not to make a speculative
            connection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeculativeConnectionOverrider.GetAllow1918Attribute">
            <summary>
            by default speculative connections are not made to RFC 1918 addresses
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISpeechTaskCallback">
            <summary>
            A callback is implemented by the service. For direct audio services, it is
            required to implement these, although it could be helpful to use the
            cancel method for shutting down the speech resources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTaskCallback.OnPause">
            <summary>
            The user or application has paused the speech.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTaskCallback.OnResume">
            <summary>
            The user or application has resumed the speech.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTaskCallback.OnCancel">
            <summary>
            The user or application has canceled the speech.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTaskCallback.OnVolumeChanged(System.Single)">
            <summary>
            The user or application has changed the volume of this speech.
            This is only used on indirect audio service type.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISpeechTask">
            <summary>
            A task is associated with a single utterance. It is provided by the browser
            to the service in the speak() method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.Setup(Gecko.Interfaces.nsISpeechTaskCallback,System.UInt32,System.UInt32,System.Byte)">
            <summary>
            Prepare browser for speech.
            </summary>
            <param name="aCallback">
            callback object for mid-speech operations.
            </param>
            <param name="aChannels">
            number of audio channels. Only required
            in direct audio services
            </param>
            <param name="aRate">
            audio rate. Only required in direct audio services
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.SendAudio(SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Send audio data to browser.
            </summary>
            <param name="aData">
            an Int16Array with PCM-16 audio data.
            </param>
            <param name="aLandmarks">
            an array of sample offset and landmark pairs.
            Used for emiting boundary and mark events.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.DispatchStart">
            <summary>
            Dispatch start event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.DispatchEnd(System.Single,System.UInt32)">
            <summary>
            Dispatch end event.
            </summary>
            <param name="aElapsedTime">
            time in seconds since speech has started.
            </param>
            <param name="aCharIndex">
            offset of spoken characters.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.DispatchPause(System.Single,System.UInt32)">
            <summary>
            Dispatch pause event.
            </summary>
            <param name="aElapsedTime">
            time in seconds since speech has started.
            </param>
            <param name="aCharIndex">
            offset of spoken characters.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.DispatchResume(System.Single,System.UInt32)">
            <summary>
            Dispatch resume event.
            </summary>
            <param name="aElapsedTime">
            time in seconds since speech has started.
            </param>
            <param name="aCharIndex">
            offset of spoken characters.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.DispatchError(System.Single,System.UInt32)">
            <summary>
            Dispatch error event.
            </summary>
            <param name="aElapsedTime">
            time in seconds since speech has started.
            </param>
            <param name="aCharIndex">
            offset of spoken characters.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.DispatchBoundary(Gecko.nsAStringBase,System.Single,System.UInt32)">
            <summary>
            Dispatch boundary event.
            </summary>
            <param name="aName">
            name of boundary, &apos;word&apos; or &apos;sentence&apos;
            </param>
            <param name="aElapsedTime">
            time in seconds since speech has started.
            </param>
            <param name="aCharIndex">
            offset of spoken characters.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechTask.DispatchMark(Gecko.nsAStringBase,System.Single,System.UInt32)">
            <summary>
            Dispatch mark event.
            </summary>
            <param name="aName">
            mark identifier.
            </param>
            <param name="aElapsedTime">
            time in seconds since speech has started.
            </param>
            <param name="aCharIndex">
            offset of spoken characters.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISpeechService">
            <summary>
            The main interface of a speech synthesis service.
            
            A service&apos;s speak method could be implemented in two ways:
            1. Indirect audio - the service is responsible for outputting audio.
            The service calls the nsISpeechTask.dispatch* methods directly. Starting
            with dispatchStart() and ending with dispatchEnd or dispatchError().
            
            2. Direct audio - the service provides us with PCM-16 data, and we output it.
            The service does not call the dispatch task methods directly. Instead,
            audio information is provided at setup(), and audio data is sent with
            sendAudio(). The utterance is terminated with an empty sendAudio().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISpeechService.Speak(Gecko.nsAStringBase,Gecko.nsAStringBase,System.Single,System.Single,System.Single,Gecko.Interfaces.nsISpeechTask)">
            <summary>
            Speak the given text using the voice identified byu the given uri. See
            W3C Speech API spec for information about pitch and rate.
            https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#utterance-attributes
            </summary>
            <param name="aText">
            text to utter.
            </param>
            <param name="aUri">
            unique voice identifier.
            </param>
            <param name="aVolume">
            volume to speak voice in. Only relevant for indirect audio.
            </param>
            <param name="aRate">
            rate to speak voice in.
            </param>
            <param name="aPitch">
            pitch to speak voice in.
            </param>
            <param name="aTask">
            task instance for utterance, used for sending events or audio
            data back to browser.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISSLSocketControl.GetClientCertAttribute">
            <summary>
            If set before the server requests a client cert (assuming it does so at
            all), then this cert will be presented to the server, instead of asking
            the user or searching the set of rememebered user cert decisions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISSLSocketControl.GetBypassAuthenticationAttribute">
            <summary>
            bypassAuthentication is true if the server certificate checks are
            not be enforced. This is to enable non-secure transport over TLS.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISSLStatus.GetIsExtendedValidationAttribute">
            <summary>
            True only if (and after) serverCert was successfully validated as
            Extended Validation (EV).
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStandardURL">
            <summary>
            nsIStandardURL defines the interface to an URL with the standard
            file path format common to protocols like http, ftp, and file.
            It supports initialization from a relative path and provides
            some customization on how URLs are normalized.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStandardURL.GetMutableAttribute">
            <summary>
            Control whether or not this object can be modified.  If the flag is
            false, no modification is allowed.  Once the flag has been set to false,
            it cannot be reset back to true -- attempts to do so throw
            NS_ERROR_INVALID_ARG.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStandardURL.Init(System.UInt32,System.Int32,Gecko.nsAUTF8StringBase,System.String,Gecko.Interfaces.nsIURI)">
            <summary>
            Initialize a standard URL.
            </summary>
            <param name="aUrlType">
            - one of the URLTYPE_ flags listed above.
            </param>
            <param name="aDefaultPort">
            - if the port parsed from the URL string matches
            this port, then the port will be removed from the
            canonical form of the URL.
            </param>
            <param name="aSpec">
            - URL string.
            </param>
            <param name="aOriginCharset">
            - the charset from which this URI string
            originated.  this corresponds to the charset
            that should be used when communicating this
            URI to an origin server, for example.  if
            null, then provide aBaseURI implements this
            interface, the origin charset of aBaseURI will
            be assumed, otherwise defaulting to UTF-8 (i.e.,
            no charset transformation from aSpec).
            </param>
            <param name="aBaseURI">
            - if null, aSpec must specify an absolute URI.
            otherwise, aSpec will be resolved relative
            to aBaseURI.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStandardURL.SetDefaultPort(System.Int32)">
            <summary>
            Set the default port.
            
            Note: If this object is already using its default port (i.e. if it has
            mPort == -1), then it will now implicitly be using the new default port.
            </summary>
            <param name="aNewDefaultPort">
            - if the URI has (or is later given) a port that
            matches this default, then we won&apos;t include a
            port number in the canonical form of the URL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStartupCache.GetBuffer(System.String,System.IntPtr@)">
            <summary>
            This interface is provided for testing purposes only, basically
            just to solve link vagaries. See docs in StartupCache.h
            GetBuffer, PutBuffer, and InvalidateCache act as described
            in that file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStartupCache.GetDebugObjectOutputStream(Gecko.Interfaces.nsIObjectOutputStream)">
            <summary>
            In debug builds, wraps this object output stream with a stream that will
            detect and prevent the write of a multiply-referenced non-singleton object
            during serialization. In non-debug, returns an add-ref&apos;d pointer to
            original stream, unwrapped.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStorageStream">
            <summary>
            The nsIStorageStream interface maintains an internal data buffer that can be
            filled using a single output stream.  One or more independent input streams
            can be created to read the data from the buffer non-destructively.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStorageStream.Init(System.UInt32,System.UInt32)">
            <summary>
            Initialize the stream, setting up the amount of space that will be
            allocated for the stream&apos;s backing-store.
            </summary>
            <param name="segmentSize">
            Size of each segment. Must be a power of two.
            </param>
            <param name="maxSize">
            Maximum total size of this stream. length will always be less
            than or equal to this value. Passing UINT32_MAX is safe.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStorageStream.GetOutputStream(System.Int32)">
            <summary>
            Get a reference to the one and only output stream for this instance.
            The zero-based startPosition argument is used is used to set the initial
            write cursor position.  The startPosition cannot be set larger than the
            current buffer length.  Calling this method has the side-effect of
            truncating the internal buffer to startPosition bytes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStorageStream.NewInputStream(System.Int32)">
            <summary>
            Create a new input stream to read data (written by the singleton output
            stream) from the internal buffer.  Multiple, independent input streams
            can be created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStorageStream.GetLengthAttribute">
            <summary>
            The length attribute indicates the total number of bytes stored in the
            nsIStorageStream internal buffer, regardless of any consumption by input
            streams.  Assigning to the length field can be used to truncate the
            buffer data, but can not be used when either the instance&apos;s output
            stream is in use.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStorageStream.GetWriteInProgressAttribute">
            <summary>
            True, when output stream has not yet been Close&apos;ed
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamBufferAccess">
            <summary>
            An interface for access to a buffering stream implementation&apos;s underlying
            memory buffer.
            
            Stream implementations that QueryInterface to nsIStreamBufferAccess must
            ensure that all buffers are aligned on the most restrictive type size for
            the current architecture (e.g., sizeof(double) for RISCy CPUs).  malloc(3)
            satisfies this requirement.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamBufferAccess.GetBuffer(System.UInt32,System.UInt32)">
            <summary>
            Get access to a contiguous, aligned run of bytes in the stream&apos;s buffer.
            Exactly one successful getBuffer call must occur before a putBuffer call
            taking the non-null pointer returned by the successful getBuffer.
            
            The run of bytes are the next bytes (modulo alignment padding) to read
            for an input stream, and the next bytes (modulo alignment padding) to
            store before (eventually) writing buffered data to an output stream.
            There can be space beyond this run of bytes in the buffer for further
            accesses before the fill or flush point is reached.
            </summary>
            <param name="aLength">
            Count of contiguous bytes requested at the address A that satisfies
            (A &amp; aAlignMask) == 0 in the buffer, starting from the current stream
            position, mapped to a buffer address B.  The stream implementation
            must pad from B to A by skipping bytes (if input stream) or storing
            zero bytes (if output stream).
            </param>
            <param name="aAlignMask">
            Bit-mask computed by subtracting 1 from the power-of-two alignment
            modulus (e.g., 3 or sizeof(uint32_t)-1 for uint32_t alignment).
            </param>
            <returns>
            The aligned pointer to aLength bytes in the buffer, or null if the
            buffer has no room for aLength bytes starting at the next address A
            after the current position that satisfies (A &amp; aAlignMask) == 0.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamBufferAccess.PutBuffer(System.IntPtr,System.UInt32)">
            <summary>
            Relinquish access to the stream&apos;s buffer, filling if at end of an input
            buffer, flushing if completing an output buffer.  After a getBuffer call
            that returns non-null, putBuffer must be called.
            </summary>
            <param name="aBuffer">
            A non-null pointer returned by getBuffer on the same stream buffer
            access object.
            </param>
            <param name="aLength">
            The same count of contiguous bytes passed to the getBuffer call that
            returned aBuffer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamBufferAccess.DisableBuffering">
            <summary>
            Disable and enable buffering on the stream implementing this interface.
            DisableBuffering flushes an output stream&apos;s buffer, and invalidates an
            input stream&apos;s buffer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamBufferAccess.GetUnbufferedStreamAttribute">
            <summary>
            The underlying, unbuffered input or output stream.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamConverterService">
            <summary>
            The nsIStreamConverterService is a higher level stream converter factory
            responsible for locating and creating stream converters
            (nsIStreamConverter).
            
            This service retrieves an interface that can convert data from a particular
            MIME type, to a particular MIME type. It is responsible for any intermediary
            conversion required in order to get from X to Z, assuming direct conversion
            is not possible.
            </summary>
            <remarks>
            See nsIStreamConverter
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverterService.CanConvert(System.String,System.String)">
            <summary>
            Tests whether conversion between the two specified types is possible.
            This is cheaper than calling convert()/asyncConvertData(); it is not
            necessary to call this function before calling one of those, though.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverterService.Convert(Gecko.Interfaces.nsIInputStream,System.String,System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;SYNCHRONOUS VERSION&lt;/b&gt;
            Converts a stream of one type, to a stream of another type.
            
            Use this method when you have a stream you want to convert.
            </summary>
            <param name="aFromStream">
            The stream representing the original/raw data.
            </param>
            <param name="aFromType">
            The MIME type of aFromStream.
            </param>
            <param name="aToType">
            The MIME type of the returned stream.
            </param>
            <param name="aContext">
            Either an opaque context, or a converter specific
            context (implementation specific).
            </param>
            <returns>
            The converted stream. NOTE: The returned stream
            may not already be converted. An efficient stream
            converter implementation will convert data on
            demand rather than buffering the converted data
            until it is used.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamConverterService.AsyncConvertData(System.String,System.String,Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;ASYNCHRONOUS VERSION&lt;/b&gt;
            Retrieves a nsIStreamListener that receives the original/raw data via its
            nsIStreamListener::OnDataAvailable() callback, then converts and pushes
            the data to aListener.
            
            Use this method when you want to proxy (and convert) nsIStreamListener
            callbacks asynchronously.
            </summary>
            <param name="aFromType">
            The MIME type of the original/raw data.
            </param>
            <param name="aToType">
            The MIME type of the converted data.
            </param>
            <param name="aListener">
            The listener that receives the converted data.
            </param>
            <param name="aCtxt">
            Either an opaque context, or a converter specific
            context (implementation specific).
            </param>
            <returns>
            A nsIStreamListener that receives data via its
            OnDataAvailable() method.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamingProtocolMetaData">
            <summary>
            Metadata of the media stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetFrameTypeAttribute">
            <summary>
            Frame type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetTotalTracksAttribute">
            <summary>
            The total tracks for the given media stream session.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetMimeTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The mime type of the track.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetWidthAttribute">
            <summary>
            The width of the resolution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetHeightAttribute">
            <summary>
            The height of the resolution.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetDurationAttribute">
            <summary>
            The duration of the media stream in units of microseconds.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetSampleRateAttribute">
            <summary>
            The sample rate of the media stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetTimeStampAttribute">
            <summary>
            The timestamp indicates the stream absolute position
            relative to the beginning of the presentation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetChannelCountAttribute">
            <summary>
            The total number of audio channels in the media stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetEsdsDataAttribute(Gecko.nsACStringBase)">
            <summary>
            The AAC audio codec specific data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolMetaData.GetAvccDataAttribute(Gecko.nsACStringBase)">
            <summary>
            The AVCC format extradata of H.264 stream.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamingProtocolListener">
            <summary>
            nsIStreamingProtocolListener
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolListener.OnMediaDataAvailable(System.Byte,Gecko.nsACStringBase,System.UInt32,System.UInt32,Gecko.Interfaces.nsIStreamingProtocolMetaData)">
            <summary>
            Called when the data may be read without blocking the calling thread.
            </summary>
            <param name="index">
            The track number of the media stream.
            </param>
            <param name="data">
            Raw data of the media stream on given track number.
            </param>
            <param name="length">
            The length of the raw data.
            </param>
            <param name="offset">
            The offset in the data stream from the start of the media
            presentation in bytes.
            </param>
            <param name="meta">
            The meta data of the frame.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolListener.OnConnected(System.Byte,Gecko.Interfaces.nsIStreamingProtocolMetaData)">
            <summary>
            Called when the meta data for a given session is available.
            </summary>
            <param name="index">
            The track number of the media stream.
            </param>
            <param name="meta">
            The meta data of the media stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolListener.OnDisconnected(System.Byte,System.Int32)">
            <summary>
            Called when the Rtsp session is closed.
            </summary>
            <param name="index">
            Track number of the media stream.
            </param>
            <param name="reason">
            The reason of disconnection.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamingProtocolController">
            <summary>
            Media stream controller API: control and retrieve meta data from media stream.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolController.Init(Gecko.Interfaces.nsIURI)">
            <summary>
            Preprare the URI before we can start the connection.
            </summary>
            <param name="aUri">
            The URI of the media stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolController.AsyncOpen(Gecko.Interfaces.nsIStreamingProtocolListener)">
            <summary>
            Asynchronously open this controller.  Data is fed to the specified
            media stream listener as it becomes available. If asyncOpen returns
            successfully, the controller is responsible for keeping itself alive
            until it has called onStopRequest on aListener.
            </summary>
            <param name="aListener">
            The nsIStreamingProtocolListener implementation
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamingProtocolController.GetTotalTracksAttribute">
            <summary>
            Total number of audio/video tracks.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamingProtocolControllerService">
            <summary>
            Media stream controller Service API.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamListenerTee">
            <summary>
            As data &quot;flows&quot; into a stream listener tee, it is copied to the output stream
            and then forwarded to the real listener.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListenerTee.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListenerTee.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListenerTee.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListenerTee.Init(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsIOutputStream,Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Initalize the tee.
            </summary>
            <param name="listener">
            the original listener the tee will propagate onStartRequest,
            onDataAvailable and onStopRequest notifications to, exceptions from
            the listener will be propagated back to the channel
            </param>
            <param name="sink">
            the stream the data coming from the channel will be written to,
            should be blocking
            </param>
            <param name="requestObserver">
            optional parameter, listener that gets only onStartRequest and
            onStopRequest notifications; exceptions threw within this optional
            observer are also propagated to the channel, but exceptions from
            the original listener (listener parameter) are privileged
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamListenerTee.InitAsync(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsIEventTarget,Gecko.Interfaces.nsIOutputStream,Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Initalize the tee like above, but with the extra parameter to make it
            possible to copy the output asynchronously
            </summary>
            <param name="anEventTarget">
            if set, this event-target is used to copy data to the output stream,
            giving an asynchronous tee
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamLoaderObserver.OnStreamComplete(Gecko.Interfaces.nsIStreamLoader,Gecko.Interfaces.nsISupports,System.Int32,System.UInt32,System.Byte[])">
            <summary>
            Called when the entire stream has been loaded.
            </summary>
            <param name="loader">
            the stream loader that loaded the stream.
            </param>
            <param name="ctxt">
            the context parameter of the underlying channel
            </param>
            <param name="status">
            the status of the underlying channel
            </param>
            <param name="resultLength">
            the length of the data loaded
            </param>
            <param name="result">
            the data
            
            This method will always be called asynchronously by the
            nsIStreamLoader involved, on the thread that called the
            loader&apos;s init() method.
            
            If the observer wants to take over responsibility for the
            data buffer (result), it returns NS_SUCCESS_ADOPTED_DATA
            in place of NS_OK as its success code. The loader will then
            &quot;forget&quot; about the data and not free() it after
            onStreamComplete() returns; observer must call free()
            when the data is no longer required.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamLoader">
            <summary>
            Asynchronously loads a channel into a memory buffer.
            
            To use this interface, first call init() with a nsIStreamLoaderObserver
            that will be notified when the data has been loaded. Then call asyncOpen()
            on the channel with the nsIStreamLoader as the listener. The context
            argument in the asyncOpen() call will be passed to the onStreamComplete()
            callback.
            
            XXX define behaviour for sizes &gt;4 GB
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamLoader.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamLoader.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamLoader.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamLoader.Init(Gecko.Interfaces.nsIStreamLoaderObserver,Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Initialize this stream loader, and start loading the data.
            </summary>
            <param name="aStreamObserver">
            An observer that will be notified when the data is complete.
            </param>
            <param name="aRequestObserver">
            An optional observer that will be notified when the request
            has started or stopped.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamLoader.GetNumBytesReadAttribute">
            <summary>
            Gets the number of bytes read so far.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamLoader.GetRequestAttribute">
            <summary>
            Gets the request that loaded this file.
            null after the request has finished loading.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStreamTransportService">
            <summary>
            This service read/writes a stream on a background thread.
            
            Use this service to transform any blocking stream (e.g., file stream)
            into a fully asynchronous stream that can be read/written without
            blocking the main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamTransportService.CreateInputTransport(Gecko.Interfaces.nsIInputStream,System.Int64,System.Int64,System.Boolean)">
            <summary>
            CreateInputTransport
            </summary>
            <param name="aStream">
            The input stream that will be read on a background thread.
            This stream must implement &quot;blocking&quot; stream semantics.
            </param>
            <param name="aStartOffset">
            The input stream will be read starting from this offset.  Pass
            -1 to read from the current stream offset.  NOTE: this parameter
            is ignored if the stream does not support nsISeekableStream.
            </param>
            <param name="aReadLimit">
            This parameter limits the number of bytes that will be read from
            the input stream.  Pass -1 to read everything.
            </param>
            <param name="aCloseWhenDone">
            Specify this flag to have the input stream closed once its
            contents have been completely read.
            </param>
            <returns>
            nsITransport instance.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIStreamTransportService.CreateOutputTransport(Gecko.Interfaces.nsIOutputStream,System.Int64,System.Int64,System.Boolean)">
            <summary>
            CreateOutputTransport
            </summary>
            <param name="aStream">
            The output stream that will be written to on a background thread.
            This stream must implement &quot;blocking&quot; stream semantics.
            </param>
            <param name="aStartOffset">
            The output stream will be written starting at this offset.  Pass
            -1 to write to the current stream offset.  NOTE: this parameter
            is ignored if the stream does not support nsISeekableStream.
            </param>
            <param name="aWriteLimit">
            This parameter limits the number of bytes that will be written to
            the output stream.  Pass -1 for unlimited writing.
            </param>
            <param name="aCloseWhenDone">
            Specify this flag to have the output stream closed once its
            contents have been completely written.
            </param>
            <returns>
            nsITransport instance.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringBundleService.FormatStatusMessage(System.Int32,System.String)">
            <summary>
            Formats a message string from a status code and status arguments.
            </summary>
            <param name="aStatus">
            - The status code. This is mapped into a string ID and
            and used in the string lookup process (see nsIErrorService).
            </param>
            <param name="aStatusArg">
            - The status message argument(s). Multiple arguments
            can be separated by newline (&apos;\n&apos;) characters.
            </param>
            <returns>
            the formatted message
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringBundleService.FlushBundles">
            <summary>
            flushes the string bundle cache - useful when the locale changes or
            when we need to get some extra memory back
            
            at some point, we might want to make this flush all the bundles,
            because any bundles that are floating around when the locale changes
            will suddenly contain bad data
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringBundleOverride.GetStringFromName(Gecko.nsAUTF8StringBase,Gecko.nsACStringBase,Gecko.nsAStringBase)">
            <summary>
            get the override value for a particular key in a particular
            string bundle
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringBundleOverride.EnumerateKeysInBundle(Gecko.nsAUTF8StringBase)">
            <summary>
            get all override keys for a given string bundle
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIStringInputStream">
            <summary>
            nsIStringInputStream
            
            Provides scriptable and specialized C++-only methods for initializing a
            nsIInputStream implementation with a simple character array.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.Close">
            <summary>
            Close the stream.  This method causes subsequent calls to Read and
            ReadSegments to return 0 bytes read to indicate end-of-file.  Any
            subsequent calls to Available should throw NS_BASE_STREAM_CLOSED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some nsIInputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.Read(System.IntPtr,System.UInt32)">
            <summary>
            Read data from the stream.
            </summary>
            <param name="aBuf">
            the buffer into which the data is to be read
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            &lt;other-error&gt;: on failure
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.ReadSegments(Gecko.Interfaces.nsWriteSegmentFun,System.IntPtr,System.UInt32)">
            <summary>
            Low-level read method that provides access to the stream's underlying
            buffer.  The writer function may be called multiple times for segmented
            buffers.  ReadSegments is expected to keep calling the writer until
            either there is nothing left to read or the writer returns an error.
            ReadSegments should not call the writer with zero bytes to consume.
            </summary>
            <param name="aWriter">
            the "consumer" of the data to be read
            </param>
            <param name="aClosure">
            opaque parameter passed to writer
            </param>
            <param name="aCount">
            the maximum number of bytes to be read
            </param>
            <returns>
            0 if reached end-of-file (or if aWriter refused to consume data)
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_WOULD_BLOCK: if reading from the input stream would
            block the calling thread (non-blocking mode only)
            NS_ERROR_NOT_IMPLEMENTED: if the stream has no underlying buffer
            &lt;other-error&gt;: on failure
            
            NOTE: this function may be unimplemented if a stream has no underlying
            buffer (e.g., socket input stream).
            
            NOTE: this method should not throw NS_BASE_STREAM_CLOSED.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.IsNonBlocking">
            <summary>
            
            </summary>
            <returns>
            true if stream is non-blocking
            
            NOTE: reading from a blocking input stream will block the calling thread
            until at least one byte of data can be extracted from the stream.
            
            NOTE: a non-blocking input stream may implement nsIAsyncInputStream to
            provide consumers with a way to wait for the stream to have more data
            once its read method is unable to return any data without blocking.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.SetData(System.String,System.Int32)">
            <summary>
            SetData - assign data to the input stream (copied on assignment).
            </summary>
            <param name="data">
            - stream data
            </param>
            <param name="dataLen">
            - stream data length (-1 if length should be computed)
            
            NOTE: C++ code should consider using AdoptData or ShareData to avoid
            making an extra copy of the stream data.
            
            NOTE: For JS callers, the given data must not contain null characters
            (other than a null terminator) because a null character in the middle of
            the data string will be seen as a terminator when the data is converted
            from a JS string to a C++ character array.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.AdoptData(System.IntPtr,System.Int32)">
            <summary>
            AdoptData - assign data to the input stream.  the input stream takes
            ownership of the given data buffer and will free it when
            the input stream is destroyed.
            </summary>
            <param name="data">
            - stream data
            </param>
            <param name="dataLen">
            - stream data length (-1 if length should be computed)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIStringInputStream.ShareData(System.String,System.Int32)">
            <summary>
            ShareData - assign data to the input stream.  the input stream references
            the given data buffer until the input stream is destroyed.  the given
            data buffer must outlive the input stream.
            </summary>
            <param name="data">
            - stream data
            </param>
            <param name="dataLen">
            - stream data length (-1 if length should be computed)
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIStructuredCloneContainer">
            <summary>
            This interface acts as a container for an object serialized using the
            structured clone algorithm.
            
            You can copy an object into an nsIStructuredCloneContainer using
            initFromJSVal or initFromBase64.  It&apos;s an error to initialize an
            nsIStructuredCloneContainer more than once.
            
            Once you&apos;ve initialized the container, you can get a copy of the object it
            stores by calling deserializeToVariant.  You can also get a base-64-encoded
            string containing a copy of the container&apos;s serialized data, using
            getDataAsBase64.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStructuredCloneContainer.InitFromJSVal(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Initialize this structured clone container so it contains a clone of the
            given jsval.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStructuredCloneContainer.InitFromBase64(Gecko.nsAStringBase,System.UInt32)">
            <summary>
            Initialize this structured clone container from a base-64-encoded byte
            stream, stored in aData.  aFormatVersion should be the version of the
            structured clone algorithm which was used to generate aData.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStructuredCloneContainer.DeserializeToJsval(System.IntPtr)">
            <summary>
            Deserializes this structured clone container returning it as a jsval.
            Can be called on main and worker threads.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStructuredCloneContainer.DeserializeToVariant(System.IntPtr)">
            <summary>
            Deserialize the object this container holds, returning it wrapped as
            an nsIVariant.
            Main thread only!
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStructuredCloneContainer.GetDataAsBase64(Gecko.nsAStringBase)">
            <summary>
            Get this structured clone container&apos;s data as a base-64-encoded string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStructuredCloneContainer.GetSerializedNBytesAttribute">
            <summary>
            Get the size in bytes of this container&apos;s serialized data.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStructuredCloneContainer.GetFormatVersionAttribute">
            <summary>
            Get the version of the structured clone algorithm which was used to
            generate this container&apos;s serialized buffer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStyleSheetService.LoadAndRegisterSheet(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Synchronously loads a style sheet from |sheetURI| and adds it to the list
            of user or agent style sheets.
            
            A user sheet loaded via this API will come before userContent.css and
            userChrome.css in the cascade (so the rules in it will have lower
            precedence than rules in those sheets).
            
            An agent sheet loaded via this API will come after ua.css in the cascade
            (so the rules in it will have higher precedence than rules in ua.css).
            
            The relative ordering of two user or two agent sheets loaded via
            this API is undefined.
            
            Sheets added via this API take effect on all documents, including
            already-loaded ones, immediately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStyleSheetService.SheetRegistered(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Returns true if a style sheet at |sheetURI| has previously been
            added to the list of style sheets specified by |type|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStyleSheetService.PreloadSheet(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Synchronously loads a style sheet from |sheetURI| and returns the
            new style sheet object. Can be used with nsIDOMWindowUtils.addSheet.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIStyleSheetService.UnregisterSheet(Gecko.Interfaces.nsIURI,System.UInt32)">
            <summary>
            Remove the style sheet at |sheetURI| from the list of style sheets
            specified by |type|.  The removal takes effect immediately, even for
            already-loaded documents.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISupportsArray.Read(Gecko.Interfaces.nsIObjectInputStream)">
            <summary>
            Initialize the object implementing nsISerializable, which must have
            been freshly constructed via CreateInstance.  All data members that
            can&apos;t be set to default values must have been serialized by write,
            and should be read from aInputStream in the same order by this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISupportsArray.Write(Gecko.Interfaces.nsIObjectOutputStream)">
            <summary>
            Serialize the object implementing nsISerializable to aOutputStream, by
            writing each data member that must be recovered later to reconstitute
            a working replica of this object, in a canonical member and byte order,
            to aOutputStream.
            
            NB: a class that implements nsISerializable *must* also implement
            nsIClassInfo, in particular nsIClassInfo::GetClassID.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISupportsArray.Enumerate">
            <summary>
            This clashes with |nsISimpleEnumerator nsIArray.enumerate()| (only on the
            binary side), so it is renamed with a &apos;Deprecated&apos; prefix in favor of the
            non-deprecated |nsIArray.enumerate|.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIOutputIterator">
            <summary>
            ...
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputIterator.PutElement(Gecko.Interfaces.nsISupports)">
            <summary>
            Put |anElementToPut| into the underlying container or sequence at the position currently pointed to by this iterator.
            The iterator and the underlying container or sequence cooperate to |Release()|
            the replaced element, if any and if necessary, and to |AddRef()| the new element.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
            <param name="anElementToPut">
            the element to place into the underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIOutputIterator.StepForward">
            <summary>
            Advance this iterator to the next position in the underlying container or sequence.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIInputIterator">
            <summary>
            ...
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputIterator.GetElement">
            <summary>
            Retrieve (and |AddRef()|) the element this iterator currently points to.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputIterator.StepForward">
            <summary>
            Advance this iterator to the next position in the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputIterator.IsEqualTo(Gecko.Interfaces.nsISupports)">
            <summary>
            Test if |anotherIterator| points to the same position in the underlying container or sequence.
            
            The result is undefined if |anotherIterator| was not created by or for the same underlying container or sequence.
            </summary>
            <param name="anotherIterator">
            another iterator to compare against, created by or for the same underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIInputIterator.Clone">
            <summary>
            Create a new iterator pointing to the same position in the underlying container or sequence to which this iterator currently points.
            The returned iterator is suitable for use in a subsequent call to |isEqualTo()| against this iterator.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIForwardIterator">
            <summary>
            ...
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIForwardIterator.GetElement">
            <summary>
            Retrieve (and |AddRef()|) the element this iterator currently points to.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIForwardIterator.PutElement(Gecko.Interfaces.nsISupports)">
            <summary>
            Put |anElementToPut| into the underlying container or sequence at the position currently pointed to by this iterator.
            The iterator and the underlying container or sequence cooperate to |Release()|
            the replaced element, if any and if necessary, and to |AddRef()| the new element.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
            <param name="anElementToPut">
            the element to place into the underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIForwardIterator.StepForward">
            <summary>
            Advance this iterator to the next position in the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIForwardIterator.IsEqualTo(Gecko.Interfaces.nsISupports)">
            <summary>
            Test if |anotherIterator| points to the same position in the underlying container or sequence.
            
            The result is undefined if |anotherIterator| was not created by or for the same underlying container or sequence.
            </summary>
            <param name="anotherIterator">
            another iterator to compare against, created by or for the same underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIForwardIterator.Clone">
            <summary>
            Create a new iterator pointing to the same position in the underlying container or sequence to which this iterator currently points.
            The returned iterator is suitable for use in a subsequent call to |isEqualTo()| against this iterator.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIBidirectionalIterator">
            <summary>
            ...
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalIterator.GetElement">
            <summary>
            Retrieve (and |AddRef()|) the element this iterator currently points to.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalIterator.PutElement(Gecko.Interfaces.nsISupports)">
            <summary>
            Put |anElementToPut| into the underlying container or sequence at the position currently pointed to by this iterator.
            The iterator and the underlying container or sequence cooperate to |Release()|
            the replaced element, if any and if necessary, and to |AddRef()| the new element.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
            <param name="anElementToPut">
            the element to place into the underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalIterator.StepForward">
            <summary>
            Advance this iterator to the next position in the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalIterator.StepBackward">
            <summary>
            Move this iterator to the previous position in the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalIterator.IsEqualTo(Gecko.Interfaces.nsISupports)">
            <summary>
            Test if |anotherIterator| points to the same position in the underlying container or sequence.
            
            The result is undefined if |anotherIterator| was not created by or for the same underlying container or sequence.
            </summary>
            <param name="anotherIterator">
            another iterator to compare against, created by or for the same underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIBidirectionalIterator.Clone">
            <summary>
            Create a new iterator pointing to the same position in the underlying container or sequence to which this iterator currently points.
            The returned iterator is suitable for use in a subsequent call to |isEqualTo()| against this iterator.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIRandomAccessIterator">
            <summary>
            ...
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.GetElement">
            <summary>
            Retrieve (and |AddRef()|) the element this iterator currently points to.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.GetElementAt(System.Int32)">
            <summary>
            Retrieve (and |AddRef()|) an element at some offset from where this iterator currently points.
            The offset may be negative.  |getElementAt(0)| is equivalent to |getElement()|.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
            <param name="anOffset">
            a |0|-based offset from the position to which this iterator currently points
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.PutElement(Gecko.Interfaces.nsISupports)">
            <summary>
            Put |anElementToPut| into the underlying container or sequence at the position currently pointed to by this iterator.
            The iterator and the underlying container or sequence cooperate to |Release()|
            the replaced element, if any and if necessary, and to |AddRef()| the new element.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
            <param name="anElementToPut">
            the element to place into the underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.PutElementAt(System.Int32,Gecko.Interfaces.nsISupports)">
            <summary>
            Put |anElementToPut| into the underlying container or sequence at the position |anOffset| away from that currently pointed to by this iterator.
            The iterator and the underlying container or sequence cooperate to |Release()|
            the replaced element, if any and if necessary, and to |AddRef()| the new element.
            |putElementAt(0, obj)| is equivalent to |putElement(obj)|.
            
            The result is undefined if this iterator currently points outside the
            useful range of the underlying container or sequence.
            </summary>
            <param name="anOffset">
            a |0|-based offset from the position to which this iterator currently points
            </param>
            <param name="anElementToPut">
            the element to place into the underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.StepForward">
            <summary>
            Advance this iterator to the next position in the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.StepForwardBy(System.Int32)">
            <summary>
            Move this iterator by |anOffset| positions in the underlying container or sequence.
            |anOffset| may be negative.  |stepForwardBy(1)| is equivalent to |stepForward()|.
            |stepForwardBy(0)| is a no-op.
            </summary>
            <param name="anOffset">
            a |0|-based offset from the position to which this iterator currently points
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.StepBackward">
            <summary>
            Move this iterator to the previous position in the underlying container or sequence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.StepBackwardBy(System.Int32)">
            <summary>
            Move this iterator backwards by |anOffset| positions in the underlying container or sequence.
            |anOffset| may be negative.  |stepBackwardBy(1)| is equivalent to |stepBackward()|.
            |stepBackwardBy(n)| is equivalent to |stepForwardBy(-n)|.  |stepBackwardBy(0)| is a no-op.
            </summary>
            <param name="anOffset">
            a |0|-based offset from the position to which this iterator currently points
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.IsEqualTo(Gecko.Interfaces.nsISupports)">
            <summary>
            Test if |anotherIterator| points to the same position in the underlying container or sequence.
            
            The result is undefined if |anotherIterator| was not created by or for the same underlying container or sequence.
            </summary>
            <param name="anotherIterator">
            another iterator to compare against, created by or for the same underlying container or sequence
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIRandomAccessIterator.Clone">
            <summary>
            Create a new iterator pointing to the same position in the underlying container or sequence to which this iterator currently points.
            The returned iterator is suitable for use in a subsequent call to |isEqualTo()| against this iterator.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPrimitive">
            <summary>
            Primitive base interface.
            
            These first three are pointer types and do data copying
            using the nsIMemory. Be careful!
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsID">
            <summary>
            Scriptable storage for nsID structures
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsCString">
            <summary>
            Scriptable storage for ASCII strings
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsString">
            <summary>
            Scriptable storage for Unicode strings
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRBool">
            <summary>
            Scriptable storage for booleans
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRUint8">
            <summary>
            Scriptable storage for 8-bit integers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRUint16">
            <summary>
            Scriptable storage for unsigned 16-bit integers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRUint32">
            <summary>
            Scriptable storage for unsigned 32-bit integers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRUint64">
            <summary>
            Scriptable storage for 64-bit integers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRTime">
            <summary>
            Scriptable storage for NSPR date/time values
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsChar">
            <summary>
            Scriptable storage for single character values
            (often used to store an ASCII character)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRInt16">
            <summary>
            Scriptable storage for 16-bit integers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRInt32">
            <summary>
            Scriptable storage for 32-bit integers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPRInt64">
            <summary>
            Scriptable storage for 64-bit integers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsFloat">
            <summary>
            Scriptable storage for floating point numbers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsDouble">
            <summary>
            Scriptable storage for doubles
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsVoid">
            <summary>
            Scriptable storage for generic pointers
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsInterfacePointer">
            <summary>
            Scriptable storage for other XPCOM objects
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsPriority">
            <summary>
            This interface exposes the general notion of a scheduled object with a
            integral priority value.  Following UNIX conventions, smaller (and possibly
            negative) values have higher priority.
            
            This interface does not strictly define what happens when the priority of an
            object is changed.  An implementation of this interface is free to define
            the side-effects of changing the priority of an object.  In some cases,
            changing the priority of an object may be disallowed (resulting in an
            exception being thrown) or may simply be ignored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISupportsPriority.GetPriorityAttribute">
            <summary>
            This attribute may be modified to change the priority of this object.  The
            implementation of this interface is free to truncate a given priority
            value to whatever limits are appropriate.  Typically, this attribute is
            initialized to PRIORITY_NORMAL, but implementations may choose to assign a
            different initial value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISupportsPriority.AdjustPriority(System.Int32)">
            <summary>
            This method adjusts the priority attribute by a given delta.  It helps
            reduce the amount of coding required to increment or decrement the value
            of the priority attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncJPAKE.Round1(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Perform first round of the JPAKE exchange.
            </summary>
            <param name="aSignerID">
            String identifying the signer.
            </param>
            <param name="aGX1">
            Schnorr signature value g^x1, in hex representation.
            </param>
            <param name="aGV1">
            Schnorr signature value g^v1 (v1 is a random value), in hex
            representation.
            </param>
            <param name="aR1">
            Schnorr signature value r1 = v1 - x1 * h, in hex representation.
            </param>
            <param name="aGX2">
            Schnorr signature value g^x2, in hex representation.
            </param>
            <param name="aGV2">
            Schnorr signature value g^v2 (v2 is a random value), in hex
            representation.
            </param>
            <param name="aR2">
            Schnorr signature value r2 = v2 - x2 * h, in hex representation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncJPAKE.Round2(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Perform second round of the JPAKE exchange.
            </summary>
            <param name="aPeerID">
            String identifying the peer.
            </param>
            <param name="aPIN">
            String containing the weak secret (PIN).
            </param>
            <param name="aGX3">
            Schnorr signature value g^x3, in hex representation.
            </param>
            <param name="aGV3">
            Schnorr signature value g^v3 (v3 is a random value), in hex
            representation.
            </param>
            <param name="aR3">
            Schnorr signature value r3 = v3 - x3 * h, in hex representation.
            </param>
            <param name="aGX4">
            Schnorr signature value g^x4, in hex representation.
            </param>
            <param name="aGV4">
            Schnorr signature value g^v4 (v4 is a random value), in hex
            representation.
            </param>
            <param name="aR4">
            Schnorr signature value r4 = v4 - x4 * h, in hex representation.
            </param>
            <param name="aA">
            Schnorr signature value A, in hex representation.
            </param>
            <param name="aGVA">
            Schnorr signature value g^va (va is a random value), in hex
            representation.
            </param>
            <param name="aRA">
            Schnorr signature value ra = va - xa * h, in hex representation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncJPAKE.Final(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Perform the final step of the JPAKE exchange. This will compute
            the key and expand the key to two keys, an AES256 encryption key
            and a 256 bit HMAC key. It returns a key confirmation value
            (SHA256d of the key) and the encryption and HMAC keys.
            </summary>
            <param name="aB">
            Schnorr signature value B, in hex representation.
            </param>
            <param name="aGVB">
            Schnorr signature value g^vb (vb is a random value), in hex
            representation.
            </param>
            <param name="aRB">
            Schnorr signature value rb = vb - xb * h, in hex representation.
            </param>
            <param name="aAES256Key">
            The AES 256 encryption key, in base64 representation.
            </param>
            <param name="aHMAC256Key">
            The 256 bit HMAC key, in base64 representation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncStreamListener.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncStreamListener.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncStreamListener.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISyncStreamListener.GetInputStreamAttribute">
            <summary>
            Returns an input stream that when read will fetch data delivered to the
            sync stream listener.  The nsIInputStream implementation will wait for
            OnDataAvailable events before returning from Read.
            
            NOTE: Reading from the returned nsIInputStream may spin the current
            thread&apos;s event queue, which could result in any event being processed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISynthVoiceRegistry.AddVoice(Gecko.Interfaces.nsISpeechService,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean,System.Boolean)">
            <summary>
            Register a speech synthesis voice.
            </summary>
            <param name="aService">
            the service that provides this voice.
            </param>
            <param name="aUri">
            a unique identifier for this voice.
            </param>
            <param name="aName">
            human-readable name for this voice.
            </param>
            <param name="aLang">
            a BCP 47 language tag.
            </param>
            <param name="aLocalService">
            true if service does not require network.
            </param>
            <param name="aQueuesUtterances">
            true if voice only speaks one utterance at a time
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISynthVoiceRegistry.RemoveVoice(Gecko.Interfaces.nsISpeechService,Gecko.nsAStringBase)">
            <summary>
            Remove a speech synthesis voice.
            </summary>
            <param name="aService">
            the service that was used to add the voice.
            </param>
            <param name="aUri">
            a unique identifier of an existing voice.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsISynthVoiceRegistry.NotifyVoicesChanged">
            <summary>
            Notify content of voice availability changes. This allows content
            to be notified of voice catalog changes in real time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISynthVoiceRegistry.SetDefaultVoice(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Set a voice as default.
            </summary>
            <param name="aUri">
            a unique identifier of an existing voice.
            </param>
            <param name="aIsDefault">
            true if this voice should be toggled as default.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsISystemProxySettings">
            <summary>
            This interface allows the proxy code to use platform-specific proxy
            settings when the proxy preference is set to &quot;automatic discovery&quot;. This service
            acts like a PAC parser to netwerk, but it will actually read the system settings and
            either return the proper proxy data from the autoconfig URL specified in the system proxy,
            or generate proxy data based on the system&apos;s manual proxy settings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemProxySettings.GetMainThreadOnlyAttribute">
            <summary>
            Whether or not it is appropriate to execute getProxyForURI off the main thread.
            If that method can block (e.g. for WPAD as windows does) then it must be
            not mainThreadOnly to avoid creating main thread jank. The main thread only option is
            provided for implementations that do not block but use other main thread only
            functions such as dbus.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemProxySettings.GetPACURIAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            If non-empty, use this PAC file. If empty, call getProxyForURI instead.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemProxySettings.GetProxyForURI(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,System.Int32,Gecko.nsAUTF8StringBase)">
            <summary>
            See ProxyAutoConfig::getProxyForURI; this function behaves similarly except
            a more relaxed return string is allowed that includes full urls instead of just
            host:port syntax. e.g. &quot;PROXY http://www.foo.com:8080&quot; instead of
            &quot;PROXY www.foo.com:8080&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemUpdateListener.OnUpdateAvailable(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,System.UInt64,System.UInt64)">
            <summary>
            callback for notifying an update package is available for download.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemUpdateListener.OnProgress(System.UInt64,System.UInt64)">
            <summary>
            callback for notifying the download progress.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemUpdateListener.OnUpdateReady">
            <summary>
            callback for notifying an update package is ready to apply.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemUpdateListener.OnError(Gecko.nsAStringBase)">
            <summary>
            callback for notifying any error while
            checking/downloading/applying an update package.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemUpdateProvider.SetParameter(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Set the available parameter to the update provider.
            The available parameter is implementation-dependent.
            e.g. &quot;update-url&quot;, &quot;last-update-date&quot;, &quot;update-status&quot;, &quot;update-interval&quot;
            </summary>
            <param name="name">
            The number of languages.
            </param>
            <param name="languages">
            An array of languages.
            </param>
            <returns>
            true when setting an available parameter,
            false when setting an unavailable parameter.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemUpdateProvider.GetParameter(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Get the available parameter from the update provider.
            The available parameter is implementation-dependent.
            </summary>
            <param name="name">
            The available parameter.
            </param>
            <returns>
            The corresponding value to the name.
            Return null if try to get unavailable parameter.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsISystemUpdateProvider.SetListener(Gecko.Interfaces.nsISystemUpdateListener)">
            <summary>
            NOTE TO IMPLEMENTORS:
            Need to consider if it is necessary to fire the pending event when
            registering the listener.
            (E.g. UpdateAvailable or UpdateReady event.)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.InsertTableCell(System.Int32,System.Boolean)">
            <summary>
            Insert table methods
            Insert relative to the selected cell or the
            cell enclosing the selection anchor
            The selection is collapsed and is left in the new cell
            at the same row,col location as the original anchor cell
            </summary>
            <param name="aNumber">
            Number of items to insert
            </param>
            <param name="aAfter">
            If TRUE, insert after the current cell,
            else insert before current cell
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.DeleteTable">
            <summary>
            Delete table methods
            Delete starting at the selected cell or the
            cell (or table) enclosing the selection anchor
            The selection is collapsed and is left in the
            cell at the same row,col location as
            the previous selection anchor, if possible,
            else in the closest neigboring cell
            </summary>
            <param name="aNumber">
            Number of items to insert/delete
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.DeleteTableCellContents">
            <summary>
            Delete just the cell contents
            This is what should happen when Delete key is used
            for selected cells, to minimize upsetting the table layout
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.DeleteTableCell(System.Int32)">
            <summary>
            Delete cell elements as well as contents
            </summary>
            <param name="aNumber">
            Number of contiguous cells, rows, or columns
            
            When there are more than 1 selected cells, aNumber is ignored.
            For Delete Rows or Columns, the complete columns or rows are
            determined by the selected cells. E.g., to delete 2 complete rows,
            user simply selects a cell in each, and they don&apos;t
            have to be contiguous.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.SelectTableCell">
            <summary>
            Table Selection methods
            Selecting a row or column actually
            selects all cells (not TR in the case of rows)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.SelectBlockOfCells(Gecko.Interfaces.nsIDOMElement,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Select a rectangular block of cells:
            all cells falling within the row/column index of aStartCell
            to through the row/column index of the aEndCell
            aStartCell can be any location relative to aEndCell,
            as long as they are in the same table
            </summary>
            <param name="aStartCell">
            starting cell in block
            </param>
            <param name="aEndCell">
            ending cell in block
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.SwitchTableCellHeaderType(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Create a new TD or TH element, the opposite type of the supplied aSourceCell
            1. Copy all attributes from aSourceCell to the new cell
            2. Move all contents of aSourceCell to the new cell
            3. Replace aSourceCell in the table with the new cell
            </summary>
            <param name="aSourceCell">
            The cell to be replaced
            </param>
            <returns>
            The new cell that replaces aSourceCell
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.JoinTableCells(System.Boolean)">
            <summary>
            Merges contents of all selected cells
            for selected cells that are adjacent,
            this will result in a larger cell with appropriate
            rowspan and colspan, and original cells are deleted
            The resulting cell is in the location of the
            cell at the upper-left corner of the adjacent
            block of selected cells
            </summary>
            <param name="aMergeNonContiguousContents:">
            If true:
            Non-contiguous cells are not deleted,
            but their contents are still moved
            to the upper-left cell
            If false: contiguous cells are ignored
            
            If there are no selected cells,
            and selection or caret is in a cell,
            that cell and the one to the right
            are merged
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.SplitTableCell">
            <summary>
            Split a cell that has rowspan and/or colspan &gt; 0
            into cells such that all new cells have
            rowspan = 1 and colspan = 1
            All of the contents are not touched --
            they will appear to be in the upper-left cell
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.NormalizeTable(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Scan through all rows and add cells as needed so
            all locations in the cellmap are occupied.
            Used after inserting single cells or pasting
            a collection of cells that extend past the
            previous size of the table
            If aTable is null, it uses table enclosing the selection anchor
            This doesn&apos;t doesn&apos;t change the selection,
            thus it can be used to fixup all tables
            in a page independent of the selection
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetCellIndexes(Gecko.Interfaces.nsIDOMElement,System.Int32@,System.Int32@)">
            <summary>
            Get the row an column index from the layout&apos;s cellmap
            If aCell is null, it will try to find enclosing table of selection anchor
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetTableSize(Gecko.Interfaces.nsIDOMElement,System.Int32@,System.Int32@)">
            <summary>
            Get the number of rows and columns in a table from the layout&apos;s cellmap
            If aTable is null, it will try to find enclosing table of selection ancho
            Note that all rows in table will not have this many because of
            ROWSPAN effects or if table is not &quot;rectangular&quot; (has short rows)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetCellAt(Gecko.Interfaces.nsIDOMElement,System.Int32,System.Int32)">
            <summary>
            Get a cell element at cellmap grid coordinates
            A cell that spans across multiple cellmap locations will
            be returned multiple times, once for each location it occupies
            </summary>
            <param name="aTable">
            A table in the document
            </param>
            <param name="aRowIndex,">
            aColIndex     The 0-based cellmap indexes
            
            (in C++ returns: NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            passes NS_SUCCEEDED macro)
            
            You can scan for all cells in a row or column
            by iterating through the appropriate indexes
            until the returned aCell is null
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetCellDataAt(Gecko.Interfaces.nsIDOMElement,System.Int32,System.Int32,Gecko.Interfaces.nsIDOMElement@,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Boolean@)">
            <summary>
            Get a cell at cellmap grid coordinates and associated data
            A cell that spans across multiple cellmap locations will
            be returned multiple times, once for each location it occupies
            Examine the returned aStartRowIndex and aStartColIndex to see
            if it is in the same layout column or layout row:
            A &quot;layout row&quot; is all cells sharing the same top edge
            A &quot;layout column&quot; is all cells sharing the same left edge
            This is important to determine what to do when inserting or deleting a column or row
            </summary>
            <param name="aTable">
            A table in the document
            </param>
            <param name="aRowIndex,">
            aColIndex     The 0-based cellmap indexes
            returns values:
            </param>
            <param name="aCell">
            The cell at this cellmap location
            </param>
            <param name="aStartRowIndex">
            The row index where cell starts
            </param>
            <param name="aStartColIndex">
            The col index where cell starts
            </param>
            <param name="aRowSpan">
            May be 0 (to span down entire table) or number of cells spanned
            </param>
            <param name="aColSpan">
            May be 0 (to span across entire table) or number of cells spanned
            </param>
            <param name="aActualRowSpan">
            The actual number of cellmap locations (rows) spanned by the cell
            </param>
            <param name="aActualColSpan">
            The actual number of cellmap locations (columns) spanned by the cell
            </param>
            <param name="aIsSelected">
            
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetFirstRow(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Get the first row element in a table
            </summary>
            <returns>
            The row at the requested index
            Returns null if there are no rows in table
            (in C++ returns: NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            passes NS_SUCCEEDED macro)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetNextRow(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Get the next row element starting the search from aTableElement
            </summary>
            <param name="aTableElement">
            Any TR or child-of-TR element in the document
            </param>
            <returns>
            The row to start search from
            and the row returned from the search
            Returns null if there isn&apos;t another row
            (in C++ returns: NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            passes NS_SUCCEEDED macro)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.SetSelectionAfterTableEdit(Gecko.Interfaces.nsIDOMElement,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Reset a selected cell or collapsed selection (the caret) after table editing
            </summary>
            <param name="aTable">
            A table in the document
            </param>
            <param name="aRow">
            The row ...
            </param>
            <param name="aCol">
            ... and column defining the cell
            where we will try to place the caret
            </param>
            <param name="aSelected">
            If true, we select the whole cell instead of setting caret
            </param>
            <param name="aDirection">
            If cell at (aCol, aRow) is not found,
            search for previous cell in the same
            column (aPreviousColumn) or row (ePreviousRow)
            or don&apos;t search for another cell (aNoSearch)
            If no cell is found, caret is place just before table;
            and if that fails, at beginning of document.
            Thus we generally don&apos;t worry about the return value
            and can use the nsSetSelectionAfterTableEdit stack-based
            object to insure we reset the caret in a table-editing method.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetSelectedOrParentTableElement(Gecko.nsAStringBase,System.Int32@)">
            <summary>
            Examine the current selection and find
            a selected TABLE, TD or TH, or TR element.
            or return the parent TD or TH if selection is inside a table cell
            Returns null if no table element is found.
            </summary>
            <param name="aTagName">
            The tagname of returned element
            Note that &quot;td&quot; will be returned if name
            is actually &quot;th&quot;
            </param>
            <param name="aCount">
            How many table elements were selected
            This tells us if we have multiple cells selected
            (0 if element is a parent cell of selection)
            </param>
            <returns>
            The table element (table, row, or first selected cell)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetSelectedCellsType(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Generally used after GetSelectedOrParentTableElement
            to test if selected cells are complete rows or columns
            </summary>
            <param name="aElement">
            Any table or cell element or any element
            inside a table
            Used to get enclosing table.
            If null, selection&apos;s anchorNode is used
            </param>
            <returns>
            0                        aCellElement was not a cell
            (returned result = NS_ERROR_FAILURE)
            TABLESELECTION_CELL      There are 1 or more cells selected but
            complete rows or columns are not selected
            TABLESELECTION_ROW       All cells are in 1 or more rows
            and in each row, all cells selected
            Note: This is the value if all rows
            (thus all cells) are selected
            TABLESELECTION_COLUMN    All cells are in 1 or more columns
            and in each column, all cells are selected
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetFirstSelectedCell(Gecko.Interfaces.nsIDOMRange@)">
            <summary>
            Get first selected element from first selection range.
            (If multiple cells were selected this is the first in the order they were selected)
            Assumes cell-selection model where each cell
            is in a separate range (selection parent node is table row)
            </summary>
            <param name="aCell">
            [OUT] Selected cell or null if ranges don&apos;t contain
            cell selections
            </param>
            <param name="aRange">
            [OUT] Optional: if not null, return the selection range
            associated with the cell
            Returns the DOM cell element
            (in C++: returns NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            passes NS_SUCCEEDED macro)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetFirstSelectedCellInTable(System.Int32@,System.Int32@)">
            <summary>
            Get first selected element in the table
            This is the upper-left-most selected cell in table,
            ignoring the order that the user selected them (order in the selection ranges)
            Assumes cell-selection model where each cell
            is in a separate range (selection parent node is table row)
            </summary>
            <param name="aCell">
            Selected cell or null if ranges don&apos;t contain
            cell selections
            </param>
            <param name="aRowIndex">
            Optional: if not null, return row index of 1st cell
            </param>
            <param name="aColIndex">
            Optional: if not null, return column index of 1st cell
            
            Returns the DOM cell element
            (in C++: returns NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            passes NS_SUCCEEDED macro)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITableEditor.GetNextSelectedCell(Gecko.Interfaces.nsIDOMRange@)">
            <summary>
            Get next selected cell element from first selection range.
            Assumes cell-selection model where each cell
            is in a separate range (selection parent node is table row)
            Always call GetFirstSelectedCell() to initialize stored index of &quot;next&quot; cell
            </summary>
            <param name="aCell">
            Selected cell or null if no more selected cells
            or ranges don&apos;t contain cell selections
            </param>
            <param name="aRange">
            Optional: if not null, return the selection range
            associated with the cell
            
            Returns the DOM cell element
            (in C++: returns NS_EDITOR_ELEMENT_NOT_FOUND if an element is not found
            passes NS_SUCCEEDED macro)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITabParent.GetDocShellIsActiveAttribute">
            <summary>
            Manages the docshell active state of the remote browser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITabParent.GetIsPrerenderedAttribute">
            <summary>
            Whether this tabParent is in prerender mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITabParent.PreserveLayers(System.Boolean)">
            <summary>
            As an optimisation, setting the docshell&apos;s active state to
            inactive also triggers a layer invalidation to free up some
            potentially unhelpful memory usage. Calling preserveLayers
            will cause the layers to be preserved even for inactive
            docshells.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITabParent.SuppressDisplayport(System.Boolean)">
            <summary>
            During interactions where painting performance
            is more important than scrolling, we may temporarily
            suppress the displayport. Each enable called must be matched
            with a disable call.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITabParent.GetOsPidAttribute">
            <summary>
            The OS level process Id of the related child process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITabParent.NavigateByKey(System.Boolean,System.Boolean)">
            <summary>
            Navigate by key. If aForDocumentNavigation is true, navigate by document.
            If aForDocumentNavigation is false, navigate by element.
            
            If aForward is true, navigate to the first focusable element or document.
            If aForward is false, navigate to the last focusable element or document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaggingService.TagURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIVariant,System.UInt16)">
            <summary>
            Tags a URL with the given set of tags. Current tags set for the URL
            persist. Tags in aTags which are already set for the given URL are
            ignored.
            </summary>
            <param name="aURI">
            the URL to tag.
            </param>
            <param name="aTags">
            Array of tags to set for the given URL.  Each element within the
            array can be either a tag name (non-empty string) or a concrete
            itemId of a tag container.
            </param>
            <param name="[optional]">
            aSource
            A change source constant from nsINavBookmarksService::SOURCE_*.
            Defaults to SOURCE_DEFAULT if omitted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITaggingService.UntagURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIVariant,System.UInt16)">
            <summary>
            Removes tags from a URL. Tags from aTags which are not set for the
            given URL are ignored.
            </summary>
            <param name="aURI">
            the URL to un-tag.
            </param>
            <param name="aTags">
            Array of tags to unset.  Pass null to remove all tags from the given
            url.  Each element within the array can be either a tag name
            (non-empty string) or a concrete itemId of a tag container.
            </param>
            <param name="[optional]">
            aSource
            A change source constant from nsINavBookmarksService::SOURCE_*.
            Defaults to SOURCE_DEFAULT if omitted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITaggingService.GetURIsForTag(Gecko.nsAStringBase)">
            <summary>
            Retrieves all URLs tagged with the given tag.
            </summary>
            <param name="aTag">
            tag name
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITaggingService.GetTagsForURI(Gecko.Interfaces.nsIURI,System.UInt32@,System.IntPtr@)">
            <summary>
            Retrieves all tags set for the given URL.
            </summary>
            <param name="aURI">
            a URL.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITaggingService.GetAllTagsAttribute">
            <summary>
            Retrieves all tags used to tag URIs in the data-base (sorted by name).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaggingService.GetHasTagsAttribute">
            <summary>
            Whether any tags exist.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITaskbarOverlayIconController">
            <summary>
            Starting in Windows 7, applications can display an overlay on the icon in
            the taskbar. This class wraps around the native functionality to do this.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarOverlayIconController.SetOverlayIcon(Gecko.Interfaces.imgIContainer,Gecko.nsAStringBase)">
            <summary>
            Sets the overlay icon and its corresponding alt text.
            </summary>
            <param name="statusIcon">
            The handle to the overlay icon. The icon will be scaled
            to the small icon size (16x16 at 96 dpi). Can be null, in
            which case if the taskbar button represents a single window
            the icon is removed.
            </param>
            <param name="statusDescription">
            The alt text version of the information
            conveyed by the overlay, for accessibility
            purposes.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsITaskbarPreview">
            <summary>
            nsITaskbarPreview
            
            Common interface for both window and tab taskbar previews. This interface
            cannot be instantiated directly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreview.GetControllerAttribute">
            <summary>
            The controller for this preview. A controller is required to provide
            the behavior and appearance of the taskbar previews. It is responsible for
            determining the size and contents of the preview, which buttons are
            displayed and how the application responds to user actions on the preview.
            
            Neither preview makes full use of the controller. See the documentation
            for nsITaskbarWindowPreview and nsITaskbarTabPreview for details on which
            controller methods are used.
            
            The controller is not allowed to be null.
            </summary>
            <remarks>
            See nsITaskbarPreviewController
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreview.GetTooltipAttribute(Gecko.nsAStringBase)">
            <summary>
            The tooltip displayed above the preview when the user hovers over it
            
            Default: an empty string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreview.GetVisibleAttribute">
            <summary>
            Whether or not the preview is visible.
            
            Changing this option is expensive for tab previews since toggling this
            option will destroy/create the proxy window and its registration with the
            taskbar. If any step of that fails, an exception will be thrown.
            
            For window previews, this operation is very cheap.
            
            Default: false
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreview.GetActiveAttribute">
            <summary>
            Gets/sets whether or not the preview is marked active (selected) in the
            taskbar.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreview.Invalidate">
            <summary>
            Invalidates the taskbar&apos;s cached image of this preview, forcing a redraw
            if necessary
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITaskbarPreviewButton">
            <summary>
            nsITaskbarPreviewButton
            
            Provides access to a window preview&apos;s toolbar button&apos;s properties.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewButton.GetTooltipAttribute(Gecko.nsAStringBase)">
            <summary>
            The button&apos;s tooltip.
            
            Default: an empty string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewButton.GetDismissOnClickAttribute">
            <summary>
            True if the array of previews should be dismissed when this button is clicked.
            
            Default: false
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewButton.GetHasBorderAttribute">
            <summary>
            True if the taskbar should draw a border around this button&apos;s image.
            
            Default: true
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewButton.GetDisabledAttribute">
            <summary>
            True if the button is disabled. This is not the same as visible.
            
            Default: false
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewButton.GetImageAttribute">
            <summary>
            The icon used for the button.
            
            Default: null
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewButton.GetVisibleAttribute">
            <summary>
            True if the button is shown. Buttons that are invisible do not
            participate in the layout of buttons underneath the preview.
            
            Default: false
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITaskbarPreviewCallback">
            <summary>
            nsITaskbarPreviewCallback
            
            Provides an interface for async image result callbacks. See
            nsITaskbarPreviewController request apis below.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITaskbarPreviewController">
            <summary>
            nsITaskbarPreviewController
            
            nsITaskbarPreviewController provides the behavior for the taskbar previews.
            Its methods and properties are used by nsITaskbarPreview. Clients are
            intended to provide their own implementation of this interface. Depending on
            the interface the controller is attached to, only certain methods/attributes
            are required to be implemented.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.GetWidthAttribute">
            <summary>
            The width of the preview image. This value is allowed to change at any
            time. See drawPreview for more information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.GetHeightAttribute">
            <summary>
            The height of the preview image. This value is allowed to change at any
            time.  See drawPreview for more information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.GetThumbnailAspectRatioAttribute">
            <summary>
            The aspect ratio of the thumbnail - this does not need to match the ratio
            of the preview. This value is allowed to change at any time. See
            drawThumbnail for more information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.RequestPreview(Gecko.Interfaces.nsITaskbarPreviewCallback)">
            <summary>
            Invoked by nsITaskbarPreview when it needs to render the preview.
            </summary>
            <param name="aCallback">
            Async callback the controller should invoke once
            the thumbnail is rendered. aCallback receives as its only parameter
            a canvas containing the preview image.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.RequestThumbnail(Gecko.Interfaces.nsITaskbarPreviewCallback,System.UInt32,System.UInt32)">
            <summary>
            An asynchronous version of drawPreview and drawThumbnail apis
            implemented in nsITaskbarPreviewController.
            
            Note: it is guaranteed that width/height == thumbnailAspectRatio
            (modulo rounding errors)
            
            Also note that the context is not attached to a canvas element.
            </summary>
            <param name="aCallback">
            Async callback the controller should invoke once
            the thumbnail is rendered. aCallback receives as its only parameter
            a canvas containing the thumbnail image. Canvas dimensions should
            match the requested width or height otherwise setting the thumbnail
            will fail.
            </param>
            <param name="width">
            The width of the requested thumbnail
            </param>
            <param name="height">
            The height of the requested thumbnail
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.OnClose">
            <summary>
            Invoked when the user presses the close button on the tab preview.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.OnActivate">
            <summary>
            Invoked when the user clicks on the tab preview.
            </summary>
            <returns>
            true if the top level window corresponding to the preview should
            be activated, false if activation is not accepted.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarPreviewController.OnClick(Gecko.Interfaces.nsITaskbarPreviewButton)">
            <summary>
            Invoked when one of the buttons on the window preview&apos;s toolbar is pressed.
            </summary>
            <param name="button">
            The button that was pressed. This can be compared with the
            buttons returned by nsITaskbarWindowPreview.getButton.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsITaskbarProgress">
            <summary>
            Starting in Windows 7, applications can display a progress notification in
            the taskbar. This class wraps around the native functionality to do this.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarProgress.SetProgressState(System.Int32,System.UInt64,System.UInt64)">
            <summary>
            Sets the taskbar progress state and value for this window. The currentValue
            and maxValue parameters are optional and should be supplied when |state|
            is one of STATE_NORMAL, STATE_ERROR or STATE_PAUSED.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if state is STATE_NO_PROGRESS or
            STATE_INDETERMINATE, and either currentValue or maxValue is not 0.
            NS_ERROR_ILLEGAL_VALUE: if currentValue is greater than maxValue.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.GetControllerAttribute">
            <summary>
            The controller for this preview. A controller is required to provide
            the behavior and appearance of the taskbar previews. It is responsible for
            determining the size and contents of the preview, which buttons are
            displayed and how the application responds to user actions on the preview.
            
            Neither preview makes full use of the controller. See the documentation
            for nsITaskbarWindowPreview and nsITaskbarTabPreview for details on which
            controller methods are used.
            
            The controller is not allowed to be null.
            </summary>
            <remarks>
            See nsITaskbarPreviewController
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.GetTooltipAttribute(Gecko.nsAStringBase)">
            <summary>
            The tooltip displayed above the preview when the user hovers over it
            
            Default: an empty string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.GetVisibleAttribute">
            <summary>
            Whether or not the preview is visible.
            
            Changing this option is expensive for tab previews since toggling this
            option will destroy/create the proxy window and its registration with the
            taskbar. If any step of that fails, an exception will be thrown.
            
            For window previews, this operation is very cheap.
            
            Default: false
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.GetActiveAttribute">
            <summary>
            Gets/sets whether or not the preview is marked active (selected) in the
            taskbar.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.Invalidate">
            <summary>
            Invalidates the taskbar&apos;s cached image of this preview, forcing a redraw
            if necessary
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.GetTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            The title displayed above the thumbnail
            
            Default: an empty string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.GetIconAttribute">
            <summary>
            The icon displayed next to the title in the preview
            
            Default: null
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.Move(Gecko.Interfaces.nsITaskbarTabPreview)">
            <summary>
            Rearranges the preview relative to another tab preview from the same window
            </summary>
            <param name="aNext">
            The preview to the right of this one. A value of null
            indicates that the preview is the rightmost one.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.GetHWND">
            <summary>
            Used internally to grab the handle to the proxy window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarTabPreview.EnsureRegistration">
            <summary>
            Used internally to ensure that the taskbar knows about this preview. If a
            preview is not registered, then the API call to set its sibling (via move)
            will silently fail.
            
            This method is only invoked when it is safe to make taskbar API calls.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarWindowPreview.GetControllerAttribute">
            <summary>
            The controller for this preview. A controller is required to provide
            the behavior and appearance of the taskbar previews. It is responsible for
            determining the size and contents of the preview, which buttons are
            displayed and how the application responds to user actions on the preview.
            
            Neither preview makes full use of the controller. See the documentation
            for nsITaskbarWindowPreview and nsITaskbarTabPreview for details on which
            controller methods are used.
            
            The controller is not allowed to be null.
            </summary>
            <remarks>
            See nsITaskbarPreviewController
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarWindowPreview.GetTooltipAttribute(Gecko.nsAStringBase)">
            <summary>
            The tooltip displayed above the preview when the user hovers over it
            
            Default: an empty string
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarWindowPreview.GetVisibleAttribute">
            <summary>
            Whether or not the preview is visible.
            
            Changing this option is expensive for tab previews since toggling this
            option will destroy/create the proxy window and its registration with the
            taskbar. If any step of that fails, an exception will be thrown.
            
            For window previews, this operation is very cheap.
            
            Default: false
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarWindowPreview.GetActiveAttribute">
            <summary>
            Gets/sets whether or not the preview is marked active (selected) in the
            taskbar.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarWindowPreview.Invalidate">
            <summary>
            Invalidates the taskbar&apos;s cached image of this preview, forcing a redraw
            if necessary
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarWindowPreview.GetButton(System.UInt32)">
            <summary>
            Gets the nth button for the preview image. By default, all of the buttons
            are invisible.
            </summary>
            <param name="index">
            The index into the button array. Must be &gt;= 0 and &lt;
            MAX_TOOLBAR_BUTTONS.
            </param>
            <remarks>
            See nsITaskbarPreviewButton
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsITaskbarWindowPreview.GetEnableCustomDrawingAttribute">
            <summary>
            Enables/disables custom drawing of thumbnails and previews
            
            Default value: false
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetHistogramSnapshotsAttribute(System.IntPtr)">
            <summary>
            An object containing a snapshot from all of the currently registered histograms.
            { name1: {data1}, name2:{data2}...}
            where data is consists of the following properties:
            min - Minimal bucket size
            max - Maximum bucket size
            histogram_type - HISTOGRAM_EXPONENTIAL, HISTOGRAM_LINEAR, HISTOGRAM_BOOLEAN
            or HISTOGRAM_COUNT
            counts - array representing contents of the buckets in the histogram
            ranges -  an array with calculated bucket sizes
            sum - sum of the bucket contents
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.SnapshotSubsessionHistograms(System.Boolean,System.IntPtr)">
            <summary>
            Get a snapshot of the internally duplicated subsession histograms.
            </summary>
            <param name="clear">
            Whether to clear out the subsession histograms after snapshotting.
            </param>
            <returns>
            An object as histogramSnapshots, except this contains the internally duplicated histograms for subsession telemetry.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetLastShutdownDurationAttribute">
            <summary>
            The amount of time, in milliseconds, that the last session took
            to shutdown.  Reads as 0 to indicate failure.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetFailedProfileLockCountAttribute">
            <summary>
            The number of failed profile lock attempts that have occurred prior to
            successfully locking the profile
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetMaximalNumberOfConcurrentThreadsAttribute">
            <summary>
            A number representing the highest number of concurrent threads
            reached during this session.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.RegisteredHistograms(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array whose values are the names of histograms defined
            in Histograms.json.
            </summary>
            <param name="dataset">
            - DATASET_RELEASE_CHANNEL_OPTOUT or DATASET_RELEASE_CHANNEL_OPTIN
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetHistogramById(Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Create and return a histogram registered in TelemetryHistograms.h.
            </summary>
            <param name="id">
            - unique identifier from TelemetryHistograms.h
            The returned object has the following functions:
            add(int) - Adds an int value to the appropriate bucket
            snapshot() - Returns a snapshot of the histogram with the same data fields as in histogramSnapshots()
            clear() - Zeros out the histogram&apos;s buckets and sum
            dataset() - identifies what dataset this is in: DATASET_RELEASE_CHANNEL_OPTOUT or ...OPTIN
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.RegisteredKeyedHistograms(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array whose values are the names of histograms defined
            in Histograms.json.
            </summary>
            <param name="dataset">
            - DATASET_RELEASE_CHANNEL_OPTOUT or ...OPTIN
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetKeyedHistogramById(Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Create and return a histogram registered in TelemetryHistograms.h.
            </summary>
            <param name="id">
            - unique identifier from TelemetryHistograms.h
            The returned object has the following functions:
            add(string key, [optional] int) - Add an int value to the histogram for that key. If no histogram for that key exists yet, it is created.
            snapshot([optional] string key) - If key is provided, returns a snapshot for the histogram with that key or null. If key is not provided, returns the snapshots of all the registered keys in the form {key1: snapshot1, key2: snapshot2, ...}.
            keys() - Returns an array with the string keys of the currently registered histograms
            clear() - Clears the registered histograms from this.
            dataset() - identifies what dataset this is in: DATASET_RELEASE_CHANNEL_OPTOUT or ...OPTIN
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetCanRecordBaseAttribute">
            <summary>
            A flag indicating if Telemetry can record base data (FHR data). This is true if the
            FHR data reporting service or self-support are enabled.
            
            In the unlikely event that adding a new base probe is needed, please check the data
            collection wiki at https://wiki.mozilla.org/Firefox/Data_Collection and talk to the
            Telemetry team.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetCanRecordExtendedAttribute">
            <summary>
            A flag indicating if Telemetry is allowed to record extended data. Returns false if
            the user hasn&apos;t opted into &quot;extended Telemetry&quot; on the Release channel, when the
            user has explicitly opted out of Telemetry on Nightly/Aurora/Beta or if manually
            set to false during tests.
            
            Set this to false in tests to disable gathering of extended telemetry statistics.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetIsOfficialTelemetryAttribute">
            <summary>
            A flag indicating whether Telemetry can submit official results (for base or extended
            data). This is true on official, non-debug builds with built in support for Mozilla
            Telemetry reporting.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.RegisterAddonHistogram(Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Byte)">
            <summary>
            Register a histogram for an addon.  Throws an error if the
            histogram name has been registered previously.
            </summary>
            <param name="addon_id">
            - Unique ID of the addon
            </param>
            <param name="name">
            - Unique histogram name
            </param>
            <param name="histogram_type">
            - HISTOGRAM_EXPONENTIAL, HISTOGRAM_LINEAR,
            HISTOGRAM_BOOLEAN or HISTOGRAM_COUNT
            </param>
            <param name="min">
            - Minimal bucket size
            </param>
            <param name="max">
            - Maximum bucket size
            </param>
            <param name="bucket_count">
            - number of buckets in the histogram
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetAddonHistogram(Gecko.nsACStringBase,Gecko.nsACStringBase,System.IntPtr)">
            <summary>
            Return a histogram previously registered via
            registerAddonHistogram.  Throws an error if the id/name combo has
            not been registered via registerAddonHistogram.
            </summary>
            <param name="addon_id">
            - Unique ID of the addon
            </param>
            <param name="name">
            - Registered histogram name
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.UnregisterAddonHistograms(Gecko.nsACStringBase)">
            <summary>
            Delete all histograms associated with the given addon id.
            </summary>
            <param name="addon_id">
            - Unique ID of the addon
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.SetHistogramRecordingEnabled(Gecko.nsACStringBase,System.Boolean)">
            <summary>
            Enable/disable recording for this histogram at runtime.
            Recording is enabled by default, unless listed at kRecordingInitiallyDisabledIDs[].
            Name must be a valid Histogram identifier, otherwise an assertion will be triggered.
            </summary>
            <param name="id">
            - unique identifier from histograms.json
            </param>
            <param name="enabled">
            - whether or not to enable recording from now on.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetAddonHistogramSnapshotsAttribute(System.IntPtr)">
            <summary>
            An object containing a snapshot from all of the currently
            registered addon histograms.
            { addon-id1 : data1, ... }
            
            where data is an object whose properties are the names of the
            addon&apos;s histograms and whose corresponding values are as in
            histogramSnapshots.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.AsyncFetchTelemetryData(Gecko.Interfaces.nsIFetchTelemetryDataCallback)">
            <summary>
            Read data from the previous run. After the callback is called, the last
            shutdown time is available in lastShutdownDuration and any late
            writes in lateWrites.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.GetFileIOReportsAttribute(System.IntPtr)">
            <summary>
            Get statistics of file IO reports, null, if not recorded.
            
            The statistics are returned as an object whose propoerties are the names
            of the files that have been accessed and whose corresponding values are
            arrays of size three, representing startup, normal, and shutdown stages.
            Each stage&apos;s entry is either null or an array with the layout
            [total_time, #creates, #reads, #writes, #fsyncs, #stats]
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.MsSinceProcessStart">
            <summary>
            Return the number of milliseconds since process start using monotonic
            timestamps (unaffected by system clock changes).
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if TimeStamp doesn't have the data.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.ScalarAdd(Gecko.nsACStringBase,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Adds the value to the given scalar.
            </summary>
            <param name="aName">
            The scalar name.
            </param>
            <param name="aValue">
            The numeric value to add to the scalar. Only unsigned integers supported.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.ScalarSet(Gecko.nsACStringBase,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Sets the scalar to the given value.
            </summary>
            <param name="aName">
            The scalar name.
            </param>
            <param name="aValue">
            The value to set the scalar to. If the type of aValue doesn&apos;t match the
            type of the scalar, the function will fail. For scalar string types, the this
            is truncated to 50 characters.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.ScalarSetMaximum(Gecko.nsACStringBase,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Sets the scalar to the maximum of the current and the passed value.
            </summary>
            <param name="aName">
            The scalar name.
            </param>
            <param name="aValue">
            The numeric value to set the scalar to. Only unsigned integers supported.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.SnapshotScalars(System.UInt32,System.Boolean,System.IntPtr,System.Byte)">
            <summary>
            Serializes the scalars from the given dataset to a JSON-style object and resets them.
            The returned structure looks like:
            { &quot;group1.probe&quot;: 1, &quot;group1.other_probe&quot;: false, ... }
            </summary>
            <param name="aDataset">
            DATASET_RELEASE_CHANNEL_OPTOUT or DATASET_RELEASE_CHANNEL_OPTIN.
            </param>
            <param name="[aClear=false]">
            Whether to clear out the scalars after snapshotting.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.KeyedScalarAdd(Gecko.nsACStringBase,Gecko.nsAStringBase,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Adds the value to the given keyed scalar.
            </summary>
            <param name="aName">
            The scalar name.
            </param>
            <param name="aKey">
            The key name.
            </param>
            <param name="aValue">
            The numeric value to add to the scalar. Only unsigned integers supported.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.KeyedScalarSet(Gecko.nsACStringBase,Gecko.nsAStringBase,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Sets the keyed scalar to the given value.
            </summary>
            <param name="aName">
            The scalar name.
            </param>
            <param name="aKey">
            The key name.
            </param>
            <param name="aValue">
            The value to set the scalar to. If the type of aValue doesn&apos;t match the
            type of the scalar, the function will fail.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.KeyedScalarSetMaximum(Gecko.nsACStringBase,Gecko.nsAStringBase,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Sets the keyed scalar to the maximum of the current and the passed value.
            </summary>
            <param name="aName">
            The scalar name.
            </param>
            <param name="aKey">
            The key name.
            </param>
            <param name="aValue">
            The numeric value to set the scalar to. Only unsigned integers supported.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.SnapshotKeyedScalars(System.UInt32,System.Boolean,System.IntPtr,System.Byte)">
            <summary>
            Serializes the keyed scalars from the given dataset to a JSON-style object and
            resets them.
            The returned structure looks like:
            { &quot;group1.probe&quot;: { &quot;key_1&quot;: 2, &quot;key_2&quot;: 1, ... }, ... }
            </summary>
            <param name="aDataset">
            DATASET_RELEASE_CHANNEL_OPTOUT or DATASET_RELEASE_CHANNEL_OPTIN.
            </param>
            <param name="[aClear=false]">
            Whether to clear out the scalars after snapshotting.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.ClearScalars">
            <summary>
            Resets all the stored scalars. This is intended to be only used in tests.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.FlushBatchedChildTelemetry">
            <summary>
            Immediately sends any Telemetry batched on this process to the parent
            process. This is intended only to be used on process shutdown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.RecordEvent(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            Record an event in Telemetry.
            </summary>
            <param name="aCategory">
            The category name.
            </param>
            <param name="aMethod">
            The object name.
            </param>
            <param name="aValue">
            An optional string value to record.
            </param>
            <param name="aExtra">
            An optional object of the form (string -&gt; string).
            It should only contain registered extra keys.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: When trying to record an unknown event.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.SnapshotBuiltinEvents(System.UInt32,System.Boolean,System.IntPtr,System.Byte)">
            <summary>
            Serializes the recorded events to a JSON-appropriate array and optionally resets them.
            The returned structure looks like this:
            [
            [timestamp, category, method, object, stringValue, extraValues]
            [43245, &quot;category1&quot;, &quot;method1&quot;, &quot;object1&quot;, &quot;string value&quot;, null],
            [43258, &quot;category1&quot;, &quot;method2&quot;, &quot;object1&quot;, null, {&quot;key1&quot;: &quot;string value&quot;}],
            ...
            ]
            </summary>
            <param name="aDataset">
            DATASET_RELEASE_CHANNEL_OPTOUT or DATASET_RELEASE_CHANNEL_OPTIN.
            </param>
            <param name="[aClear=false]">
            Whether to clear out the scalars after snapshotting.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITelemetry.ClearEvents">
            <summary>
            Resets all the stored events. This is intended to be only used in tests.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITextInputProcessor">
            <summary>
            An nsITextInputProcessor instance is associated with a top level widget which
            handles native IME.  It&apos;s associated by calling beginInputTransaction() or
            beginInputTransactionForTests().  While an instance has composition, nobody
            can steal the rights to make composition on the top level widget.  In other
            words, if another instance is composing on a top level widget, either
            beginInputTransaction() or beginInputTransactionForTests() returns false
            (i.e., not throws an exception).
            
            NOTE: See nsITextInputProcessorCallback.idl for examples of |callback| in
            following examples,
            
            Example #1 JS-IME can start composition like this:
            
            var TIP = Components.classes[&quot;@mozilla.org/text-input-processor;1&quot;].
            createInstance(Components.interfaces.nsITextInputProcessor);
            if (!TIP.beginInputTransaction(window, callback)) {
            return; // You failed to get the rights to make composition
            }
            Create a keyboard event if the following compositionc change is caused
            by a key event.
            var keyEvent =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            Set new composition string first
            TIP.setPendingCompositionString(&quot;some-words-are-inputted&quot;);
            Set clause information.
            TIP.appendClauseToPendingComposition(23, TIP.ATTR_RAW_CLAUSE);
            Set caret position, this is optional.
            TIP.setCaretInPendingComposition(23);
            Flush the pending composition
            if (!TIP.flushPendingComposition(keyEvent)) {
            If it returns false, it fails to start composition.
            return;
            }
            
            Example #2 JS-IME can separate composition string to two or more clauses:
            
            Create a keyboard event if the following compositionc change is caused
            by a key event.
            var keyEvent =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            First, set composition string again
            TIP.setPendingCompositionString(&quot;some-words-are-inputted&quot;);
            Then, if &quot;are&quot; is selected to convert, there are 3 clauses:
            TIP.appendClauseToPendingComposition(11, TIP.ATTR_CONVERTED_CLAUSE);
            TIP.appendClauseToPendingComposition(3,  TIP.ATTR_SELECTED_CLAUSE);
            TIP.appendClauseToPendingComposition(9,  TIP.ATTR_CONVERTED_CLAUSE);
            Show caret at the beginning of the selected clause
            TIP.setCaretInPendingComposition(11);
            Flush the pending composition.  Note that if there is a composition,
            flushPendingComposition() won&apos;t return false.
            TIP.flushPendingComposition(keyEvent);
            
            Example #3 JS-IME can commit composition with specific string with this:
            
            Create a keyboard event if the following compositionc change is caused
            by a key event.
            var keyEvent1 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            First, there is a composition.
            TIP.setPendingCompositionString(&quot;some-words-directly-inputted&quot;);
            TIP.appendClauseToPendingComposition(28, TIP.ATTR_RAW_CLAUSE);
            TIP.flushPendingComposition(keyEvent1);
            Create a keyboard event if the following commit composition is caused
            by a key event.
            var keyEvent2 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            This is useful when user selects a commit string from candidate list UI
            which is provided by JS-IME.
            TIP.commitCompositionWith(&quot;selected-words-from-candidate-list&quot;, keyEvent2);
            
            Example #4 JS-IME can commit composition with the last composition string
            without specifying commit string:
            
            Create a keyboard event if the following compositionc change is caused
            by a key event.
            var keyEvent1 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            First, there is a composition.
            TIP.setPendingCompositionString(&quot;some-words-will-be-commited&quot;);
            TIP.appendClauseToPendingComposition(27, TIP.ATTR_RAW_CLAUSE);
            TIP.flushPendingComposition(keyEvent1);
            Create a keyboard event if the following commit is caused by a key
            event.
            var keyEvent2 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;Enter&quot;, code: &quot;Enter&quot;,
            keyCode: KeyboardEvent.DOM_VK_RETURN });
            This is useful when user just type Enter key.
            TIP.commitComposition(keyEvent2);
            
            Example #5 JS-IME can cancel composition with this:
            
            Create a keyboard event if the following composition change is caused
            by a key event.
            var keyEvent1 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            First, there is a composition.
            TIP.setPendingCompositionString(&quot;some-words-will-be-canceled&quot;);
            TIP.appendClauseToPendingComposition(27, TIP.ATTR_RAW_CLAUSE);
            TIP.flushPendingComposition(keyEvent1);
            Create a keyboard event if the following canceling composition is
            caused by a key event.
            var keyEvent2 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;Escape&quot;, code: &quot;Escape&quot;,
            keyCode: KeyboardEvent.DOM_VK_ESCAPE });
            This is useful when user doesn&apos;t want to commit the composition.
            FYI: This is same as TIP.commitCompositionWith(&quot;&quot;) for now.
            TIP.cancelComposition(keyEvent2);
            
            Example #6 JS-IME can insert text only with commitCompositionWith():
            
            Create a keyboard event if the following inserting text is caused by a
            key event.
            var keyEvent1 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            if (!TIP.beginInputTransaction(window, callback)) {
            return; // You failed to get the rights to make composition
            }
            TIP.commitCompositionWith(&quot;Some words&quot;, keyEvent1);
            
            Example #7 JS-IME can start composition explicitly:
            
            if (!TIP.beginInputTransaction(window, callback)) {
            return; // You failed to get the rights to make composition
            }
            Create a keyboard event if the following starting composition is caused
            by a key event.
            var keyEvent1 =
            new KeyboardEvent(&quot;&quot;, { key: &quot;foo&quot;, code: &quot;bar&quot;, keyCode: buzz });
            If JS-IME don&apos;t want to show composing string in the focused editor,
            JS-IME can dispatch only compositionstart event with this.
            if (!TIP.startComposition(keyEvent1)) {
            Failed to start composition.
            return;
            }
            And when user selects a result from UI of JS-IME, commit with it.
            Then, the key event should be null.
            TIP.commitCompositionWith(&quot;selected-words&quot;);
            
            Example #8 JS-IME or JS-Keyboard should dispatch key events even during
            composition (non-printable key case):
            
            if (!TIP.beginInputTransaction(window, callback)) {
            return; // You failed to get the rights to dispatch key events
            }
            
            You don&apos;t need to specify .keyCode value if it&apos;s non-printable key
            because it can be computed from .key value.
            If you specify non-zero value to .keyCode, it&apos;ll be used.
            var keyEvent = new KeyboardEvent(&quot;&quot;, { code: &quot;Enter&quot;, key: &quot;Enter&quot; });
            if (TIP.keydown(keyEvent)) {
            Handle its default action
            }
            
            Even if keydown event was consumed, keyup event should be dispatched.
            if (TIP.keyup(keyEvent)) {
            Handle its default action
            }
            
            Example #9 JS-IME or JS-Keyboard should dispatch key events even during
            composition (printable key case):
            
            if (!TIP.beginInputTransaction(window, callback)) {
            return; // You failed to get the rights to dispatch key events
            }
            
            You need to specify .keyCode value if it&apos;s printable key.
            The rules of .keyCode value is documented in MDN:
            https://developer.mozilla.org/docs/Web/API/KeyboardEvent.keyCode
            
            #1 If the key location is DOM_KEY_LOCATION_NUMPAD and NumLock is
            active, you should specify DOM_VK_NUMPAD[0-9], DOM_VK_MULTIPLY,
            DOM_VK_ADD, DOM_VK_SEPARATOR, DOM_VK_SUBTRACT, DOM_VK_DECIMAL or
            DOM_VK_DIVIDE.
            #2 If the key is Spacebar, use DOM_VK_SPACE.
            
            Following rules are printable keys in DOM_KEY_LOCATION_STANDARD.
            .keyCode value for a key shouldn&apos;t be changed by modifier states:
            #1 If the key can input [0-9] with any modifier state (except
            NumLock state), the value should be DOM_VK_[0-9].
            #2 Otherwise, and if the key inputs an ASCII alphabet with no
            active modifiers, use DOM_VK_[A-Z].
            #3 Otherwise, and if the key inputs an ASCII alphabet with no
            active modifiers except Shift key state, use DOM_VK_[A-Z] for
            the shifted character.  E.g., if a key causes non-alphabet
            character such as &quot;@&quot; or a Unicode character without Shift key
            but &quot;a&quot; is inputted when Shift key is pressed, the proper
            keyCode is DOM_VK_A.
            #4 Otherwise, and if the key inputs another ASCII character with
            no modifier states, use a proper value for the character.  E.g.,
            if the key inputs &quot;*&quot; without Shift key state, it should be
            DOM_VK_ASTERISK.
            #5 Otherwise, and if the key inputs another ASCII character with
            Shift key state, use a proper value for the character.  E.g.,
            if a key causes a Unicode character without Shift key but &quot;&amp;&quot;
            is inputted when Shift key is pressed, the proper keyCode is
            DOM_VK_AMPERSAND.
            See above document for the other cases.
            
            NOTE: If the software keyboard is 10-key like simple phone,
            We don&apos;t have common rules to decide its .keyCode value.
            Above rules should be used when the JS-Keyboard emulates PC
            keyboard.
            .key value should be inputting character by the key with current
            modifier state.
            .code value should be empty string if the JS-Keyboard isn&apos;t emulating
            physical keyboard.  Otherwise, use same value with physical keyboard&apos;s
            same key.
            var keyEvent = new KeyboardEvent(&quot;&quot;, { code: &quot;KeyA&quot;, key: &quot;a&quot;,
            keyCode: KeyboardEvent.DOM_VK_A });
            if (TIP.keydown(keyEvent)) {
            Handle its default action
            }
            
            Even if keydown event was consumed, keyup event should be dispatched.
            if (TIP.keyup(keyEvent)) {
            Handle its default action
            }
            
            Example #10 JS-Keyboard doesn&apos;t need to initialize modifier states at
            calling either keydown() or keyup().
            
            Neither beginInputTransaction() nor beginInputTransactionForTests()
            resets modifier state.
            if (!TIP.beginInputTransaction(window, callback)) {
            return; // You failed to get the rights to dispatch key events
            }
            
            var leftShift = new KeyboardEvent(&quot;&quot;, { code: &quot;ShiftLeft&quot;, key: &quot;Shift&quot; });
            
            This causes following key events will be shifted automatically.
            TIP.keydown(leftShift);
            
            var rightShift =
            new KeyboardEvent(&quot;&quot;, { code: &quot;ShiftRight&quot;, key: &quot;Shift&quot; });
            
            TIP.keydown(rightShift);
            
            keyup of one of shift key doesn&apos;t cause inactivating &quot;Shift&quot; state.
            TIP.keyup(rightShift);
            
            This causes inactivating &quot;Shift&quot; state completely.
            TIP.keyup(leftShift);
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.GetHasCompositionAttribute">
            <summary>
            Returns true if this instance was dispatched compositionstart but hasn&apos;t
            dispatched compositionend yet.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.BeginInputTransaction(Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsITextInputProcessorCallback)">
            <summary>
            When you create an instance, you must call beginInputTransaction() first
            except when you created the instance for automated tests.
            </summary>
            <param name="aWindow">
            A DOM window.  The instance will look for a top
            level widget from this.
            </param>
            <param name="aCallback">
            Callback interface which handles requests to
            IME and notifications to IME.  This must not be
            null.
            </param>
            <returns>
            If somebody uses internal text input service for a
            composition, this returns false.  Otherwise, returns
            true.  I.e., only your TIP can create composition
            when this returns true.  If this returns false,
            your TIP should wait next chance.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.BeginInputTransactionForTests(Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsITextInputProcessorCallback,System.Byte)">
            <summary>
            When you create an instance for automated test, you must call
            beginInputTransaction(), first.  See beginInputTransaction() for more
            detail of this.
            Note that aCallback can be null.  If it&apos;s null, nsITextInputProcessor
            implementation will handle them automatically.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.StartComposition(Gecko.Interfaces.nsIDOMKeyEvent,System.UInt32,System.Byte)">
            <summary>
            startComposition() dispatches compositionstart event explicitly.
            IME does NOT need to call this typically since compositionstart event
            is automatically dispatched by sendPendingComposition() if
            compositionstart event hasn&apos;t been dispatched yet.  If this is called
            when compositionstart has already been dispatched, this throws an
            exception.
            </summary>
            <param name="aKeyboardEvent">
            Key event which causes starting composition.
            If its type value is &quot;keydown&quot;, this method
            dispatches only keydown event first.  Otherwise,
            dispatches keydown first and keyup at last.
            </param>
            <param name="aKeyFlags">
            See KEY_* constants.
            </param>
            <returns>
            Returns true if composition starts normally.
            Otherwise, returns false because it might be
            canceled by the web application.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.SetPendingCompositionString(Gecko.nsAStringBase)">
            <summary>
            Set new composition string.  Pending composition will be flushed by
            a call of flushPendingComposition().  However, if the new composition
            string isn&apos;t empty, you need to call appendClauseToPendingComposition() to
            fill all characters of aString with one or more clauses before flushing.
            Note that if you need to commit or cancel composition, use
            commitComposition(), commitCompositionWith() or cancelComposition().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.AppendClauseToPendingComposition(System.UInt32,System.UInt32)">
            <summary>
            Append a clause to the pending composition.
            
            If you need to fill the pending composition string with a clause, you
            should call this once.  For example:
            appendClauseToPendingComposition(compositionString.length,
            ATTR_RAW_CLAUSE);
            is enough.  If you need to separate the pending composition string to
            multiple clauses, you need to call this multiple times. For example,
            if your pending composition string has three clauses and the second clause
            is being converted:
            appendClauseToPendingComposition(firstClauseLength,
            ATTR_CONVERTED_CLAUSE);
            appendClauseToPendingComposition(secondClauseLength,
            ATTR_SELECTED_CLAUSE);
            appendClauseToPendingComposition(thirdClauseLength,
            ATTR_CONVERTED_CLAUSE);
            Note that if sum of aLength mismatches length of the pending composition
            string, flushPendingComposition() will throw an exception.  I.e.,
            |firstClauseLength + secondClauseLength + thirdClauseLength| must be
            same as the length of pending composition string.
            
            TODO: Should be able to specify custom clause style.
            </summary>
            <param name="aLength">
            Length of the clause.
            </param>
            <param name="aAttribute">
            One of ATTR_* constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.SetCaretInPendingComposition(System.UInt32)">
            <summary>
            Set caret offset in the pending composition string.  If you don&apos;t need to
            show a caret, you don&apos;t need to call this.
            </summary>
            <param name="aOffset">
            Caret offset in the pending composition string.
            This must be between 0 and length of the pending
            composition string.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.FlushPendingComposition(Gecko.Interfaces.nsIDOMKeyEvent,System.UInt32,System.Byte)">
            <summary>
            flushPendingComposition() must be called after
            setPendingCompositionString() and appendClauseToPendingComposition()
            (setCaretInPendingComposition() is optional) are called.
            
            Note that compositionstart will be automatically dispatched if this is
            called when there is no composition.
            
            Note that if sum of lengths of appended clauses are not same as composition
            string or caret offset is larger than the composition string length, this
            throws an exception.
            </summary>
            <param name="aKeyboardEvent">
            Key event which causes the composition string.
            If its type value is &quot;keydown&quot;, this method
            dispatches only keydown event first.  Otherwise,
            dispatches keydown first and keyup at last.
            </param>
            <param name="aKeyFlags">
            See KEY_* constants.
            </param>
            <returns>
            Returns true if there is a composition already or
            starting composition automatically.
            Otherwise, i.e., if it cannot start composition
            automatically, e.g., canceled by web apps, returns
            false.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.CommitComposition(Gecko.Interfaces.nsIDOMKeyEvent,System.UInt32,System.Byte)">
            <summary>
            commitComposition() will commit composition with the last composition
            string.  If there is no composition, this will throw an exception.
            </summary>
            <param name="aKeyboardEvent">
            Key event which causes the commit composition.
            If its type value is &quot;keydown&quot;, this method
            dispatches only keydown event first.  Otherwise,
            dispatches keydown first and keyup at last.
            </param>
            <param name="aKeyFlags">
            See KEY_* constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.CommitCompositionWith(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMKeyEvent,System.UInt32,System.Byte)">
            <summary>
            commitCompositionWith() will commit composition with the specific string.
            If there is no composition, this will start composition and commit it
            with the specified string.
            </summary>
            <param name="aCommitString">
            The string to be committed.
            </param>
            <param name="aKeyboardEvent">
            Key event which causes the commit composition.
            If its type value is &quot;keydown&quot;, this method
            dispatches only keydown event first.  Otherwise,
            dispatches keydown first and keyup at last.
            </param>
            <param name="aKeyFlags">
            See KEY_* constants.
            </param>
            <returns>
            Returns true if there is a composition already or
            starting composition automatically.
            Otherwise, i.e., if it cannot start composition
            automatically, e.g., canceled by web apps, returns
            false.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.CancelComposition(Gecko.Interfaces.nsIDOMKeyEvent,System.UInt32,System.Byte)">
            <summary>
            cancelComposition() will cancel composition.  This is for now the same as
            calling commitComposition(&quot;&quot;).  However, in the future, this might work
            better.  If your IME needs to cancel composition, use this instead of
            commitComposition().
            
            Note that if you tries to cancel composition when there is no composition,
            this throws an exception.
            </summary>
            <param name="aKeyboardEvent">
            Key event which causes the canceling composition.
            If its type value is &quot;keydown&quot;, this method
            dispatches only keydown event first.  Otherwise,
            dispatches keydown first and keyup at last.
            </param>
            <param name="aKeyFlags">
            See KEY_* constants.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.Keydown(Gecko.Interfaces.nsIDOMKeyEvent,System.UInt32,System.Byte)">
            <summary>
            keydown() may dispatch a keydown event and some keypress events if
            preceding keydown event isn&apos;t consumed and they are necessary.
            Note that even if this is called during composition, key events may not
            be dispatched.  In this case, this returns false.
            
            You should initialize at least .key value and .code value of the event.
            Additionally, if you try to emulate a printable key, .keyCode value should
            be specified if there is proper key value.  See the comment of above
            example how to decide .keyCode value of a printable key.  On the other
            hand, .keyCode value is automatically computed when you try to emulate
            non-printable key.  However, if you try to emulate physical keyboard of
            desktop platform, you need to specify proper value explicitly because
            the mapping table of this API isn&apos;t enough to emulate the behavior of
            Gecko for desktop platforms.
            
            NOTE: Even if this has composition, JS-Keyboard should call keydown() and
            keyup().  Although, with the default preferences and normal
            conditions, DOM key events won&apos;t be fired during composition.
            However, they MAY be dispatched for some reasons, e.g., the web
            content listens only key events, or if the standard DOM event spec
            will be changed in the future.
            </summary>
            <param name="aKeyboardEvent">
            Must be a keyboard event which should be dispatched
            as a keydown event and keypress events.
            #1 Note that you don&apos;t need to set charCode value
            because it&apos;s computed from its key value.
            #2 If code value is set properly and location value
            isn&apos;t specified (i.e., 0), the location value will
            be guessed from the code value.
            #3 Non-defined code names are not allowed. If your
            key isn&apos;t registered, file a bug. If your key isn&apos;t
            defined by any standards, use &quot;&quot; (empty string).
            #4 .keyCode is guessed from .key value if the key
            name is registered and .keyCode isn&apos;t initialized.
            #5 modifier key states, e.g., .shiftKey, are
            ignored.  Instead, modifier states are managed by
            each instance and set automatically.
            </param>
            <param name="aKeyFlags">
            Special flags.  The values can be some of KEY_
            constants.
            </param>
            <returns>
            KEYEVENT_NOT_CONSUMED, if the keydown event nor
            the following keypress event(s) are consumed.
            KEYDOWN_IS_CONSUMED, if the keydown event is
            consumed. No keypress event will be dispatched in
            this case.
            KEYPRESS_IS_CONSUMED, if the keypress event(s) is
            consumed when dispatched.
            Note that keypress event is always consumed by
            native code for the printable keys (indicating the
            default action has been taken).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.Keyup(Gecko.Interfaces.nsIDOMKeyEvent,System.UInt32,System.Byte)">
            <summary>
            Similar to keydown(), but this dispatches only a keyup event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.GetModifierState(Gecko.nsAStringBase)">
            <summary>
            getModifierState() returns modifier state managed by this instance.
            </summary>
            <param name="aModifier">
            One of modifier key names.  This doesn&apos;t support
            virtual modifiers like &quot;Accel&quot;.
            </param>
            <returns>
            true if the modifier key is active.  Otherwise,
            false.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessor.ShareModifierStateOf(Gecko.Interfaces.nsITextInputProcessor)">
            <summary>
            shareModifierStateOf() makes the instance shares modifier state of
            another instance.  When this is called, the instance refers the modifier
            state of another instance.  After that, changes to either this and the
            other instance&apos;s modifier state is synchronized.
            </summary>
            <param name="aOther">
            Another instance which will be referred by the
            instance.  If this is null, the instance restarts
            to manage modifier state independently.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsITextInputProcessorNotification">
            <summary>
            nsITextInputProcessorNotification stores the type of notification to IME and
            its detail.  See each explanation of attribute for the detail.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextInputProcessorNotification.GetTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            type attribute represents what&apos;s notified or requested.  Value must be
            one of following values:
            
            &quot;request-to-commit&quot;  (required to be handled)
            This is requested when Gecko believes that active composition should be
            committed.  nsITextInputProcessorCallback::onNotify() has to handle this
            notification.
            
            &quot;request-to-cancel&quot; (required to be handled)
            This is requested when Gecko believes that active composition should be
            canceled.  I.e., composition should be committed with empty string.
            nsITextInputProcessorCallback::onNotify() has to handle this
            notification.
            
            &quot;notify-end-input-transaction&quot; (optional)
            This is notified when the callback is detached from
            nsITextInputProcessor.  I.e., the TextInputProcessor lost the rights
            to input text and needs to call .beginInputTransaction() before next
            input.
            
            &quot;notify-focus&quot; (optional)
            This is notified when an editable editor gets focus and Gecko starts
            to observe changes in the content. E.g., selection changes.
            IME shouldn&apos;t change DOM tree, focus nor something when this is notified.
            
            &quot;notify-blur&quot; (optional)
            This is notified when an editable editor loses focus and Gecko stops
            observing the changes in the content.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITextScroll">
            <summary>
            The nsITextScroll is an interface that can be implemented by a control that
            supports text scrolling.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITextScroll.ScrollByLines(System.Int32)">
            <summary>
            Scroll the view up or down by aNumLines lines. positive
            values move down in the view. Prevents scrolling off the
            end of the view.
            </summary>
            <param name="numLines">
            number of lines to scroll the view by
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITextScroll.ScrollByPages(System.Int32)">
            <summary>
            Scroll the view up or down by numPages pages. a page
            is considered to be the amount displayed by the clip view.
            positive values move down in the view. Prevents scrolling
            off the end of the view.
            </summary>
            <param name="numPages">
            number of pages to scroll the view by
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITextServicesFilter.Skip(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Indicates whether the content node should be skipped by the iterator
            </summary>
            <param name="aNode">
            - node to skip
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITextToSubURI.UnEscapeURIForUI(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,Gecko.nsAStringBase)">
            <summary>
            Unescapes the given URI fragment (for UI purpose only)
            Note:
            &lt;ul&gt;
            &lt;li&gt; escaping back the result (unescaped string) is not guaranteed to
            give the original escaped string
            &lt;li&gt; In case of a conversion error, the URI fragment (escaped) is
            assumed to be in UTF-8 and converted to AString (UTF-16)
            &lt;li&gt; In case of successful conversion any resulting character listed
            in network.IDN.blacklist_chars (except space) is escaped
            &lt;li&gt; Always succeeeds (callers don&apos;t need to do error checking)
            &lt;/ul&gt;
            </summary>
            <param name="aCharset">
            the charset to convert from
            </param>
            <param name="aURIFragment">
            the URI (or URI fragment) to unescape
            </param>
            <returns>
            Unescaped aURIFragment  converted to unicode
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITextToSubURI.UnEscapeNonAsciiURI(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,Gecko.nsAStringBase)">
            <summary>
            Unescapes only non ASCII characters in the given URI fragment
            note: this method assumes the URI as UTF-8 and fallbacks to the given
            charset if the charset is an ASCII superset
            </summary>
            <param name="aCharset">
            the charset to convert from
            </param>
            <param name="aURIFragment">
            the URI (or URI fragment) to unescape
            </param>
            <returns>
            Unescaped aURIFragment  converted to unicode
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UCONV_NOCONV: when there is no decoder for aCharset
            or error code of nsIUnicodeDecoder in case of conversion failure
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIThread">
            <summary>
            This interface provides a high-level abstraction for an operating system
            thread.
            
            Threads have a built-in event queue, and a thread is an event target that
            can receive nsIRunnable objects (events) to be processed on the thread.
            
            See nsIThreadManager for the API used to create and locate threads.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.IsOnCurrentThread">
            <summary>
            Check to see if this event target is associated with the current thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.DispatchFromC(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target.  This function may be called from
            any thread, and it may be called re-entrantly.
            </summary>
            <param name="event">
            The alreadyAddRefed&lt;&gt; event to dispatch.
            NOTE that the event will be leaked if it fails to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.Dispatch(Gecko.Interfaces.nsIRunnable,System.UInt32)">
            <summary>
            Version of Dispatch to expose to JS, which doesn't require an alreadyAddRefed&lt;&gt;
            (it will be converted to that internally)
            </summary>
            <param name="event">
            The (raw) event to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.DelayedDispatch(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target, but do not run it before delay
            milliseconds have passed.  This function may be called from any thread.
            </summary>
            <param name="event">
            The alreadyAddrefed&lt;&gt; event to dispatch.
            </param>
            <param name="delay">
            The delay (in ms) before running the event.  If event does not rise to
            the top of the event queue before the delay has passed, it will be set
            aside to execute once the delay has passed.  Otherwise, it will be
            executed immediately.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched, or
            that delay is zero.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.GetPRThreadAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.GetCanInvokeJSAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.Shutdown">
            <summary>
            Shutdown the thread.  This method prevents further dispatch of events to
            the thread, and it causes any pending events to run to completion before
            the thread joins (see PR_JoinThread) with the current thread.  During this
            method call, events for the current thread may be processed.
            
            This method MAY NOT be executed from the thread itself.  Instead, it is
            meant to be executed from another thread (usually the thread that created
            this thread or the main application thread).  When this function returns,
            the thread will be shutdown, and it will no longer be possible to dispatch
            events to the thread.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            the current thread, that this thread was not created with a call to
            nsIThreadManager::NewThread, or if this method was called more than once
            on the thread object.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.HasPendingEvents">
            <summary>
            This method may be called to determine if there are any events ready to be
            processed.  It may only be called when this thread is the current thread.
            
            Because events may be added to this thread by another thread, a "false"
            result does not mean that this thread has no pending events.  It only
            means that there were no pending events when this method was called.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            not the current thread.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.ProcessNextEvent(System.Boolean)">
            <summary>
            Process the next event.  If there are no pending events, then this method
            may wait -- depending on the value of the mayWait parameter -- until an
            event is dispatched to this thread.  This method is re-entrant but may
            only be called if this thread is the current thread.
            </summary>
            <param name="mayWait">
            A boolean parameter that if "true" indicates that the method may block
            the calling thread to wait for a pending event.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            not the current thread.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.AsyncShutdown">
            <summary>
            Shutdown the thread asynchronously.  This method immediately prevents
            further dispatch of events to the thread, and it causes any pending events
            to run to completion before this thread joins with the current thread.
            
            UNLIKE shutdown() this does not process events on the current thread.
            Instead it merely ensures that the current thread continues running until
            this thread has shut down.
            
            This method MAY NOT be executed from the thread itself.  Instead, it is
            meant to be executed from another thread (usually the thread that created
            this thread or the main application thread).  When this function returns,
            the thread will continue running until it exhausts its event queue.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            the current thread, that this thread was not created with a call to
            nsIThreadManager::NewThread, or if this method was called more than once
            on the thread object.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.RegisterIdlePeriod(System.IntPtr)">
            <summary>
            Register an instance of nsIIdlePeriod which works as a facade of
            the abstract notion of a &quot;current idle period&quot;. The
            nsIIdlePeriod should always represent the &quot;current&quot; idle period
            with regard to expected work for the thread. The thread is free
            to use this when there are no higher prioritized tasks to process
            to determine if it is reasonable to schedule tasks that could run
            when the thread is idle. The responsibility of the registered
            nsIIdlePeriod is to answer with an estimated deadline at which
            the thread should expect that it could receive new higher
            priority tasks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThread.IdleDispatch(System.IntPtr)">
            <summary>
            Dispatch an event to the thread's idle queue.  This function may be called
            from any thread, and it may be called re-entrantly.
            </summary>
            <param name="event">
            The alreadyAddRefed&lt;&gt; event to dispatch.
            NOTE that the event will be leaked if it fails to dispatch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIThreadInternal">
            <summary>
            The XPCOM thread object implements this interface, which allows a consumer
            to observe dispatch activity on the thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.IsOnCurrentThread">
            <summary>
            Check to see if this event target is associated with the current thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.DispatchFromC(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target.  This function may be called from
            any thread, and it may be called re-entrantly.
            </summary>
            <param name="event">
            The alreadyAddRefed&lt;&gt; event to dispatch.
            NOTE that the event will be leaked if it fails to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.Dispatch(Gecko.Interfaces.nsIRunnable,System.UInt32)">
            <summary>
            Version of Dispatch to expose to JS, which doesn't require an alreadyAddRefed&lt;&gt;
            (it will be converted to that internally)
            </summary>
            <param name="event">
            The (raw) event to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.DelayedDispatch(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target, but do not run it before delay
            milliseconds have passed.  This function may be called from any thread.
            </summary>
            <param name="event">
            The alreadyAddrefed&lt;&gt; event to dispatch.
            </param>
            <param name="delay">
            The delay (in ms) before running the event.  If event does not rise to
            the top of the event queue before the delay has passed, it will be set
            aside to execute once the delay has passed.  Otherwise, it will be
            executed immediately.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched, or
            that delay is zero.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.GetPRThreadAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.GetCanInvokeJSAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.Shutdown">
            <summary>
            Shutdown the thread.  This method prevents further dispatch of events to
            the thread, and it causes any pending events to run to completion before
            the thread joins (see PR_JoinThread) with the current thread.  During this
            method call, events for the current thread may be processed.
            
            This method MAY NOT be executed from the thread itself.  Instead, it is
            meant to be executed from another thread (usually the thread that created
            this thread or the main application thread).  When this function returns,
            the thread will be shutdown, and it will no longer be possible to dispatch
            events to the thread.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            the current thread, that this thread was not created with a call to
            nsIThreadManager::NewThread, or if this method was called more than once
            on the thread object.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.HasPendingEvents">
            <summary>
            This method may be called to determine if there are any events ready to be
            processed.  It may only be called when this thread is the current thread.
            
            Because events may be added to this thread by another thread, a "false"
            result does not mean that this thread has no pending events.  It only
            means that there were no pending events when this method was called.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            not the current thread.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.ProcessNextEvent(System.Boolean)">
            <summary>
            Process the next event.  If there are no pending events, then this method
            may wait -- depending on the value of the mayWait parameter -- until an
            event is dispatched to this thread.  This method is re-entrant but may
            only be called if this thread is the current thread.
            </summary>
            <param name="mayWait">
            A boolean parameter that if "true" indicates that the method may block
            the calling thread to wait for a pending event.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            not the current thread.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.AsyncShutdown">
            <summary>
            Shutdown the thread asynchronously.  This method immediately prevents
            further dispatch of events to the thread, and it causes any pending events
            to run to completion before this thread joins with the current thread.
            
            UNLIKE shutdown() this does not process events on the current thread.
            Instead it merely ensures that the current thread continues running until
            this thread has shut down.
            
            This method MAY NOT be executed from the thread itself.  Instead, it is
            meant to be executed from another thread (usually the thread that created
            this thread or the main application thread).  When this function returns,
            the thread will continue running until it exhausts its event queue.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: Indicates that this method was erroneously called when this thread was
            the current thread, that this thread was not created with a call to
            nsIThreadManager::NewThread, or if this method was called more than once
            on the thread object.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.RegisterIdlePeriod(System.IntPtr)">
            <summary>
            Register an instance of nsIIdlePeriod which works as a facade of
            the abstract notion of a &quot;current idle period&quot;. The
            nsIIdlePeriod should always represent the &quot;current&quot; idle period
            with regard to expected work for the thread. The thread is free
            to use this when there are no higher prioritized tasks to process
            to determine if it is reasonable to schedule tasks that could run
            when the thread is idle. The responsibility of the registered
            nsIIdlePeriod is to answer with an estimated deadline at which
            the thread should expect that it could receive new higher
            priority tasks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.IdleDispatch(System.IntPtr)">
            <summary>
            Dispatch an event to the thread's idle queue.  This function may be called
            from any thread, and it may be called re-entrantly.
            </summary>
            <param name="event">
            The alreadyAddRefed&lt;&gt; event to dispatch.
            NOTE that the event will be leaked if it fails to dispatch.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.GetObserverAttribute">
            <summary>
            Get/set the current thread observer (may be null).  This attribute may be
            read from any thread, but must only be set on the thread corresponding to
            this thread object.  The observer will be released on the thread
            corresponding to this thread object after all other events have been
            processed during a call to Shutdown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.AddObserver(Gecko.Interfaces.nsIThreadObserver)">
            <summary>
            Add an observer that will *only* receive onProcessNextEvent,
            beforeProcessNextEvent. and afterProcessNextEvent callbacks. Always called
            on the target thread, and the implementation does not have to be
            threadsafe. Order of callbacks is not guaranteed (i.e.
            afterProcessNextEvent may be called first depending on whether or not the
            observer is added in a nested loop). Holds a strong ref.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.RemoveObserver(Gecko.Interfaces.nsIThreadObserver)">
            <summary>
            Remove an observer added via the addObserver call. Once removed the
            observer will never be called again by the thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.PushEventQueue">
            <summary>
            This method causes any events currently enqueued on the thread to be
            suppressed until PopEventQueue is called, and any event dispatched to this
            thread&apos;s nsIEventTarget will queue as well. Calls to PushEventQueue may be
            nested and must each be paired with a call to PopEventQueue in order to
            restore the original state of the thread. The returned nsIEventTarget may
            be used to push events onto the nested queue. Dispatching will be disabled
            once the event queue is popped. The thread will only ever process pending
            events for the innermost event queue. Must only be called on the target
            thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadInternal.PopEventQueue(Gecko.Interfaces.nsIEventTarget)">
            <summary>
            Revert a call to PushEventQueue. When an event queue is popped, any events
            remaining in the queue are appended to the elder queue. This also causes
            the nsIEventTarget returned from PushEventQueue to stop dispatching events.
            Must only be called on the target thread, and with the innermost event
            queue.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIThreadObserver">
            <summary>
            This interface provides the observer with hooks to implement a layered
            event queue.  For example, it is possible to overlay processing events
            for a GUI toolkit on top of the events for a thread:
            
            var NativeQueue;
            Observer = {
            onDispatchedEvent(thread) {
            NativeQueue.signal();
            }
            onProcessNextEvent(thread, mayWait) {
            if (NativeQueue.hasNextEvent())
            NativeQueue.processNextEvent();
            while (mayWait &amp;&amp; !thread.hasPendingEvent()) {
            NativeQueue.wait();
            NativeQueue.processNextEvent();
            }
            }
            };
            
            NOTE: The implementation of this interface must be threadsafe.
            
            NOTE: It is valid to change the thread&apos;s observer during a call to an
            observer method.
            
            NOTE: Will be split into two interfaces soon: one for onProcessNextEvent and
            afterProcessNextEvent, then another that inherits the first and adds
            onDispatchedEvent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadObserver.OnDispatchedEvent(Gecko.Interfaces.nsIThreadInternal)">
            <summary>
            This method is called after an event has been dispatched to the thread.
            This method may be called from any thread.
            </summary>
            <param name="thread">
            The thread where the event is being dispatched.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadObserver.OnProcessNextEvent(Gecko.Interfaces.nsIThreadInternal,System.Boolean)">
            <summary>
            This method is called when nsIThread::ProcessNextEvent is called.  It does
            not guarantee that an event is actually going to be processed.  This method
            is only called on the target thread.
            </summary>
            <param name="thread">
            The thread being asked to process another event.
            </param>
            <param name="mayWait">
            Indicates whether or not the method is allowed to block the calling
            thread.  For example, this parameter is false during thread shutdown.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadObserver.AfterProcessNextEvent(Gecko.Interfaces.nsIThreadInternal,System.Boolean)">
            <summary>
            This method is called (from nsIThread::ProcessNextEvent) after an event
            is processed.  It does not guarantee that an event was actually processed
            (depends on the value of |eventWasProcessed|.  This method is only called
            on the target thread.  DO NOT EVER RUN SCRIPT FROM THIS CALLBACK!!!
            </summary>
            <param name="thread">
            The thread that processed another event.
            </param>
            <param name="eventWasProcessed">
            Indicates whether an event was actually processed. May be false if the
            |mayWait| flag was false when calling nsIThread::ProcessNextEvent().
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIThreadManager">
            <summary>
            An interface for creating and locating nsIThread instances.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadManager.NewThread(System.UInt32,System.UInt32)">
            <summary>
            Create a new thread (a global, user PRThread).
            </summary>
            <param name="creationFlags">
            Reserved for future use.  Pass 0.
            </param>
            <param name="stackSize">
            Number of bytes to reserve for the thread&apos;s stack.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadManager.GetThreadFromPRThread(System.IntPtr)">
            <summary>
            Get the nsIThread object (if any) corresponding to the given PRThread.
            This method returns null if there is no corresponding nsIThread.
            </summary>
            <param name="prthread">
            The PRThread of the nsIThread being requested.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadManager.GetMainThreadAttribute">
            <summary>
            Get the main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadManager.GetCurrentThreadAttribute">
            <summary>
            Get the current thread.  If the calling thread does not already have a
            nsIThread associated with it, then a new nsIThread will be created and
            associated with the current PRThread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadManager.GetIsMainThreadAttribute">
            <summary>
            This attribute is true if the calling thread is the main thread of the
            application process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPoolListener.OnThreadCreated">
            <summary>
            Called when a new thread is created by the thread pool. The notification
            happens on the newly-created thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPoolListener.OnThreadShuttingDown">
            <summary>
            Called when a thread is about to be destroyed by the thread pool. The
            notification happens on the thread that is about to be destroyed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIThreadPool">
            <summary>
            An interface to a thread pool.  A thread pool creates a limited number of
            anonymous (unnamed) worker threads.  An event dispatched to the thread pool
            will be run on the next available worker thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.IsOnCurrentThread">
            <summary>
            Check to see if this event target is associated with the current thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.DispatchFromC(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target.  This function may be called from
            any thread, and it may be called re-entrantly.
            </summary>
            <param name="event">
            The alreadyAddRefed&lt;&gt; event to dispatch.
            NOTE that the event will be leaked if it fails to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.Dispatch(Gecko.Interfaces.nsIRunnable,System.UInt32)">
            <summary>
            Version of Dispatch to expose to JS, which doesn't require an alreadyAddRefed&lt;&gt;
            (it will be converted to that internally)
            </summary>
            <param name="event">
            The (raw) event to dispatch.
            </param>
            <param name="flags">
            The flags modifying event dispatch.  The flags are described in detail
            below.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.DelayedDispatch(System.IntPtr,System.UInt32)">
            <summary>
            Dispatch an event to this event target, but do not run it before delay
            milliseconds have passed.  This function may be called from any thread.
            </summary>
            <param name="event">
            The alreadyAddrefed&lt;&gt; event to dispatch.
            </param>
            <param name="delay">
            The delay (in ms) before running the event.  If event does not rise to
            the top of the event queue before the delay has passed, it will be set
            aside to execute once the delay has passed.  Otherwise, it will be
            executed immediately.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: Indicates that event is null.
            NS_ERROR_UNEXPECTED: Indicates that the thread is shutting down and has finished processing
            events, so this event would never run and has not been dispatched, or
            that delay is zero.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.Shutdown">
            <summary>
            Shutdown the thread pool.  This method may not be executed from any thread
            in the thread pool.  Instead, it is meant to be executed from another
            thread (usually the thread that created this thread pool).  When this
            function returns, the thread pool and all of its threads will be shutdown,
            and it will no longer be possible to dispatch tasks to the thread pool.
            
            As a side effect, events on the current thread will be processed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.GetThreadLimitAttribute">
            <summary>
            Get/set the maximum number of threads allowed at one time in this pool.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.GetIdleThreadLimitAttribute">
            <summary>
            Get/set the maximum number of idle threads kept alive.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.GetIdleThreadTimeoutAttribute">
            <summary>
            Get/set the amount of time in milliseconds before an idle thread is
            destroyed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.GetThreadStackSizeAttribute">
            <summary>
            Get/set the number of bytes reserved for the stack of all threads in
            the pool. By default this is nsIThreadManager::DEFAULT_STACK_SIZE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.GetListenerAttribute">
            <summary>
            An optional listener that will be notified when a thread is created or
            destroyed in the course of the thread pool&apos;s operation.
            
            A listener will only receive notifications about threads created after the
            listener is set so it is recommended that the consumer set the listener
            before dispatching the first event. A listener that receives an
            onThreadCreated() notification is guaranteed to always receive the
            corresponding onThreadShuttingDown() notification.
            
            The thread pool takes ownership of the listener and releases it when the
            shutdown() method is called. Threads created after the listener is set will
            also take ownership of the listener so that the listener will be kept alive
            long enough to receive the guaranteed onThreadShuttingDown() notification.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadPool.SetName(Gecko.nsACStringBase)">
            <summary>
            Set the label for threads in the pool. All threads will be named
            &quot;&lt;aName&gt; #&lt;n&gt;&quot;, where &lt;n&gt; is a serial number.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIThreadRetargetableRequest">
            <summary>
            nsIThreadRetargetableRequest
            
            Should be implemented by requests that support retargeting delivery of
            data off the main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadRetargetableRequest.RetargetDeliveryTo(Gecko.Interfaces.nsIEventTarget)">
            <summary>
            Called to retarget delivery of OnDataAvailable to another thread. Should
            only be called before AsyncOpen for nsIWebsocketChannels, or during
            OnStartRequest for nsIChannels.
            Note: For nsIChannels, OnStartRequest and OnStopRequest will still be
            delivered on the main thread.
            </summary>
            <param name="aNewTarget">
            New event target, e.g. thread or threadpool.
            
            Note: no return value is given. If the retargeting cannot be handled,
            normal delivery to the main thread will continue. As such, listeners
            should be ready to deal with OnDataAvailable on either the main thread or
            the new target thread.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIThreadRetargetableStreamListener">
            <summary>
            nsIThreadRetargetableStreamListener
            
            To be used by classes which implement nsIStreamListener and whose
            OnDataAvailable callback may be retargeted for delivery off the main thread.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIThreadRetargetableStreamListener.CheckListenerChain">
            <summary>
            Checks this listener and any next listeners it may have to verify that
            they can receive OnDataAvailable off the main thread. It is the
            responsibility of the implementing class to decide on the criteria to
            determine if retargeted delivery of these methods is possible, but it must
            check any and all nsIStreamListener objects that might be called in the
            listener chain.
            
            An exception should be thrown if a listener in the chain does not
            support retargeted delivery, i.e. if the next listener does not implement
            nsIThreadRetargetableStreamListener, or a call to its checkListenerChain()
            fails.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITimerCallback.Notify(Gecko.Interfaces.nsITimer)">
            <summary>
            
            </summary>
            <param name="aTimer">
            the timer which has expired
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsITimer">
            <summary>
            nsITimer instances must be initialized by calling one of the &quot;init&quot; methods
            documented below.  You may also re-initialize (using one of the init()
            methods) an existing instance to avoid the overhead of destroying and
            creating a timer.  It is not necessary to cancel the timer in that case.
            
            By default a timer will fire on the thread that created it.  Set the .target
            attribute to fire on a different thread.  Once you have set a timer&apos;s .target
            and called one of its init functions, any further interactions with the timer
            (calling cancel(), changing member fields, etc) should only be done by the
            target thread, or races may occur with bad results like timers firing after
            they&apos;ve been canceled, and/or not firing after re-initiatization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.Init(Gecko.Interfaces.nsIObserver,System.UInt32,System.UInt32)">
            <summary>
            Initialize a timer that will fire after the said delay.
            A user must keep a reference to this timer till it is
            is no longer needed or has been cancelled.
            </summary>
            <param name="aObserver">
            the callback object that observes the
            ``timer-callback&apos;&apos; topic with the subject being
            the timer itself when the timer fires:
            
            observe(nsISupports aSubject, =&gt; nsITimer
            string aTopic,        =&gt; ``timer-callback&apos;&apos;
            wstring data          =&gt;  null
            </param>
            <param name="aDelay">
            delay in milliseconds for timer to fire
            </param>
            <param name="aType">
            timer type per TYPE* consts defined above
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.InitWithFuncCallback(System.IntPtr,System.IntPtr,System.UInt32,System.UInt32)">
            <summary>
            Initialize a timer to fire after the given millisecond interval.
            This version takes a function to call and a closure to pass to
            that function.
            </summary>
            <param name="aFunc">
            The function to invoke
            </param>
            <param name="aClosure">
            An opaque pointer to pass to that function
            </param>
            <param name="aDelay">
            The millisecond interval
            </param>
            <param name="aType">
            Timer type per TYPE* consts defined above
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.InitWithCallback(Gecko.Interfaces.nsITimerCallback,System.UInt32,System.UInt32)">
            <summary>
            Initialize a timer to fire after the given millisecond interval.
            This version takes a function to call.
            </summary>
            <param name="aFunc">
            nsITimerCallback interface to call when timer expires
            </param>
            <param name="aDelay">
            The millisecond interval
            </param>
            <param name="aType">
            Timer type per TYPE* consts defined above
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.Cancel">
            <summary>
            Cancel the timer.  This method works on all types, not just on repeating
            timers -- you might want to cancel a TYPE_ONE_SHOT timer, and even reuse
            it by re-initializing it (to avoid object destruction and creation costs
            by conserving one timer instance).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.InitWithNamedFuncCallback(System.IntPtr,System.IntPtr,System.UInt32,System.UInt32,System.String)">
            <summary>
            Like initWithFuncCallback, but also takes a name for the timer; the name
            will be used when timer profiling is enabled via the &quot;TimerFirings&quot; log
            module.
            </summary>
            <param name="aFunc">
            The function to invoke
            </param>
            <param name="aClosure">
            An opaque pointer to pass to that function
            </param>
            <param name="aDelay">
            The millisecond interval
            </param>
            <param name="aType">
            Timer type per TYPE* consts defined above
            </param>
            <param name="aName">
            The timer&apos;s name
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.InitWithNameableFuncCallback(System.IntPtr,System.IntPtr,System.UInt32,System.UInt32,System.IntPtr)">
            <summary>
            Like initWithNamedFuncCallback, but instead of a timer name it takes a
            callback that will provide a name when the timer fires.
            </summary>
            <param name="aFunc">
            The function to invoke
            </param>
            <param name="aClosure">
            An opaque pointer to pass to that function
            </param>
            <param name="aDelay">
            The millisecond interval
            </param>
            <param name="aType">
            Timer type per TYPE* consts defined above
            </param>
            <param name="aNameCallback">
            The callback function
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.GetDelayAttribute">
            <summary>
            The millisecond delay of the timeout.
            
            NOTE: Re-setting the delay on a one-shot timer that has already fired
            doesn&apos;t restart the timer. Call one of the init() methods to restart
            a one-shot timer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.GetTypeAttribute">
            <summary>
            The timer type - one of the above TYPE_* constants.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.GetClosureAttribute">
            <summary>
            The opaque pointer pass to initWithFuncCallback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.GetCallbackAttribute">
            <summary>
            The nsITimerCallback object passed to initWithCallback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITimer.GetTargetAttribute">
            <summary>
            The nsIEventTarget where the callback will be dispatched. Note that this
            target may only be set before the call to one of the init methods above.
            
            By default the target is the thread that created the timer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.Init(System.Int32,System.Boolean,System.Int32)">
            <summary>
            init
            
            This method initializes a server socket.
            </summary>
            <param name="aPort">
            The port of the server socket.  Pass -1 to indicate no preference,
            and a port will be selected automatically.
            </param>
            <param name="aLoopbackOnly">
            If true, the server socket will only respond to connections on the
            local loopback interface.  Otherwise, it will accept connections
            from any interface.  To specify a particular network interface,
            use initWithAddress.
            </param>
            <param name="aBackLog">
            The maximum length the queue of pending connections may grow to.
            This parameter may be silently limited by the operating system.
            Pass -1 to use the default value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.InitSpecialConnection(System.Int32,System.UInt32,System.Int32)">
            <summary>
            initSpecialConnection
            
            This method initializes a server socket and offers the ability to have
            that socket not get terminated if Gecko is set offline.
            </summary>
            <param name="aPort">
            The port of the server socket.  Pass -1 to indicate no preference,
            and a port will be selected automatically.
            </param>
            <param name="aFlags">
            Flags for the socket.
            </param>
            <param name="aBackLog">
            The maximum length the queue of pending connections may grow to.
            This parameter may be silently limited by the operating system.
            Pass -1 to use the default value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.InitWithAddress(System.IntPtr,System.Int32)">
            <summary>
            initWithAddress
            
            This method initializes a server socket, and binds it to a particular
            local address (and hence a particular local network interface).
            </summary>
            <param name="aAddr">
            The address to which this server socket should be bound.
            </param>
            <param name="aBackLog">
            The maximum length the queue of pending connections may grow to.
            This parameter may be silently limited by the operating system.
            Pass -1 to use the default value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.InitWithFilename(Gecko.Interfaces.nsIFile,System.UInt32,System.Int32)">
            <summary>
            initWithFilename
            
            This method initializes a Unix domain or &quot;local&quot; server socket. Such
            a socket has a name in the filesystem, like an ordinary file. To
            connect, a client supplies the socket&apos;s filename, and the usual
            permission checks on socket apply.
            
            This makes Unix domain sockets useful for communication between the
            programs being run by a specific user on a single machine: the
            operating system takes care of authentication, and the user&apos;s home
            directory or profile directory provide natural per-user rendezvous
            points.
            
            Since Unix domain sockets are always local to the machine, they are
            not affected by the nsIIOService&apos;s &apos;offline&apos; flag.
            
            The system-level socket API may impose restrictions on the length of
            the filename that are stricter than those of the underlying
            filesystem. If the file name is too long, this returns
            NS_ERROR_FILE_NAME_TOO_LONG.
            
            All components of the path prefix of |aPath| must name directories;
            otherwise, this returns NS_ERROR_FILE_NOT_DIRECTORY.
            
            This call requires execute permission on all directories containing
            the one in which the socket is to be created, and write and execute
            permission on the directory itself. Otherwise, this returns
            NS_ERROR_CONNECTION_REFUSED.
            
            This call creates the socket&apos;s directory entry. There must not be
            any existing entry with the given name. If there is, this returns
            NS_ERROR_SOCKET_ADDRESS_IN_USE.
            
            On systems that don&apos;t support Unix domain sockets at all, this
            returns NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED.
            </summary>
            <param name="aPath">
            nsIFile
            The file name at which the socket should be created.
            </param>
            <param name="aPermissions">
            unsigned long
            Unix-style permission bits to be applied to the new socket.
            
            Note about permissions: Linux&apos;s unix(7) man page claims that some
            BSD-derived systems ignore permissions on UNIX-domain sockets;
            NetBSD&apos;s bind(2) man page agrees, but says it does check now (dated
            2005). POSIX has required &apos;connect&apos; to fail if write permission on
            the socket itself is not granted since 2003 (Issue 6). NetBSD says
            that the permissions on the containing directory (execute) have
            always applied, so creating sockets in appropriately protected
            directories should be secure on both old and new systems.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.Close">
            <summary>
            close
            
            This method closes a server socket.  This does not affect already
            connected client sockets (i.e., the nsISocketTransport instances
            created from this server socket).  This will cause the onStopListening
            event to asynchronously fire with a status of NS_BINDING_ABORTED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.AsyncListen(Gecko.Interfaces.nsIServerSocketListener)">
            <summary>
            asyncListen
            
            This method puts the server socket in the listening state.  It will
            asynchronously listen for and accept client connections.  The listener
            will be notified once for each client connection that is accepted.  The
            listener&apos;s onSocketAccepted method will be called on the same thread
            that called asyncListen (the calling thread must have a nsIEventTarget).
            
            The listener will be passed a reference to an already connected socket
            transport (nsISocketTransport).  See below for more details.
            </summary>
            <param name="aListener">
            The listener to be notified when client connections are accepted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.GetPortAttribute">
            <summary>
            Returns the port of this server socket.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.GetAddress">
            <summary>
            Returns the address to which this server socket is bound.  Since a
            server socket may be bound to multiple network devices, this address
            may not necessarily be specific to a single network device.  In the
            case of an IP socket, the IP address field would be zerod out to
            indicate a server socket bound to all network devices.  Therefore,
            this method cannot be used to determine the IP address of the local
            system.  See nsIDNSService::myHostName if this is what you need.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.GetServerCertAttribute">
            <summary>
            serverCert
            
            The server&apos;s certificate that is presented to the client during the TLS
            handshake.  This is required to be set before calling |asyncListen|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.SetSessionCache(System.Boolean)">
            <summary>
            setSessionCache
            
            Whether the server should use a session cache.  Defaults to true.  This
            should be set before calling |asyncListen| if you wish to change the
            default.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.SetSessionTickets(System.Boolean)">
            <summary>
            setSessionTickets
            
            Whether the server should support session tickets.  Defaults to true.  This
            should be set before calling |asyncListen| if you wish to change the
            default.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.SetRequestClientCertificate(System.UInt32)">
            <summary>
            setRequestClientCertificate
            
            Whether the server should request and/or require a client auth certificate
            from the client.  Defaults to REQUEST_NEVER.  See the possible options
            above.  This should be set before calling |asyncListen| if you wish to
            change the default.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.SetCipherSuites(System.UInt16[],System.UInt32)">
            <summary>
            setCipherSuites
            
            The server&apos;s cipher suites that is used by the TLS handshake.
            This is required to be set before calling |asyncListen|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSocket.SetVersionRange(System.UInt16,System.UInt16)">
            <summary>
            setVersionRange
            
            The server&apos;s TLS versions that is used by the TLS handshake.
            This is required to be set before calling |asyncListen|.
            
            aMinVersion and aMaxVersion is a TLS version value from
            |nsITLSClientStatus| constants.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITLSClientStatus">
            <summary>
            Security summary for a given TLS client connection being handled by a
            |nsITLSServerSocket| server.
            
            This is accessible through the security info object on the transport, which
            will be an instance of |nsITLSServerConnectionInfo| (see below).
            
            The values of these attributes are available once the |onHandshakeDone|
            method of the security observer has been called (see
            |nsITLSServerSecurityObserver| below).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSClientStatus.GetPeerCertAttribute">
            <summary>
            peerCert
            
            The client&apos;s certificate, if one was requested via |requestCertificate|
            above and supplied by the client.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSClientStatus.GetTlsVersionUsedAttribute">
            <summary>
            tlsVersionUsed
            
            The version of TLS used by the connection.  See values above.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSClientStatus.GetCipherNameAttribute(Gecko.nsACStringBase)">
            <summary>
            cipherName
            
            Name of the cipher suite used, such as
            &quot;TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256&quot;.
            See security/nss/lib/ssl/sslinfo.c for the possible values.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSClientStatus.GetKeyLengthAttribute">
            <summary>
            keyLength
            
            The &quot;effective&quot; key size of the symmetric key in bits.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSClientStatus.GetMacLengthAttribute">
            <summary>
            macLength
            
            The size of the MAC in bits.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITLSServerConnectionInfo">
            <summary>
            Connection info for a given TLS client connection being handled by a
            |nsITLSServerSocket| server.  This object is thread-safe.
            
            This is exposed as the security info object on the transport, so it can be
            accessed via |transport.securityInfo|.
            
            This interface is available by the time the |onSocketAttached| is called,
            which is the first time the TLS server consumer is notified of a new client.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerConnectionInfo.SetSecurityObserver(Gecko.Interfaces.nsITLSServerSecurityObserver)">
            <summary>
            setSecurityObserver
            
            Set the security observer to be notified when the TLS handshake has
            completed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerConnectionInfo.GetServerSocketAttribute">
            <summary>
            serverSocket
            
            The nsITLSServerSocket instance that accepted this client connection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerConnectionInfo.GetStatusAttribute">
            <summary>
            status
            
            Security summary for this TLS client connection.  Note that the values of
            this interface are not available until the TLS handshake has completed.
            See |nsITLSClientStatus| above for more details.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITLSServerSecurityObserver.OnHandshakeDone(Gecko.Interfaces.nsITLSServerSocket,Gecko.Interfaces.nsITLSClientStatus)">
            <summary>
            onHandsakeDone
            
            This method is called once the TLS handshake is completed.  This takes
            place after |onSocketAccepted| has been called, which typically opens the
            streams to keep things moving along. It&apos;s important to be aware that the
            handshake has not completed at the point that |onSocketAccepted| is called,
            so no security verification can be done until this method is called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITokenDialogs.DisplayProtectedAuth(Gecko.Interfaces.nsIInterfaceRequestor,Gecko.Interfaces.nsIProtectedAuthThread)">
            <summary>
            displayProtectedAuth - displays notification dialog to the user
            that he is expected to authenticate to the token using its
            &quot;protected authentication path&quot; feature
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITokenPasswordDialogs">
            <summary>
            nsITokenPasswordDialogs
            This is the interface for setting and changing password
            on a PKCS11 token.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITokenPasswordDialogs.SetPassword(Gecko.Interfaces.nsIInterfaceRequestor,System.String,System.Boolean@)">
            <summary>
            setPassword - sets the password/PIN on the named token.
            The canceled output value should be set to TRUE when
            the user (or implementation) cancels the operation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.ConvertChromeURL(Gecko.Interfaces.nsIURI)">
            <summary>
            Resolve a chrome URL to an loadable URI using the information in the
            registry. Does not modify aChromeURL.
            
            Chrome URLs are allowed to be specified in &quot;shorthand&quot;, leaving the
            &quot;file&quot; portion off. In that case, the URL is expanded to:
            
            chrome://package/provider/package.ext
            
            where &quot;ext&quot; is:
            
            &quot;xul&quot; for a &quot;content&quot; package,
            &quot;css&quot; for a &quot;skin&quot; package, and
            &quot;dtd&quot; for a &quot;locale&quot; package.
            </summary>
            <param name="aChromeURL">
            the URL that is to be converted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.CheckForNewChrome">
            <summary>
            refresh the chrome list at runtime, looking for new packages/etc
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.WrappersEnabled(Gecko.Interfaces.nsIURI)">
            <summary>
            returns whether XPCNativeWrappers are enabled for aURI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.AllowScriptsForPackage(Gecko.Interfaces.nsIURI)">
            <summary>
            Installable skin XBL is not always granted the same privileges as other
            chrome. This asks the chrome registry whether scripts are allowed to be
            run for a particular chrome URI. Do not pass non-chrome URIs to this
            method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.AllowContentToAccess(Gecko.Interfaces.nsIURI)">
            <summary>
            Content should only be allowed to load chrome JS from certain packages.
            This method reflects the contentaccessible flag on packages.
            Do not pass non-chrome URIs to this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.CanLoadURLRemotely(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if the passed chrome URL is allowed to be loaded in a remote
            process. This reflects the remoteenabled flag on packages.
            Do not pass non-chrome URIs to this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.MustLoadURLRemotely(Gecko.Interfaces.nsIURI)">
            <summary>
            Returns true if the passed chrome URL must be loaded in a remote process.
            This reflects the remoterequired flag on packages.
            Do not pass non-chrome URIs to this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.CheckForOSAccessibility">
            <summary>
            If the OS has a &quot;high-visibility&quot; or &quot;disabled-friendly&quot; theme set,
            we want to force mozilla into the classic theme, which (for the most part
            obeys the system color/font settings. We cannot do this at initialization,
            because it depends on the toolkit (GTK2) being initialized, which is
            not the case in some embedding situations. Embedders have to manually
            call this method during the startup process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitChromeRegistry.GetLocalesForPackage(Gecko.nsAUTF8StringBase)">
            <summary>
            Get a list of locales available for the specified package.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIProfileLock">
            <summary>
            Hold on to a profile lock. Once you release the last reference to this
            interface, the profile lock is released.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileLock.GetDirectoryAttribute">
            <summary>
            The main profile directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileLock.GetLocalDirectoryAttribute">
            <summary>
            A directory corresponding to the main profile directory that exists for
            the purpose of storing data on the local filesystem, including cache
            files or other data files that may not represent critical user data.
            (e.g., this directory may not be included as part of a backup scheme.)
            
            In some cases, this directory may just be the main profile directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileLock.GetReplacedLockTimeAttribute">
            <summary>
            The timestamp of an existing profile lock at lock time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIProfileLock.Unlock">
            <summary>
            Unlock the profile.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIToolkitProfile">
            <summary>
            A interface representing a profile.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfile.GetRootDirAttribute">
            <summary>
            The location of the profile directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfile.GetLocalDirAttribute">
            <summary>
            The location of the profile local directory, which may be the same as
            the root directory.  See nsIProfileLock::localDirectory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfile.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the profile.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfile.Remove(System.Boolean)">
            <summary>
            Removes the profile from the registry of profiles.
            </summary>
            <param name="removeFiles">
            Indicates whether or not the profile directory should be
            removed in addition.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfile.Lock(Gecko.Interfaces.nsIProfileUnlocker@)">
            <summary>
            Lock this profile using platform-specific locking methods.
            </summary>
            <param name="lockFile">
            If locking fails, this may return a lockFile object
            which can be used in platform-specific ways to
            determine which process has the file locked. Null
            may be passed.
            </param>
            <returns>
            An interface which holds a profile lock as long as you reference
            it.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FILE_ACCESS_DENIED: if the profile was already locked.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.GetSelectedProfileAttribute">
            <summary>
            The currently selected profile (the one used or about to be used by the
            browser).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.GetDefaultProfileAttribute">
            <summary>
            The default profile (the one used or about to be used by the
            browser if no other profile is specified at runtime). This is the profile
            marked with Default=1 in profiles.ini and is usually the same as
            selectedProfile, except on Developer Edition.
            
            Developer Edition uses a profile named &quot;dev-edition-default&quot; as the
            default profile (which it creates if it doesn&apos;t exist), unless a special
            empty file named &quot;ignore-dev-edition-profile&quot; is present next to
            profiles.ini. In that case Developer Edition behaves the same as any
            other build of Firefox.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.GetProfileByName(Gecko.nsAUTF8StringBase)">
            <summary>
            Get a profile by name. This is mainly for use by the -P
            commandline flag.
            </summary>
            <param name="aName">
            The profile name to find.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.LockProfilePath(Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsIFile)">
            <summary>
            Lock an arbitrary path as a profile. If the path does not exist, it
            will be created and the defaults copied from the application directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.CreateProfile(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            Create a new profile.
            
            The profile temporary directory will be chosen based on where the
            profile directory is located.
            </summary>
            <param name="aRootDir">
            The profile directory. May be null, in which case a suitable
            default will be chosen based on the profile name.
            </param>
            <param name="aName">
            The profile name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.CreateDefaultProfileForApp(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Create the default profile for an application.
            
            The profile will be typically in
            {Application Data}/.profilename/{salt}.default or
            {Application Data}/.appname/{salt}.default
            or if aVendorName is provided
            {Application Data}/.vendor/appname/{salt}.default
            </summary>
            <param name="aProfileName">
            The name of the profile
            </param>
            <param name="aAppName">
            The name of the application
            </param>
            <param name="aVendorName">
            The name of the vendor
            </param>
            <returns>
            The created profile.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.GetProfileCountAttribute">
            <summary>
            Returns the number of profiles.
            </summary>
            <returns>
            0, 1, or 2. More than 2 profiles will always return 2.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIToolkitProfileService.Flush">
            <summary>
            Flush the profiles list file.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITooltipListener">
            <summary>
            An optional interface for embedding clients wishing to receive
            notifications for when a tooltip should be displayed or removed.
            The embedder implements this interface on the web browser chrome
            object associated with the window that notifications are required
            for.
            </summary>
            <remarks>
            See nsITooltipTextProvider
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsITooltipListener.OnShowTooltip(System.Int32,System.Int32,System.String,System.String)">
            <summary>
            Called when a tooltip should be displayed.
            </summary>
            <param name="aXCoords">
            The tooltip left edge X coordinate.
            </param>
            <param name="aYCoords">
            The tooltip top edge Y coordinate.
            </param>
            <param name="aTipText">
            The text to display in the tooltip, typically obtained
            from the TITLE attribute of the node (or containing parent)
            over which the pointer has been positioned.
            </param>
            <param name="aTipDir">
            The direction (ltr or rtl) in which to display the text
            </param>
            <returns>
            &lt;code&gt;NS_OK&lt;/code&gt; if the tooltip was displayed.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITooltipListener.OnHideTooltip">
            <summary>
            Called when the tooltip should be hidden, either because the pointer
            has moved or the tooltip has timed out.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsITooltipTextProvider">
            <summary>
            An interface implemented by a tooltip text provider service. This
            service is called to discover what tooltip text is associated
            with the node that the pointer is positioned over.
            
            Embedders may implement and register their own tooltip text provider
            service if they wish to provide different tooltip text.
            
            The default service returns the text stored in the TITLE
            attribute of the node or a containing parent.
            </summary>
            <remarks>
            See nsIDOMNode
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsITooltipTextProvider.GetNodeText(Gecko.Interfaces.nsIDOMNode,System.String@,System.String@)">
            <summary>
            Called to obtain the tooltip text for a node.
            </summary>
            <returns>
            &lt;CODE&gt;PR_TRUE&lt;/CODE&gt; if tooltip text is associated
            with the node and was returned in the aText argument;
            &lt;CODE&gt;PR_FALSE&lt;/CODE&gt; otherwise.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsITraceableChannel">
            <summary>
            A channel implementing this interface allows one to intercept its data by
            inserting intermediate stream listeners.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransaction.DoTransaction">
            <summary>
            Executes the transaction.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransaction.UndoTransaction">
            <summary>
            Restores the state to what it was before the transaction was executed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransaction.RedoTransaction">
            <summary>
            Executes the transaction again. Can only be called on a transaction that
            was previously undone.
            &lt;P&gt;
            In most cases, the redoTransaction() method will actually call the
            doTransaction() method to execute the transaction again.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransaction.GetIsTransientAttribute">
            <summary>
            The transaction&apos;s transient state. This attribute is checked by
            the transaction manager after the transaction&apos;s Execute() method is called.
            If the transient state is false, a reference to the transaction is
            held by the transaction manager so that the transactions&apos; undoTransaction()
            and redoTransaction() methods can be called. If the transient state is
            true, the transaction manager returns immediately after the transaction&apos;s
            doTransaction() method is called, no references to the transaction are
            maintained. Transient transactions cannot be undone or redone by the
            transaction manager.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransaction.Merge(Gecko.Interfaces.nsITransaction)">
            <summary>
            Attempts to merge a transaction into &quot;this&quot; transaction. Both transactions
            must be in their undo state, doTransaction() methods already called. The
            transaction manager calls this method to coalesce a new transaction with
            the transaction on the top of the undo stack.
            This method returns a boolean value that indicates the merge result.
            A true value indicates that the transactions were merged successfully,
            a false value if the merge was not possible or failed. If true,
            the transaction manager will Release() the new transacton instead of
            pushing it on the undo stack.
            </summary>
            <param name="aTransaction">
            the previously executed transaction to merge.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionList.GetNumItemsAttribute">
            <summary>
            The number of transactions contained in this list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionList.ItemIsBatch(System.Int32)">
            <summary>
            itemIsBatch() returns true if the item at aIndex is a batch. Note that
            currently there is no requirement for a TransactionManager implementation
            to associate a toplevel nsITransaction with a batch so it is possible for
            itemIsBatch() to return true and getItem() to return null. However, you
            can still access the transactions contained in the batch with a call to
            getChildListForItem().
            </summary>
            <param name="aIndex">
            The index of the item in the list.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionList.GetItem(System.Int32)">
            <summary>
            getItem() returns the transaction at the given index in the list. Note that
            a null can be returned here if the item is a batch. The transaction
            returned is AddRef&apos;d so it is up to the caller to Release the transaction
            when it is done.
            </summary>
            <param name="aIndex">
            The index of the item in the list.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionList.GetData(System.Int32,System.UInt32@,System.IntPtr@)">
            <summary>
            getData() returns the data (of type nsISupports array) associated with
            the transaction list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionList.GetNumChildrenForItem(System.Int32)">
            <summary>
            getNumChildrenForItem() returns the number of child (auto-aggreated)
            transactions the item at aIndex has.
            </summary>
            <param name="aIndex">
            The index of the item in the list.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionList.GetChildListForItem(System.Int32)">
            <summary>
            getChildListForItem() returns the list of children associated with the
            item at aIndex. Implementations may return null if there are no children,
            or an empty list. The list returned is AddRef&apos;d so it is up to the caller
            to Release the transaction when it is done.
            </summary>
            <param name="aIndex">
            The index of the item in the list.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsITransactionListener">
            <summary>
            The nsITransactionListener interface.
            &lt;P&gt;
            This interface is implemented by an object that tracks transactions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.WillDo(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction)">
            <summary>
            Called before a transaction manager calls a transaction&apos;s
            doTransaction() method.
            </summary>
            <param name="aManager">
            the transaction manager doing the transaction.
            </param>
            <param name="aTransaction">
            the transaction being executed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.DidDo(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction,System.Int32)">
            <summary>
            Called after a transaction manager calls the doTransaction() method of
            a transaction.
            </summary>
            <param name="aManager">
            the transaction manager that did the transaction.
            </param>
            <param name="aTransaction">
            the transaction that was executed.
            </param>
            <param name="aDoResult">
            the nsresult returned after executing
            the transaction.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.WillUndo(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction)">
            <summary>
            Called before a transaction manager calls the Undo() method of
            a transaction.
            </summary>
            <param name="aManager">
            the transaction manager undoing the transaction.
            </param>
            <param name="aTransaction">
            the transaction being undone.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.DidUndo(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction,System.Int32)">
            <summary>
            Called after a transaction manager calls the Undo() method of
            a transaction.
            </summary>
            <param name="aManager">
            the transaction manager undoing the transaction.
            </param>
            <param name="aTransaction">
            the transaction being undone.
            </param>
            <param name="aUndoResult">
            the nsresult returned after undoing the transaction.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.WillRedo(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction)">
            <summary>
            Called before a transaction manager calls the Redo() method of
            a transaction.
            </summary>
            <param name="aManager">
            the transaction manager redoing the transaction.
            </param>
            <param name="aTransaction">
            the transaction being redone.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.DidRedo(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction,System.Int32)">
            <summary>
            Called after a transaction manager calls the Redo() method of
            a transaction.
            </summary>
            <param name="aManager">
            the transaction manager redoing the transaction.
            </param>
            <param name="aTransaction">
            the transaction being redone.
            </param>
            <param name="aRedoResult">
            the nsresult returned after redoing the transaction.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.WillBeginBatch(Gecko.Interfaces.nsITransactionManager)">
            <summary>
            Called before a transaction manager begins a batch.
            </summary>
            <param name="aManager">
            the transaction manager beginning a batch.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.DidBeginBatch(Gecko.Interfaces.nsITransactionManager,System.Int32)">
            <summary>
            Called after a transaction manager begins a batch.
            </summary>
            <param name="aManager">
            the transaction manager that began a batch.
            </param>
            <param name="aResult">
            the nsresult returned after beginning a batch.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.WillEndBatch(Gecko.Interfaces.nsITransactionManager)">
            <summary>
            Called before a transaction manager ends a batch.
            </summary>
            <param name="aManager">
            the transaction manager ending a batch.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.DidEndBatch(Gecko.Interfaces.nsITransactionManager,System.Int32)">
            <summary>
            Called after a transaction manager ends a batch.
            </summary>
            <param name="aManager">
            the transaction manager ending a batch.
            </param>
            <param name="aResult">
            the nsresult returned after ending a batch.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.WillMerge(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction,Gecko.Interfaces.nsITransaction)">
            <summary>
            Called before a transaction manager tries to merge
            a transaction, that was just executed, with the
            transaction at the top of the undo stack.
            </summary>
            <param name="aManager">
            the transaction manager ending a batch.
            </param>
            <param name="aTopTransaction">
            the transaction at the top of the undo stack.
            </param>
            <param name="aTransactionToMerge">
            the transaction to merge.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionListener.DidMerge(Gecko.Interfaces.nsITransactionManager,Gecko.Interfaces.nsITransaction,Gecko.Interfaces.nsITransaction,System.Boolean,System.Int32)">
            <summary>
            Called after a transaction manager tries to merge
            a transaction, that was just executed, with the
            transaction at the top of the undo stack.
            </summary>
            <param name="aManager">
            the transaction manager ending a batch.
            </param>
            <param name="aTopTransaction">
            the transaction at the top of the undo stack.
            </param>
            <param name="aTransactionToMerge">
            the transaction to merge.
            </param>
            <param name="aDidMerge">
            true if transaction was merged, else false.
            </param>
            <param name="aMergeResult">
            the nsresult returned after the merge attempt.
            </param>
            <param name="aInterrupt">
            listeners should set this to PR_TRUE if they
            want to interrupt normal control flow, without throwing an error.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsITransactionManager">
            <summary>
            The nsITransactionManager interface.
            &lt;P&gt;
            This interface is implemented by an object that wants to
            manage/track transactions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.DoTransaction(Gecko.Interfaces.nsITransaction)">
            <summary>
            Calls a transaction&apos;s doTransaction() method, then pushes it on the
            undo stack.
            &lt;P&gt;
            This method calls the transaction&apos;s AddRef() method.
            The transaction&apos;s Release() method will be called when the undo or redo
            stack is pruned or when the transaction manager is destroyed.
            </summary>
            <param name="aTransaction">
            the transaction to do.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.UndoTransaction">
            <summary>
            Pops the topmost transaction on the undo stack, calls its
            undoTransaction() method, then pushes it on the redo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.RedoTransaction">
            <summary>
            Pops the topmost transaction on the redo stack, calls its
            redoTransaction() method, then pushes it on the undo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.Clear">
            <summary>
            Clears the undo and redo stacks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.ClearUndoStack">
            <summary>
            Clears the undo stack only.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.ClearRedoStack">
            <summary>
            Clears the redo stack only.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.BeginBatch(Gecko.Interfaces.nsISupports)">
            <summary>
            Turns on the transaction manager&apos;s batch mode, forcing all transactions
            executed by the transaction manager&apos;s doTransaction() method to be
            aggregated together until EndBatch() is called.  This mode allows an
            application to execute and group together several independent transactions
            so they can be undone with a single call to undoTransaction().
            </summary>
            <param name="aData">
            An arbitrary nsISupports object that is associated with the
            batch. Can be retrieved from nsITransactionList.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.EndBatch(System.Boolean)">
            <summary>
            Turns off the transaction manager&apos;s batch mode.
            </summary>
            <param name="aAllowEmpty">
            If true, a batch containing no children will be
            pushed onto the undo stack. Otherwise, ending a batch with no
            children will result in no transactions being pushed on the undo stack.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.GetNumberOfUndoItemsAttribute">
            <summary>
            The number of items on the undo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.GetNumberOfRedoItemsAttribute">
            <summary>
            The number of items on the redo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.GetMaxTransactionCountAttribute">
            <summary>
            Sets the maximum number of transaction items the transaction manager will
            maintain at any time. This is commonly referred to as the number of levels
            of undo.
            </summary>
            <param name="aMaxCount">
            A value of -1 means no limit. A value of zero means the
            transaction manager will execute each transaction, then immediately release
            all references it has to the transaction without pushing it on the undo
            stack. A value greater than zero indicates the max number of transactions
            that can exist at any time on both the undo and redo stacks. This method
            will prune the necessary number of transactions on the undo and redo
            stacks if the value specified is less than the number of items that exist
            on both the undo and redo stacks.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.BatchTopUndo">
            <summary>
            Combines the transaction at the top of the undo stack (if any) with the
            preceding undo transaction (if any) into a batch transaction. Thus,
            a call to undoTransaction() will undo both transactions.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.RemoveTopUndo">
            <summary>
            Removes the transaction at the top of the undo stack (if any) without
            transacting.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.PeekUndoStack">
            <summary>
            Returns an AddRef&apos;d pointer to the transaction at the top of the
            undo stack. Callers should be aware that this method could return
            return a null in some implementations if there is a batch at the top
            of the undo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.PeekRedoStack">
            <summary>
            Returns an AddRef&apos;d pointer to the transaction at the top of the
            redo stack. Callers should be aware that this method could return
            return a null in some implementations if there is a batch at the top
            of the redo stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.GetUndoList">
            <summary>
            Returns the list of transactions on the undo stack. Note that the
            transaction at the top of the undo stack will actually be at the
            index &apos;n-1&apos; in the list, where &apos;n&apos; is the number of items in the list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.GetRedoList">
            <summary>
            Returns the list of transactions on the redo stack. Note that the
            transaction at the top of the redo stack will actually be at the
            index &apos;n-1&apos; in the list, where &apos;n&apos; is the number of items in the list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.AddListener(Gecko.Interfaces.nsITransactionListener)">
            <summary>
            Adds a listener to the transaction manager&apos;s notification list. Listeners
            are notified whenever a transaction is done, undone, or redone.
            &lt;P&gt;
            The listener&apos;s AddRef() method is called.
            </summary>
            <param name="aListener">
            the lister to add.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransactionManager.RemoveListener(Gecko.Interfaces.nsITransactionListener)">
            <summary>
            Removes a listener from the transaction manager&apos;s notification list.
            &lt;P&gt;
            The listener&apos;s Release() method is called.
            </summary>
            <param name="aListener">
            the lister to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIFlavorDataProvider.GetFlavorData(Gecko.Interfaces.nsITransferable,System.String,Gecko.Interfaces.nsISupports@,System.UInt32@)">
            <summary>
            Retrieve the data from this data provider.
            </summary>
            <param name="aTransferable">
            (in parameter) the transferable we&apos;re being called for.
            </param>
            <param name="aFlavor">
            (in parameter) the flavor of data to retrieve
            </param>
            <param name="aData">
            the data. Some variant of class in nsISupportsPrimitives.idl
            </param>
            <param name="aDataLen">
            the length of the data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.Init(Gecko.Interfaces.nsILoadContext)">
            <summary>
            Initializes a transferable object.  This should be called on all
            transferable objects.  Failure to do so will result in fatal assertions in
            debug builds.
            
            The load context is used to track whether the transferable is storing privacy-
            sensitive information.  For example, we try to delete data that you copy
            to the clipboard when you close a Private Browsing window.
            
            To get the appropriate load context in Javascript callers, one needs to get
            to the document that the transferable corresponds to, and then get the load
            context from the document like this:
            
            var loadContext = doc.defaultView.QueryInterface(Ci.nsIInterfaceRequestor)
            .getInterface(Ci.nsIWebNavigation)
            .QueryInterface(Ci.nsILoadContext);
            
            In C++ callers, if you have the corresponding document, you can just call
            nsIDocument::GetLoadContext to get to the load context object.
            </summary>
            <param name="aContext">
            the load context associated with the transferable object.
            This can be set to null if a load context is not available.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.FlavorsTransferableCanExport">
            <summary>
            Computes a list of flavors (mime types as nsISupportsCString) that the transferable
            can export, either through intrinsic knowledge or output data converters.
            </summary>
            <param name="aDataFlavorList">
            fills list with supported flavors. This is a copy of
            the internal list, so it may be edited w/out affecting the transferable.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.GetTransferData(System.String,Gecko.Interfaces.nsISupports@,System.UInt32@)">
            <summary>
            Given a flavor retrieve the data.
            </summary>
            <param name="aFlavor">
            (in parameter) the flavor of data to retrieve
            </param>
            <param name="aData">
            the data. Some variant of class in nsISupportsPrimitives.idl
            </param>
            <param name="aDataLen">
            the length of the data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.GetAnyTransferData(Gecko.nsACStringBase,Gecko.Interfaces.nsISupports@,System.UInt32@)">
            <summary>
            Returns the best flavor in the transferable, given those that have
            been added to it with |AddFlavor()|
            </summary>
            <param name="aFlavor">
            (out parameter) the flavor of data that was retrieved
            </param>
            <param name="aData">
            the data. Some variant of class in nsISupportsPrimitives.idl
            </param>
            <param name="aDataLen">
            the length of the data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.IsLargeDataSet">
            <summary>
            Returns true if the data is large.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.FlavorsTransferableCanImport">
            <summary>
            Computes a list of flavors (mime types as nsISupportsCString) that the transferable can
            accept into it, either through intrinsic knowledge or input data converters.
            </summary>
            <param name="outFlavorList">
            fills list with supported flavors. This is a copy of
            the internal list, so it may be edited w/out affecting the transferable.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.SetTransferData(System.String,Gecko.Interfaces.nsISupports,System.UInt32)">
            <summary>
            Sets the data in the transferable with the specified flavor. The transferable
            will maintain its own copy the data, so it is not necessary to do that beforehand.
            </summary>
            <param name="aFlavor">
            the flavor of data that is being set
            </param>
            <param name="aData">
            the data, either some variant of class in nsISupportsPrimitives.idl,
            an nsIFile, or an nsIFlavorDataProvider (see above)
            </param>
            <param name="aDataLen">
            the length of the data, or 0 if passing a nsIFlavorDataProvider
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.AddDataFlavor(System.String)">
            <summary>
            Add the data flavor, indicating that this transferable
            can receive this type of flavor
            </summary>
            <param name="aDataFlavor">
            a new data flavor to handle
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.RemoveDataFlavor(System.String)">
            <summary>
            Removes the data flavor matching the given one (string compare) and the data
            that goes along with it.
            </summary>
            <param name="aDataFlavor">
            a data flavor to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.GetIsPrivateDataAttribute">
            <summary>
            Use of the SetIsPrivateData() method generated by isPrivateData attribute should
            be avoided as much as possible because the value set may not reflect the status
            of the context in which the transferable was created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransferable.GetRequestingPrincipalAttribute">
            <summary>
            The principal of the source dom node this transferable was
            created from and the contentPolicyType for the transferable.
            Note, currently only used on Windows for network principal and
            contentPolicyType information in clipboard and drag operations.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITransportEventSink.OnTransportStatus(Gecko.Interfaces.nsITransport,System.Int32,System.Int64,System.Int64)">
            <summary>
            Transport status notification.
            </summary>
            <param name="aTransport">
            the transport sending this status notification.
            </param>
            <param name="aStatus">
            the transport status (resolvable to a string using
            nsIErrorService). See nsISocketTransport for socket specific
            status codes and more comments.
            </param>
            <param name="aProgress">
            the amount of data either read or written depending on the value
            of the status code.  this value is relative to aProgressMax.
            </param>
            <param name="aProgressMax">
            the maximum amount of data that will be read or written.  if
            unknown, -1 will be passed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITransportSecurityInfo.GetFailedCertChainAttribute">
            <summary>
            If certificate verification failed, this will be the peer certificate
            chain provided in the handshake, so it can be used for error reporting.
            If verification succeeded, this will be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetColumnsAttribute">
            <summary>
            Obtain the columns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetViewAttribute">
            <summary>
            The view that backs the tree and that supplies it with its data.
            It is dynamically settable, either using a view attribute on the
            tree tag or by setting this attribute to a new value.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetFocusedAttribute">
            <summary>
            Whether or not we are currently focused.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetTreeBodyAttribute">
            <summary>
            Obtain the treebody content node
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetRowHeightAttribute">
            <summary>
            Obtain the height of a row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetRowWidthAttribute">
            <summary>
            Obtain the width of a row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetHorizontalPositionAttribute">
            <summary>
            Get the pixel position of the horizontal scrollbar.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetSelectionRegionAttribute">
            <summary>
            Return the region for the visible parts of the selection, in device pixels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetFirstVisibleRow">
            <summary>
            Get the index of the first visible row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetLastVisibleRow">
            <summary>
            Get the index of the last visible row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetPageLength">
            <summary>
            Gets the number of possible visible rows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.EnsureRowIsVisible(System.Int32)">
            <summary>
            Ensures that a row at a given index is visible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.EnsureCellIsVisible(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Ensures that a given cell in the tree is visible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.ScrollToRow(System.Int32)">
            <summary>
            Scrolls such that the row at index is at the top of the visible view.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.ScrollByLines(System.Int32)">
            <summary>
            Scroll the tree up or down by numLines lines. Positive
            values move down in the tree. Prevents scrolling off the
            end of the tree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.ScrollByPages(System.Int32)">
            <summary>
            Scroll the tree up or down by numPages pages. A page
            is considered to be the amount displayed by the tree.
            Positive values move down in the tree. Prevents scrolling
            off the end of the tree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.ScrollToCell(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Scrolls such that a given cell is visible (if possible)
            at the top left corner of the visible view.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.ScrollToColumn(Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Scrolls horizontally so that the specified column is
            at the left of the view (if possible).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.ScrollToHorizontalPosition(System.Int32)">
            <summary>
            Scroll to a specific horizontal pixel position.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.Invalidate">
            <summary>
            Invalidation methods for fine-grained painting control.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetRowAt(System.Int32,System.Int32)">
            <summary>
            A hit test that can tell you what row the mouse is over.
            returns -1 for invalid mouse coordinates.
            
            The coordinate system is the client coordinate system for the
            document this boxObject lives in, and the units are CSS pixels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetCellAt(System.Int32,System.Int32,System.Int32@,Gecko.Interfaces.nsITreeColumn@,Gecko.nsAStringBase)">
            <summary>
            A hit test that can tell you what cell the mouse is over.  Row is the row index
            hit,  returns -1 for invalid mouse coordinates.  ColID is the column hit.
            ChildElt is the pseudoelement hit: this can have values of
            &quot;cell&quot;, &quot;twisty&quot;, &quot;image&quot;, and &quot;text&quot;.
            
            The coordinate system is the client coordinate system for the
            document this boxObject lives in, and the units are CSS pixels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.GetCoordsForCellItem(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase,System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Find the coordinates of an element within a specific cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.IsCellCropped(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Determine if the text of a cell is being cropped or not.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.RowCountChanged(System.Int32,System.Int32)">
            <summary>
            The view is responsible for calling these notification methods when
            rows are added or removed.  Index is the position at which the new
            rows were added or at which rows were removed.  For
            non-contiguous additions/removals, this method should be called multiple times.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.BeginUpdateBatch">
            <summary>
            Notify the tree that the view is about to perform a batch
            update, that is, add, remove or invalidate several rows at once.
            This must be followed by calling endUpdateBatch(), otherwise the tree
            will get out of sync.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.EndUpdateBatch">
            <summary>
            Notify the tree that the view has completed a batch update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeBoxObject.ClearStyleAndImageCaches">
            <summary>
            Called on a theme switch to flush out the tree&apos;s style and image caches.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.GetTreeAttribute">
            <summary>
            The tree widget for these columns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.GetCountAttribute">
            <summary>
            The number of columns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.GetLengthAttribute">
            <summary>
            An alias for count (for the benefit of scripts which treat this as an
            array).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.GetFirstColumn">
            <summary>
            Get the first/last column.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.GetPrimaryColumn">
            <summary>
            Attribute based column getters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.GetColumnFor(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Get the column for the given element.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.GetNamedColumn(Gecko.nsAStringBase)">
            <summary>
            Parametric column getters.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeColumns.InvalidateColumns">
            <summary>
            This method is called whenever a treecol is added or removed and
            the column cache needs to be rebuilt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeContentView.GetItemAtIndex(System.Int32)">
            <summary>
            Retrieve the content item associated with the specified index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeContentView.GetIndexOfItem(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Retrieve the index associated with the specified content item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetTreeAttribute">
            <summary>
            The tree widget for this selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetSingleAttribute">
            <summary>
            This attribute is a boolean indicating single selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetCountAttribute">
            <summary>
            The number of rows currently selected in this tree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.IsSelected(System.Int32)">
            <summary>
            Indicates whether or not the row at the specified index is
            part of the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.Select(System.Int32)">
            <summary>
            Deselect all rows and select the row at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.TimedSelect(System.Int32,System.Int32)">
            <summary>
            Perform a timed select.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.ToggleSelect(System.Int32)">
            <summary>
            Toggle the selection state of the row at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.RangedSelect(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Select the range specified by the indices.  If augment is true,
            then we add the range to the selection without clearing out anything
            else.  If augment is false, everything is cleared except for the specified range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.ClearRange(System.Int32,System.Int32)">
            <summary>
            Clears the range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.ClearSelection">
            <summary>
            Clears the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.InvertSelection">
            <summary>
            Inverts the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.SelectAll">
            <summary>
            Selects all rows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetRangeCount">
            <summary>
            Iterate the selection using these methods.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.InvalidateSelection">
            <summary>
            Can be used to invalidate the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.AdjustSelection(System.Int32,System.Int32)">
            <summary>
            Called when the row count changes to adjust selection indices.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetSelectEventsSuppressedAttribute">
            <summary>
            This attribute is a boolean indicating whether or not the
            &quot;select&quot; event should fire when the selection is changed using
            one of our methods.  A view can use this to temporarily suppress
            the selection while manipulating all of the indices, e.g., on
            a sort.
            Note: setting this attribute to false will fire a select event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetCurrentIndexAttribute">
            <summary>
            The current item (the one that gets a focus rect in addition to being
            selected).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetCurrentColumnAttribute">
            <summary>
            The current column.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITreeSelection.GetShiftSelectPivotAttribute">
            <summary>
            The selection &quot;pivot&quot;.  This is the first item the user selected as
            part of a ranged select.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeTreeSelection">
            <summary>
            The following interface is not scriptable and MUST NEVER BE MADE scriptable.
            Native treeselections implement it, and we use this to check whether a
            treeselection is native (and therefore suitable for use by untrusted content).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetTreeAttribute">
            <summary>
            The tree widget for this selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetSingleAttribute">
            <summary>
            This attribute is a boolean indicating single selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetCountAttribute">
            <summary>
            The number of rows currently selected in this tree.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.IsSelected(System.Int32)">
            <summary>
            Indicates whether or not the row at the specified index is
            part of the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.Select(System.Int32)">
            <summary>
            Deselect all rows and select the row at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.TimedSelect(System.Int32,System.Int32)">
            <summary>
            Perform a timed select.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.ToggleSelect(System.Int32)">
            <summary>
            Toggle the selection state of the row at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.RangedSelect(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Select the range specified by the indices.  If augment is true,
            then we add the range to the selection without clearing out anything
            else.  If augment is false, everything is cleared except for the specified range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.ClearRange(System.Int32,System.Int32)">
            <summary>
            Clears the range.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.ClearSelection">
            <summary>
            Clears the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.InvertSelection">
            <summary>
            Inverts the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.SelectAll">
            <summary>
            Selects all rows.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetRangeCount">
            <summary>
            Iterate the selection using these methods.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.InvalidateSelection">
            <summary>
            Can be used to invalidate the selection.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.AdjustSelection(System.Int32,System.Int32)">
            <summary>
            Called when the row count changes to adjust selection indices.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetSelectEventsSuppressedAttribute">
            <summary>
            This attribute is a boolean indicating whether or not the
            &quot;select&quot; event should fire when the selection is changed using
            one of our methods.  A view can use this to temporarily suppress
            the selection while manipulating all of the indices, e.g., on
            a sort.
            Note: setting this attribute to false will fire a select event.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetCurrentIndexAttribute">
            <summary>
            The current item (the one that gets a focus rect in addition to being
            selected).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetCurrentColumnAttribute">
            <summary>
            The current column.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeSelection.GetShiftSelectPivotAttribute">
            <summary>
            The selection &quot;pivot&quot;.  This is the first item the user selected as
            part of a ranged select.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsINativeTreeView">
            <summary>
            The following interface is not scriptable and MUST NEVER BE MADE scriptable.
            Native treeviews implement it, and we use this to check whether a treeview
            is native (and therefore suitable for use by untrusted content).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetRowCountAttribute">
            <summary>
            The total number of rows in the tree (including the offscreen rows).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetSelectionAttribute">
            <summary>
            The selection for this view.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetRowProperties(System.Int32,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties.  For each property X the view
            gives back will cause the pseudoclasses  ::-moz-tree-cell(x),
            ::-moz-tree-row(x), ::-moz-tree-twisty(x), ::-moz-tree-image(x),
            ::-moz-tree-cell-text(x).  to be matched on the pseudoelement
            ::moz-tree-row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetCellProperties(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            A whitespace delimited list of properties for a given cell.  Each
            property, x, that the view gives back will cause the pseudoclasses
            ::-moz-tree-cell(x), ::-moz-tree-row(x), ::-moz-tree-twisty(x),
            ::-moz-tree-image(x), ::-moz-tree-cell-text(x). to be matched on the
            cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetColumnProperties(Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            Called to get properties to paint a column background.  For shading the sort
            column, etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.IsContainer(System.Int32)">
            <summary>
            Methods that can be used to test whether or not a twisty should be drawn,
            and if so, whether an open or closed twisty should be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.IsSeparator(System.Int32)">
            <summary>
            isSeparator is used to determine if the row at index is a separator.
            A value of true will result in the tree drawing a horizontal separator.
            The tree uses the ::moz-tree-separator pseudoclass to draw the separator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.IsSorted">
            <summary>
            Specifies if there is currently a sort on any column. Used mostly by dragdrop
            to affect drop feedback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.CanDrop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Methods used by the drag feedback code to determine if a drag is allowable at
            the current location. To get the behavior where drops are only allowed on
            items, such as the mailNews folder pane, always return false when
            the orientation is not DROP_ON.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.Drop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Called when the user drops something on this view. The |orientation| param
            specifies before/on/after the given |row|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetParentIndex(System.Int32)">
            <summary>
            Methods used by the tree to draw thread lines in the tree.
            getParentIndex is used to obtain the index of a parent row.
            If there is no parent row, getParentIndex returns -1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.HasNextSibling(System.Int32,System.Int32)">
            <summary>
            hasNextSibling is used to determine if the row at rowIndex has a nextSibling
            that occurs *after* the index specified by afterIndex.  Code that is forced
            to march down the view looking at levels can optimize the march by starting
            at afterIndex+1.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetLevel(System.Int32)">
            <summary>
            The level is an integer value that represents
            the level of indentation.  It is multiplied by the width specified in the
            :moz-tree-indentation pseudoelement to compute the exact indendation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetImageSrc(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The image path for a given cell. For defining an icon for a cell.
            If the empty string is returned, the :moz-tree-image pseudoelement
            will be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The value for a given cell. This method is only called for columns
            of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.GetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            The text for a given cell.  If a column consists only of an image, then
            the empty string is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.SetTree(Gecko.Interfaces.nsITreeBoxObject)">
            <summary>
            Called during initialization to link the view to the front end box object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.ToggleOpenState(System.Int32)">
            <summary>
            Called on the view when an item is opened or closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.CycleHeader(Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a header is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.SelectionChanged">
            <summary>
            Should be called from a XUL onselect handler whenever the selection changes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.CycleCell(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            Called on the view when a cell in a non-selectable cycling column (e.g., unread/flag/etc.) is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.IsEditable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isEditable is called to ask the view if the cell contents are editable.
            A value of true will result in the tree popping up a text field when
            the user tries to inline edit the cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.IsSelectable(System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            isSelectable is called to ask the view if the cell is selectable.
            This method is only called if the selection style is |cell| or |text|.
            XXXvarga shouldn&apos;t this be called isCellSelectable?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.SetCellValue(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellValue is called when the value of the cell has been set by the user.
            This method is only called for columns of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.SetCellText(System.Int32,Gecko.Interfaces.nsITreeColumn,Gecko.nsAStringBase)">
            <summary>
            setCellText is called when the contents of the cell have been edited by the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.PerformAction(System.String)">
            <summary>
            A command API that can be used to invoke commands on the selection.  The tree
            will automatically invoke this method when certain keys are pressed.  For example,
            when the DEL key is pressed, performAction will be called with the &quot;delete&quot; string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.PerformActionOnRow(System.String,System.Int32)">
            <summary>
            A command API that can be used to invoke commands on a specific row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsINativeTreeView.PerformActionOnCell(System.String,System.Int32,Gecko.Interfaces.nsITreeColumn)">
            <summary>
            A command API that can be used to invoke commands on a specific cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITXTToHTMLConv.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITXTToHTMLConv.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITXTToHTMLConv.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITXTToHTMLConv.Convert(Gecko.Interfaces.nsIInputStream,System.String,System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;SYNCRONOUS VERSION&lt;/b&gt;
            Converts a stream of one type, to a stream of another type.
            
            Use this method when you have a stream you want to convert.
            </summary>
            <param name="aFromStream">
            The stream representing the original/raw data.
            </param>
            <param name="aFromType">
            The MIME type of aFromStream.
            </param>
            <param name="aToType">
            The MIME type of the returned stream.
            </param>
            <param name="aCtxt">
            Either an opaque context, or a converter specific context
            (implementation specific).
            </param>
            <returns>
            The converted stream. NOTE: The returned stream may not
            already be converted. An efficient stream converter
            implementation will converter data on demand rather than
            buffering the converted data until it is used.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsITXTToHTMLConv.AsyncConvertData(System.String,System.String,Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            &lt;b&gt;ASYNCRONOUS VERSION&lt;/b&gt;
            Converts data arriving via the converter&apos;s nsIStreamListener::OnDataAvailable()
            method from one type to another, pushing the converted data out to the caller
            via aListener::OnDataAvailable().
            
            Use this method when you want to proxy (and convert) nsIStreamListener callbacks
            asynchronously.
            </summary>
            <param name="aFromType">
            The MIME type of the original/raw data.
            </param>
            <param name="aToType">
            The MIME type of the converted data.
            </param>
            <param name="aListener">
            The listener who receives the converted data.
            </param>
            <param name="aCtxt">
            Either an opaque context, or a converter specific context
            (implementation specific).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITXTToHTMLConv.SetTitle(System.String)">
            <summary>
            
            </summary>
            <param name="text:">
            Title to set for the HTML document.  Only applicable if
            preFormatHTML(true) is called.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsITXTToHTMLConv.PreFormatHTML(System.Boolean)">
            <summary>
            
            </summary>
            <param name="value:">
            true to use an HTML header and footer on the document,
            false to omit it.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsITypeAheadFind">
            <summary>
            nsTypeAheadFind
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITypeAheadFind.Init(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Initializer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITypeAheadFind.Find(Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Core functions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITypeAheadFind.SetDocShell(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Helper functions
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsITypeAheadFind.GetSearchStringAttribute(Gecko.nsAStringBase)">
            <summary>
            Attributes
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUDPSocket">
            <summary>
            nsIUDPSocket
            
            An interface to a UDP socket that can accept incoming connections.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.Init(System.Int32,System.Boolean,Gecko.Interfaces.nsIPrincipal,System.Boolean,System.Byte)">
            <summary>
            init
            
            This method initializes a UDP socket.
            </summary>
            <param name="aPort">
            The port of the UDP socket.  Pass -1 to indicate no preference,
            and a port will be selected automatically.
            </param>
            <param name="aLoopbackOnly">
            If true, the UDP socket will only respond to connections on the
            local loopback interface.  Otherwise, it will accept connections
            from any interface.  To specify a particular network interface,
            use initWithAddress.
            </param>
            <param name="aPrincipal">
            The principal connected to this socket.
            </param>
            <param name="aAddressReuse">
            If true, the socket is allowed to be bound to an address that is
            already in use. Default is true.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.InitWithAddress(System.IntPtr,Gecko.Interfaces.nsIPrincipal,System.Boolean,System.Byte)">
            <summary>
            initWithAddress
            
            This method initializes a UDP socket, and binds it to a particular
            local address (and hence a particular local network interface).
            </summary>
            <param name="aAddr">
            The address to which this UDP socket should be bound.
            </param>
            <param name="aPrincipal">
            The principal connected to this socket.
            </param>
            <param name="aAddressReuse">
            If true, the socket is allowed to be bound to an address that is
            already in use. Default is true.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.Close">
            <summary>
            close
            
            This method closes a UDP socket.  This does not affect already
            connected client sockets (i.e., the nsISocketTransport instances
            created from this UDP socket).  This will cause the onStopListening
            event to asynchronously fire with a status of NS_BINDING_ABORTED.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.AsyncListen(Gecko.Interfaces.nsIUDPSocketListener)">
            <summary>
            asyncListen
            
            This method puts the UDP socket in the listening state.  It will
            asynchronously listen for and accept client connections.  The listener
            will be notified once for each client connection that is accepted.  The
            listener&apos;s onSocketAccepted method will be called on the same thread
            that called asyncListen (the calling thread must have a nsIEventTarget).
            
            The listener will be passed a reference to an already connected socket
            transport (nsISocketTransport).  See below for more details.
            </summary>
            <param name="aListener">
            The listener to be notified when client connections are accepted.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.Connect(System.IntPtr)">
            <summary>
            connect
            
            This method connects the UDP socket to a remote UDP address.
            </summary>
            <param name="aRemoteAddr">
            The remote address to connect to
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetLocalAddrAttribute">
            <summary>
            Returns the local address of this UDP socket
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetPortAttribute">
            <summary>
            Returns the port of this UDP socket.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetAddress">
            <summary>
            Returns the address to which this UDP socket is bound.  Since a
            UDP socket may be bound to multiple network devices, this address
            may not necessarily be specific to a single network device.  In the
            case of an IP socket, the IP address field would be zerod out to
            indicate a UDP socket bound to all network devices.  Therefore,
            this method cannot be used to determine the IP address of the local
            system.  See nsIDNSService::myHostName if this is what you need.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.Send(Gecko.nsAUTF8StringBase,System.UInt16,System.Byte[],System.UInt32)">
            <summary>
            send
            
            Send out the datagram to specified remote host and port.
            DNS lookup will be triggered.
            </summary>
            <param name="host">
            The remote host name.
            </param>
            <param name="port">
            The remote port.
            </param>
            <param name="data">
            The buffer containing the data to be written.
            </param>
            <param name="dataLength">
            The maximum number of bytes to be written.
            </param>
            <returns>
            number of bytes written. (0 or dataLength)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.SendWithAddr(Gecko.Interfaces.nsINetAddr,System.Byte[],System.UInt32)">
            <summary>
            sendWithAddr
            
            Send out the datagram to specified remote host and port.
            </summary>
            <param name="addr">
            The remote host address.
            </param>
            <param name="data">
            The buffer containing the data to be written.
            </param>
            <param name="dataLength">
            The maximum number of bytes to be written.
            </param>
            <returns>
            number of bytes written. (0 or dataLength)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.SendWithAddress(System.IntPtr,System.Byte[],System.UInt32)">
            <summary>
            sendWithAddress
            
            Send out the datagram to specified remote address and port.
            </summary>
            <param name="addr">
            The remote host address.
            </param>
            <param name="data">
            The buffer containing the data to be written.
            </param>
            <param name="dataLength">
            The maximum number of bytes to be written.
            </param>
            <returns>
            number of bytes written. (0 or dataLength)
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.SendBinaryStream(Gecko.nsAUTF8StringBase,System.UInt16,Gecko.Interfaces.nsIInputStream)">
            <summary>
            sendBinaryStream
            
            Send out the datagram to specified remote address and port.
            </summary>
            <param name="host">
            The remote host name.
            </param>
            <param name="port">
            The remote port.
            </param>
            <param name="stream">
            The input stream to be sent. This must be a buffered stream implementation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.SendBinaryStreamWithAddress(System.IntPtr,Gecko.Interfaces.nsIInputStream)">
            <summary>
            sendBinaryStreamWithAddress
            
            Send out the datagram to specified remote address and port.
            </summary>
            <param name="addr">
            The remote host address.
            </param>
            <param name="stream">
            The input stream to be sent. This must be a buffered stream implementation.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.JoinMulticast(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            joinMulticast
            
            Join the multicast group specified by |addr|.  You are then able to
            receive future datagrams addressed to the group.
            </summary>
            <param name="addr">
            The multicast group address.
            </param>
            <param name="iface">
            The local address of the interface on which to join the group.  If
            this is not specified, the OS may join the group on all interfaces
            or only the primary interface.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.LeaveMulticast(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            leaveMulticast
            
            Leave the multicast group specified by |addr|.  You will no longer
            receive future datagrams addressed to the group.
            </summary>
            <param name="addr">
            The multicast group address.
            </param>
            <param name="iface">
            The local address of the interface on which to leave the group.
            If this is not specified, the OS may leave the group on all
            interfaces or only the primary interface.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetMulticastLoopbackAttribute">
            <summary>
            multicastLoopback
            
            Whether multicast datagrams sent via this socket should be looped back to
            this host (assuming this host has joined the relevant group).  Defaults
            to true.
            Note: This is currently write-only.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetMulticastInterfaceAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            multicastInterface
            
            The interface that should be used for sending future multicast datagrams.
            Note: This is currently write-only.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetMulticastInterfaceAddrAttribute">
            <summary>
            multicastInterfaceAddr
            
            The interface that should be used for sending future multicast datagrams.
            Note: This is currently write-only.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetRecvBufferSizeAttribute">
            <summary>
            recvBufferSize
            
            The size of the receive buffer. Default depends on the OS.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocket.GetSendBufferSizeAttribute">
            <summary>
            sendBufferSize
            
            The size of the send buffer. Default depends on the OS.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUDPSocketListener">
            <summary>
            nsIUDPSocketListener
            
            This interface is notified whenever a UDP socket accepts a new connection.
            The transport is in the connected state, and read/write streams can be opened
            using the normal nsITransport API.  The address of the client can be found by
            calling the nsISocketTransport::GetAddress method or by inspecting
            nsISocketTransport::GetHost, which returns a string representation of the
            client&apos;s IP address (NOTE: this may be an IPv4 or IPv6 string literal).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocketListener.OnPacketReceived(Gecko.Interfaces.nsIUDPSocket,Gecko.Interfaces.nsIUDPMessage)">
            <summary>
            onPacketReceived
            
            This method is called when a client sends an UDP packet.
            </summary>
            <param name="aSocket">
            The UDP socket.
            </param>
            <param name="aMessage">
            The message.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPSocketListener.OnStopListening(Gecko.Interfaces.nsIUDPSocket,System.Int32)">
            <summary>
            onStopListening
            
            This method is called when the listening socket stops for some reason.
            The UDP socket is effectively dead after this notification.
            </summary>
            <param name="aSocket">
            The UDP socket.
            </param>
            <param name="aStatus">
            The reason why the UDP socket stopped listening.  If the
            UDP socket was manually closed, then this value will be
            NS_BINDING_ABORTED.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUDPMessage">
            <summary>
            nsIUDPMessage
            
            This interface is used to encapsulate an incomming UDP message
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPMessage.GetFromAddrAttribute">
            <summary>
            Address of the source of the message
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPMessage.GetDataAttribute(Gecko.nsACStringBase)">
            <summary>
            Data of the message
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPMessage.GetOutputStreamAttribute">
            <summary>
            Stream to send a response
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUDPMessage.GetRawDataAttribute(System.IntPtr)">
            <summary>
            Raw Data of the message
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharLineInputStream.ReadLine(Gecko.nsAStringBase)">
            <summary>
            Read a single line from the stream, where a line is a
            possibly zero length sequence of characters terminated by a
            CR, LF, CRLF, LFCR, or eof.
            The line terminator is not returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoaderObserver.OnDetermineCharset(Gecko.Interfaces.nsIUnicharStreamLoader,Gecko.Interfaces.nsISupports,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Called as soon as at least 512 octets of data have arrived.
            If the stream receives fewer than 512 octets of data in total,
            called upon stream completion but before calling OnStreamComplete.
            Will not be called if the stream receives no data at all.
            </summary>
            <param name="aLoader">
            the unichar stream loader
            </param>
            <param name="aContext">
            the context parameter of the underlying channel
            </param>
            <param name="aSegment">
            up to 512 octets of raw data from the stream
            </param>
            <returns>
            the name of the character set to be used to decode this stream
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoaderObserver.OnStreamComplete(Gecko.Interfaces.nsIUnicharStreamLoader,Gecko.Interfaces.nsISupports,System.Int32,Gecko.nsAStringBase)">
            <summary>
            Called when the entire stream has been loaded and decoded.
            </summary>
            <param name="aLoader">
            the unichar stream loader
            </param>
            <param name="aContext">
            the context parameter of the underlying channel
            </param>
            <param name="aStatus">
            the status of the underlying channel
            </param>
            <param name="aBuffer">
            the contents of the stream, decoded to UTF-16.
            
            This method will always be called asynchronously by the
            nsUnicharIStreamLoader involved, on the thread that called the
            loader&apos;s init() method.  If onDetermineCharset fails,
            onStreamComplete will still be called, but aStatus will be an
            error code.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUnicharStreamLoader">
            <summary>
            Asynchronously load a channel, converting the data to UTF-16.
            
            To use this interface, first call init() with a
            nsIUnicharStreamLoaderObserver that will be notified when the data has been
            loaded. Then call asyncOpen() on the channel with the nsIUnicharStreamLoader
            as the listener. The context argument in the asyncOpen() call will be
            passed to the onStreamComplete() callback.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoader.OnStartRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the beginning of an asynchronous request.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            
            An exception thrown from onStartRequest has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoader.OnStopRequest(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the end of an asynchronous request.  This
            call is always preceded by a call to onStartRequest.
            </summary>
            <param name="aRequest">
            request being observed
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            
            An exception thrown from onStopRequest is generally ignored.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoader.OnDataAvailable(Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIInputStream,System.UInt64,System.UInt32)">
            <summary>
            Called when the next chunk of data (corresponding to the request) may
            be read without blocking the calling thread.  The onDataAvailable impl
            must read exactly |aCount| bytes of data before returning.
            </summary>
            <param name="aRequest">
            request corresponding to the source of the data
            </param>
            <param name="aContext">
            user defined context
            </param>
            <param name="aInputStream">
            input stream containing the data chunk
            </param>
            <param name="aOffset">
            Number of bytes that were sent in previous onDataAvailable calls
            for this request. In other words, the sum of all previous count
            parameters.
            </param>
            <param name="aCount">
            number of bytes available in the stream
            
            NOTE: The aInputStream parameter must implement readSegments.
            
            An exception thrown from onDataAvailable has the side-effect of
            causing the request to be canceled.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoader.Init(Gecko.Interfaces.nsIUnicharStreamLoaderObserver)">
            <summary>
            Initializes the unichar stream loader
            </summary>
            <param name="aObserver">
            the observer to notify when a charset is needed and when
            the load is complete
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoader.GetChannelAttribute">
            <summary>
            The channel attribute is only valid inside the onDetermineCharset
            and onStreamComplete callbacks.  Otherwise it will be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoader.GetCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The charset that onDetermineCharset returned, if that&apos;s been
            called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicharStreamLoader.GetRawBufferAttribute(Gecko.nsACStringBase)">
            <summary>
            Get the raw bytes as seen on the wire prior to character converstion.
            Used by Subresource Integrity checker to generate the correct hash.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUnicodeNormalizer.NormalizeUnicodeNFD(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Normalize Unicode (NFD, NFC, NFKD, NFKC).
            
            NFD: Canonical Decomposition
            NFC: Canonical Decomposition, followed by Canonical Composition
            NFKD: Compatibility Decomposition
            NFKC: Compatibility Decomposition, followed by Canonical Composition
            Reference: Unicode Standard, TR15, Unicode Normalization Forms
            </summary>
            <param name="aSrc">
            [IN]  nsAString which contains an input UTF-16 string.
            </param>
            <param name="aDest">
            [OUT] A pointer to an output buffer provided by a callee.
            </param>
            <returns>
            NS_OK for success,
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdatePatch">
            <summary>
            An interface that describes an object representing a patch file that can
            be downloaded and applied to a version of this application so that it
            can be updated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The type of this patch:
            &quot;partial&quot;      A binary difference between two application versions
            &quot;complete&quot;     A complete patch containing all of the replacement files
            to update to the new version
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetURLAttribute(Gecko.nsAStringBase)">
            <summary>
            The URL this patch was being downloaded from
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetFinalURLAttribute(Gecko.nsAStringBase)">
            <summary>
            The final URL this patch was being downloaded from
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetHashFunctionAttribute(Gecko.nsAStringBase)">
            <summary>
            The hash function to use when determining this file&apos;s integrity
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetHashValueAttribute(Gecko.nsAStringBase)">
            <summary>
            The value of the hash function named above that should be computed if
            this file is not corrupt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetSizeAttribute">
            <summary>
            The size of this file, in bytes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetStateAttribute(Gecko.nsAStringBase)">
            <summary>
            The state of this patch
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.GetSelectedAttribute">
            <summary>
            true if this patch is currently selected as the patch to be downloaded and
            installed for this update transaction, false if another patch from this
            update has been selected.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePatch.Serialize(Gecko.Interfaces.nsIDOMDocument)">
            <summary>
            Serializes this patch object into a DOM Element
            </summary>
            <param name="updates">
            The document to serialize into
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdate">
            <summary>
            An interface that describes an object representing an available update to
            the current application - this update may have several available patches
            from which one must be selected to download and install, for example we
            might select a binary difference patch first and attempt to apply that,
            then if the application process fails fall back to downloading a complete
            file-replace patch. This object also contains information about the update
            that the front end and other application services can use to learn more
            about what is going on.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The type of update:
            &quot;major&quot;  A major new version of the Application
            &quot;minor&quot;  A minor update to the Application (e.g. security update)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the update, or &quot;&lt;Application Name&gt; &lt;Update Version&gt;&quot;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetDisplayVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            The string to display in the user interface for the version. If you want
            a real version number use appVersion.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetAppVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            The Application version of this update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetPreviousAppVersionAttribute(Gecko.nsAStringBase)">
            <summary>
            The Application version prior to the application being updated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetBuildIDAttribute(Gecko.nsAStringBase)">
            <summary>
            The Build ID of this update. Used to determine a particular build, down
            to the hour, minute and second of its creation. This allows the system
            to differentiate between several nightly builds with the same |version|
            for example.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetDetailsURLAttribute(Gecko.nsAStringBase)">
            <summary>
            The URL to a page which offers details about the content of this
            update. Ideally, this page is not the release notes but some other page
            that summarizes the differences between this update and the previous,
            which also links to the release notes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetServiceURLAttribute(Gecko.nsAStringBase)">
            <summary>
            The URL to the Update Service that supplied this update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetChannelAttribute(Gecko.nsAStringBase)">
            <summary>
            The channel used to retrieve this update from the Update Service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetShowPromptAttribute">
            <summary>
            Whether to show the update prompt which requires user confirmation when an
            update is found during a background update check. This overrides the
            default setting to download the update in the background.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetShowNeverForVersionAttribute">
            <summary>
            Whether to show the &quot;No Thanks&quot; button in the update prompt. This allows
            the user to never receive a notification for that specific update version
            again.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetUnsupportedAttribute">
            <summary>
            Whether the update is no longer supported on this system.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetPromptWaitTimeAttribute">
            <summary>
            Allows overriding the default amount of time in seconds before prompting the
            user to apply an update. If not specified, the value of
            app.update.promptWaitTime will be used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetIsCompleteUpdateAttribute">
            <summary>
            Whether or not the update being downloaded is a complete replacement of
            the user&apos;s existing installation or a patch representing the difference
            between the new version and the previous version.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetIsSecurityUpdateAttribute">
            <summary>
            Whether or not the update is a security update or not. If this is true,
            then we present more serious sounding user interface messages to the
            user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetIsOSUpdateAttribute">
            <summary>
            Whether or not the update being downloaded is an OS update. This is
            generally only possible in Gonk right now.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetInstallDateAttribute">
            <summary>
            When the update was installed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetStatusTextAttribute(Gecko.nsAStringBase)">
            <summary>
            A message associated with this update, if any.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetSelectedPatchAttribute">
            <summary>
            The currently selected patch for this update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetStateAttribute(Gecko.nsAStringBase)">
            <summary>
            The state of the selected patch:
            &quot;downloading&quot;        The update is being downloaded.
            &quot;pending&quot;            The update is ready to be applied.
            &quot;pending-service&quot;    The update is ready to be applied with the service.
            &quot;pending-elevate&quot;    The update is ready to be applied but requires elevation.
            &quot;applying&quot;           The update is being applied.
            &quot;applied&quot;            The update is ready to be switched to.
            &quot;applied-os&quot;         The update is OS update and to be installed.
            &quot;applied-service&quot;    The update is ready to be switched to with the service.
            &quot;succeeded&quot;          The update was successfully applied.
            &quot;download-failed&quot;    The update failed to be downloaded.
            &quot;failed&quot;             The update failed to be applied.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetErrorCodeAttribute">
            <summary>
            A numeric error code that conveys additional information about the state
            of a failed update or failed certificate attribute check during an update
            check. If the update is not in the &quot;failed&quot; state or the certificate
            attribute check has not failed the value is zero.
            
            TODO: Define typical error codes (for now, see updater/errors.h and the
            CERT_ATTR_CHECK_FAILED_* values in nsUpdateService.js)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetElevationFailureAttribute">
            <summary>
            Whether an elevation failure has been encountered for this update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetPatchCountAttribute">
            <summary>
            The number of patches supplied by this update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.GetPatchAt(System.UInt32)">
            <summary>
            Retrieves a patch.
            </summary>
            <param name="index">
            The index of the patch to retrieve.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdate.Serialize(Gecko.Interfaces.nsIDOMDocument)">
            <summary>
            Serializes this update object into a DOM Element
            </summary>
            <param name="updates">
            The document to serialize into
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdateCheckListener">
            <summary>
            An interface describing an object that listens to the progress of an update
            check operation. This object is notified as the check continues, finishes
            and if it has an error.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateCheckListener.OnCheckComplete(SpiderMonkey.JSVal@,Gecko.Interfaces.nsIUpdate[],System.UInt32)">
            <summary>
            The update check was completed.
            </summary>
            <param name="request">
            The XMLHttpRequest handling the update check.
            </param>
            <param name="updates">
            An array of nsIUpdate objects listing available updates.
            </param>
            <param name="updateCount">
            The size of the |updates| array.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateCheckListener.OnError(SpiderMonkey.JSVal@,Gecko.Interfaces.nsIUpdate)">
            <summary>
            An error occurred while loading the remote update service file.
            </summary>
            <param name="request">
            The XMLHttpRequest handling the update check.
            </param>
            <param name="update">
            A nsIUpdate object that contains details about the
            error in its |statusText| property.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdateChecker">
            <summary>
            An interface describing an object that knows how to check for updates.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateChecker.CheckForUpdates(Gecko.Interfaces.nsIUpdateCheckListener,System.Boolean)">
            <summary>
            Checks for available updates, notifying a listener of the results.
            </summary>
            <param name="listener">
            An object implementing nsIUpdateCheckListener which is notified
            of the results of an update check.
            </param>
            <param name="force">
            Forces the checker to check for updates, regardless of the
            current value of the user&apos;s update settings. This is used by
            any piece of UI that offers the user the imperative option to
            check for updates now, regardless of their update settings.
            force will not work if the system administrator has locked
            the app.update.enabled preference.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateChecker.StopChecking(System.UInt16)">
            <summary>
            Ends any pending update check.
            </summary>
            <param name="duration">
            A value representing the set of checks to stop doing.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIApplicationUpdateService">
            <summary>
            An interface describing a global application service that handles performing
            background update checks and provides utilities for selecting and
            downloading update patches.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.CheckForBackgroundUpdates">
            <summary>
            Checks for available updates in the background using the listener provided
            by the application update service for background checks.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetBackgroundCheckerAttribute">
            <summary>
            The Update Checker used for background update checking.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.SelectUpdate(Gecko.Interfaces.nsIUpdate[],System.UInt32)">
            <summary>
            Selects the best update to install from a list of available updates.
            </summary>
            <param name="updates">
            An array of updates that are available
            </param>
            <param name="updateCount">
            The length of the |updates| array
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.AddDownloadListener(Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Adds a listener that receives progress and state information about the
            update that is currently being downloaded, e.g. to update a user
            interface.
            </summary>
            <param name="listener">
            An object implementing nsIRequestObserver and optionally
            nsIProgressEventSink that is to be notified of state and
            progress information as the update is downloaded.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.RemoveDownloadListener(Gecko.Interfaces.nsIRequestObserver)">
            <summary>
            Removes a listener that is receiving progress and state information
            about the update that is currently being downloaded.
            </summary>
            <param name="listener">
            The listener object to remove.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.DownloadUpdate(Gecko.Interfaces.nsIUpdate,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.ApplyOsUpdate(Gecko.Interfaces.nsIUpdate)">
            <summary>
            Apply the OS update which has been downloaded and staged as applied.
            </summary>
            <param name="update">
            The update has been downloaded and staged as applied.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            if: the update object is not an OS update.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetUpdatesDirectory">
            <summary>
            Get the Active Updates directory
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.PauseDownload">
            <summary>
            Pauses the active update download process
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetIsDownloadingAttribute">
            <summary>
            Whether or not there is an download happening at the moment.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetCanCheckForUpdatesAttribute">
            <summary>
            Whether or not the Update Service can check for updates. This is a function
            of whether or not application update is disabled by the application and the
            platform the application is running on.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetElevationRequiredAttribute">
            <summary>
            Whether or not the installation requires elevation. Currently only
            implemented on OSX, returns false on other platforms.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetCanApplyUpdatesAttribute">
            <summary>
            Whether or not the Update Service can download and install updates.
            On Windows, this is a function of whether or not the maintenance service
            is installed and enabled. On other systems, and as a fallback on Windows,
            this depends on whether the current user has write access to the install
            directory.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetIsOtherInstanceHandlingUpdatesAttribute">
            <summary>
            Whether or not a different instance is handling updates of this
            installation.  This currently only ever returns true on Windows
            when 2 instances of an application are open. Only one of the instances
            will actually handle updates for the installation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIApplicationUpdateService.GetCanStageUpdatesAttribute">
            <summary>
            Whether the Update Service is able to stage updates.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdateProcessor">
            <summary>
            An interface describing a component which handles the job of processing
            an update after it&apos;s been downloaded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateProcessor.ProcessUpdate(Gecko.Interfaces.nsIUpdate)">
            <summary>
            Processes the update which has been downloaded.
            This happens without restarting the application.
            On Windows, this can also be used for switching to an applied
            update request.
            </summary>
            <param name="update">
            The update being applied, or null if this is a switch
            to updated application request.  Must be non-null on GONK.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdateManager">
            <summary>
            An interface describing a global application service that maintains a list
            of updates previously performed as well as the current active update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateManager.GetUpdateAt(System.Int32)">
            <summary>
            Gets the update at the specified index
            </summary>
            <param name="index">
            The index within the updates array
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateManager.GetUpdateCountAttribute">
            <summary>
            Gets the total number of updates in the history list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateManager.GetActiveUpdateAttribute">
            <summary>
            The active (current) update. The active update is not in the history list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateManager.SaveUpdates">
            <summary>
            Saves all updates to disk.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateManager.RefreshUpdateStatus">
            <summary>
            Refresh the update status based on the information in update.status.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateManager.ElevationOptedIn">
            <summary>
            The user agreed to proceed with an elevated update and we are now
            permitted to show an elevation prompt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateManager.CleanupActiveUpdate">
            <summary>
            Clean up and remove the active update without applying it.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdatePrompt">
            <summary>
            An interface describing an object that can show various kinds of Update
            notification UI to the user.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePrompt.CheckForUpdates">
            <summary>
            Shows the application update checking user interface and checks if there
            is an update available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePrompt.ShowUpdateAvailable(Gecko.Interfaces.nsIUpdate)">
            <summary>
            Shows the application update available user interface advising that an
            update is available for download and install. If the app.update.silent
            preference is true or the user interface is already displayed the call will
            be a no-op.
            </summary>
            <param name="update">
            The nsIUpdate object to be downloaded and installed
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePrompt.ShowUpdateDownloaded(Gecko.Interfaces.nsIUpdate,System.Boolean)">
            <summary>
            Shows the application update downloaded user interface advising that an
            update has now been downloaded and a restart is necessary to complete the
            update. If background is true (e.g. the download was not user initiated)
            and the app.update.silent preference is true the call will be a no-op.
            </summary>
            <param name="update">
            The nsIUpdate object that was downloaded
            </param>
            <param name="background">
            Less obtrusive UI, starting with a non-modal notification alert
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePrompt.ShowUpdateError(Gecko.Interfaces.nsIUpdate)">
            <summary>
            Shows the application update error user interface advising that an error
            occurred while checking for or applying an update. If the app.update.silent
            preference is true the call will be a no-op.
            </summary>
            <param name="update">
            An nsIUpdate object representing the update that could not be
            installed. The nsIUpdate object will not be the actual update when
            the error occurred during an update check and will instead be an
            nsIUpdate object with the error information for the update check.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePrompt.ShowUpdateHistory(Gecko.Interfaces.nsIDOMWindow)">
            <summary>
            Shows a list of all updates installed to date.
            </summary>
            <param name="parent">
            An nsIDOMWindow to set as the parent for this window. Can be null.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdatePrompt.ShowUpdateElevationRequired">
            <summary>
            Shows the application update downloaded user interface advising that an
            update, which requires elevation, has now been downloaded and a restart is
            necessary to complete the update.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUpdateTimerManager">
            <summary>
            An interface describing a global application service that allows long
            duration (e.g. 1-7 or more days, weeks or months) timers to be registered
            and then fired.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUpdateTimerManager.RegisterTimer(Gecko.nsAStringBase,Gecko.Interfaces.nsITimerCallback,System.UInt32)">
            <summary>
            Register an interval with the timer manager. The timer manager
            periodically checks to see if the interval has expired and if it has
            calls the specified callback. This is persistent across application
            restarts and can handle intervals of long durations.
            </summary>
            <param name="id">
            An id that identifies the interval, used for persistence
            </param>
            <param name="callback">
            A nsITimerCallback object that is notified when the interval
            expires
            </param>
            <param name="interval">
            The length of time, in seconds, of the interval
            
            Note: to avoid having to instantiate a component to call registerTimer
            the component can intead register an update-timer category with comma
            separated values as a single string representing the timer as follows.
            
            _xpcom_categories: [{ category: &quot;update-timer&quot;,
            value: &quot;contractID,&quot; +
            &quot;method,&quot; +
            &quot;id,&quot; +
            &quot;preference,&quot; +
            &quot;interval&quot; }],
            the values are as follows
            contractID : the contract ID for the component.
            method     : the method used to instantiate the interface. This should be
            either getService or createInstance depending on your
            component.
            id         : the id that identifies the interval, used for persistence.
            preference : the preference to for timer interval. This value can be
            optional by specifying an empty string for the value.
            interval   : the default interval in seconds for the timer.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUploadChannel2.ExplicitSetUploadStream(Gecko.Interfaces.nsIInputStream,Gecko.nsACStringBase,System.Int64,Gecko.nsACStringBase,System.Boolean)">
            <summary>
            Sets a stream to be uploaded by this channel with the specified
            Content-Type and Content-Length header values.
            
            Most implementations of this interface require that the stream:
            (1) implement threadsafe addRef and release
            (2) implement nsIInputStream::readSegments
            (3) implement nsISeekableStream::seek
            </summary>
            <param name="aStream">
            The stream to be uploaded by this channel.
            </param>
            <param name="aContentType">
            This value will replace any existing Content-Type
            header on the HTTP request, regardless of whether
            or not its empty.
            </param>
            <param name="aContentLength">
            A value of -1 indicates that the length of the stream should be
            determined by calling the stream&apos;s |available| method.
            </param>
            <param name="aMethod">
            The HTTP request method to set on the stream.
            </param>
            <param name="aStreamHasHeaders">
            True if the stream already contains headers for the HTTP request.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUploadChannel2.GetUploadStreamHasHeadersAttribute">
            <summary>
            Value of aStreamHasHeaders from the last successful call to
            explicitSetUploadStream.  TRUE indicates the attached upload stream
            contians request headers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUploadChannel2.EnsureUploadStreamIsCloneable(Gecko.Interfaces.nsIRunnable)">
            <summary>
            Ensure the upload stream, if any, is cloneable.  This may involve
            async copying, so a callback runnable must be provided.  It will
            invoked on the current thread when the upload stream is ready
            for cloning.  If the stream is already cloneable, then the callback
            will be invoked synchronously.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUploadChannel2.CloneUploadStream">
            <summary>
            Clones the upload stream.  May return failure if the upload stream
            is not cloneable.  If this is not acceptable, use the
            ensureUploadStreamIsCloneable() method first.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIClassifierCallback">
            <summary>
            Callback function for nsIURIClassifier lookups.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIClassifierCallback.OnClassifyComplete(System.Int32)">
            <summary>
            Called by the URI classifier service when it is done checking a URI.
            
            Clients are responsible for associating callback objects with classify()
            calls.
            </summary>
            <param name="aErrorCode">
            The error code with which the channel should be cancelled, or
            NS_OK if the load should continue normally.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIClassifier">
            <summary>
            The URI classifier service checks a URI against lists of phishing
            and malware sites.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIClassifier.Classify(Gecko.Interfaces.nsIPrincipal,System.Boolean,Gecko.Interfaces.nsIURIClassifierCallback)">
            <summary>
            Classify a Principal using its URI.
            </summary>
            <param name="aPrincipal">
            The principal that should be checked by the URI classifier.
            </param>
            <param name="aTrackingProtectionEnabled">
            Whether or not to classify the given URI against tracking
            protection lists
            </param>
            <param name="aCallback">
            The URI classifier will call this callback when the URI has been
            classified.
            </param>
            <returns>
            &lt;code&gt;false&lt;/code&gt; if classification is not necessary.  The
            callback will not be called.
            &lt;code&gt;true&lt;/code&gt; if classification will be performed.  The
            callback will be called.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIClassifier.ClassifyLocalWithTables(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Synchronously classify a URI with a comma-separated string
            containing the given tables. This does not make network requests.
            The result is a comma-separated string of tables that match.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIContentListener">
            <summary>
            nsIURIContentListener is an interface used by components which
            want to know (and have a chance to handle) a particular content type.
            Typical usage scenarios will include running applications which register
            a nsIURIContentListener for each of its content windows with the uri
            dispatcher service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIContentListener.OnStartURIOpen(Gecko.Interfaces.nsIURI)">
            <summary>
            Gives the original content listener first crack at stopping a load before
            it happens.
            </summary>
            <param name="aURI">
            URI that is being opened.
            </param>
            <returns>
            &lt;code&gt;false&lt;/code&gt; if the load can continue;
            &lt;code&gt;true&lt;/code&gt; if the open should be aborted.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIContentListener.DoContent(Gecko.nsACStringBase,System.Boolean,Gecko.Interfaces.nsIRequest,Gecko.Interfaces.nsIStreamListener@)">
            <summary>
            Notifies the content listener to hook up an nsIStreamListener capable of
            consuming the data stream.
            </summary>
            <param name="aContentType">
            Content type of the data.
            </param>
            <param name="aIsContentPreferred">
            Indicates whether the content should be
            preferred by this listener.
            </param>
            <param name="aRequest">
            Request that is providing the data.
            </param>
            <param name="aContentHandler">
            nsIStreamListener that will consume the data.
            This should be set to &lt;code&gt;nullptr&lt;/code&gt; if
            this content listener can&apos;t handle the content
            type; in this case, doContent should also fail
            (i.e., return failure nsresult).
            </param>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if the load should
            be aborted and consumer wants to
            handle the load completely by itself.  This
            causes the URI Loader do nothing else...
            &lt;code&gt;false&lt;/code&gt; if the URI Loader should
            continue handling the load and call the
            returned streamlistener&apos;s methods.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIContentListener.IsPreferred(System.String,System.String@)">
            <summary>
            When given a uri to dispatch, if the URI is specified as &apos;preferred
            content&apos; then the uri loader tries to find a preferred content handler
            for the content type. The thought is that many content listeners may
            be able to handle the same content type if they have to. i.e. the mail
            content window can handle text/html just like a browser window content
            listener. However, if the user clicks on a link with text/html content,
            then the browser window should handle that content and not the mail
            window where the user may have clicked the link.  This is the difference
            between isPreferred and canHandleContent.
            </summary>
            <param name="aContentType">
            Content type of the data.
            </param>
            <param name="aDesiredContentType">
            Indicates that aContentType must be converted
            to aDesiredContentType before processing the
            data.  This causes a stream converted to be
            inserted into the nsIStreamListener chain.
            This argument can be &lt;code&gt;nullptr&lt;/code&gt; if
            the content should be consumed directly as
            aContentType.
            </param>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if this is a preferred
            content handler for aContentType;
            &lt;code&gt;false&lt;code&gt; otherwise.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIContentListener.CanHandleContent(System.String,System.Boolean,System.String@)">
            <summary>
            When given a uri to dispatch, if the URI is not specified as &apos;preferred
            content&apos; then the uri loader calls canHandleContent to see if the content
            listener is capable of handling the content.
            </summary>
            <param name="aContentType">
            Content type of the data.
            </param>
            <param name="aIsContentPreferred">
            Indicates whether the content should be
            preferred by this listener.
            </param>
            <param name="aDesiredContentType">
            Indicates that aContentType must be converted
            to aDesiredContentType before processing the
            data.  This causes a stream converted to be
            inserted into the nsIStreamListener chain.
            This argument can be &lt;code&gt;nullptr&lt;/code&gt; if
            the content should be consumed directly as
            aContentType.
            </param>
            <returns>
            &lt;code&gt;true&lt;/code&gt; if the data can be consumed.
            &lt;code&gt;false&lt;/code&gt; otherwise.
            
            Note: I really envision canHandleContent as a method implemented
            by the docshell as the implementation is generic to all doc
            shells. The isPreferred decision is a decision made by a top level
            application content listener that sits at the top of the docshell
            hierarchy.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIContentListener.GetLoadCookieAttribute">
            <summary>
            The load context associated with a particular content listener.
            The URI Loader stores and accesses this value as needed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIContentListener.GetParentContentListenerAttribute">
            <summary>
            The parent content listener if this particular listener is part of a chain
            of content listeners (i.e. a docshell!)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIFixupInfo">
            <summary>
            Interface indicating what we found/corrected when fixing up a URI
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetConsumerAttribute">
            <summary>
            Consumer that asked for fixed up URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetPreferredURIAttribute">
            <summary>
            Our best guess as to what URI the consumer will want. Might
            be null if we couldn&apos;t salvage anything (for instance, because
            the input was invalid as a URI and FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP
            was not passed)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetFixedURIAttribute">
            <summary>
            The fixed-up original input, *never* using a keyword search.
            (might be null if the original input was not recoverable as
            a URL, e.g. &quot;foo bar&quot;!)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetKeywordProviderNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The name of the keyword search provider used to provide a keyword search;
            empty string if no keyword search was done.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetKeywordAsSentAttribute(Gecko.nsAStringBase)">
            <summary>
            The keyword as used for the search (post trimming etc.)
            empty string if no keyword search was done.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetFixupChangedProtocolAttribute">
            <summary>
            Whether we changed the protocol instead of using one from the input as-is.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetFixupCreatedAlternateURIAttribute">
            <summary>
            Whether we created an alternative URI. We might have added a prefix and/or
            suffix, the contents of which are controlled by the
            browser.fixup.alternate.prefix and .suffix prefs, with the defaults being
            &quot;www.&quot; and &quot;.com&quot;, respectively.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixupInfo.GetOriginalInputAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The original input
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIFixup">
            <summary>
            Interface implemented by objects capable of fixing up strings into URIs
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixup.CreateExposableURI(Gecko.Interfaces.nsIURI)">
            <summary>
            Converts an internal URI (e.g. a wyciwyg URI) into one which we can
            expose to the user, for example on the URL bar.
            </summary>
            <param name="aURI">
            The URI to be converted
            </param>
            <returns>
            nsIURI     The converted, exposable URI
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_MALFORMED_URI: when the exposable portion of aURI is malformed
            NS_ERROR_UNKNOWN_PROTOCOL: when we can't get a protocol handler service
            for the URI scheme.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixup.CreateFixupURI(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.Interfaces.nsIInputStream@)">
            <summary>
            Converts the specified string into a URI, first attempting
            to correct any errors in the syntax or other vagaries. Returns
            a wellformed URI or nullptr if it can&apos;t.
            </summary>
            <param name="aURIText">
            Candidate URI.
            </param>
            <param name="aFixupFlags">
            Flags that govern ways the URI may be fixed up.
            </param>
            <param name="aPostData">
            The POST data to submit with the returned
            URI (see nsISearchSubmission).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixup.GetFixupURIInfo(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.Interfaces.nsIInputStream@)">
            <summary>
            Same as createFixupURI, but returns information about what it corrected
            (e.g. whether we could rescue the URI or &quot;just&quot; generated a keyword
            search URI instead).
            </summary>
            <param name="aURIText">
            Candidate URI.
            </param>
            <param name="aFixupFlags">
            Flags that govern ways the URI may be fixed up.
            </param>
            <param name="aPostData">
            The POST data to submit with the returned
            URI (see nsISearchSubmission).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixup.KeywordToURI(Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIInputStream@)">
            <summary>
            Converts the specified keyword string into a URI.  Note that it's the
            caller's responsibility to check whether keywords are enabled and
            whether aKeyword is a sensible keyword.
            </summary>
            <param name="aKeyword">
            The keyword string to convert into a URI
            </param>
            <param name="aPostData">
            The POST data to submit to the returned URI
            (see nsISearchSubmission).
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the resulting URI requires submission of POST
            data and aPostData is null.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIFixup.IsDomainWhitelisted(Gecko.nsAUTF8StringBase,System.UInt32)">
            <summary>
            Returns true if the specified domain is whitelisted and false otherwise.
            A whitelisted domain is relevant when we have a single word and can&apos;t be
            sure whether to treat the word as a host name or should instead be
            treated as a search term.
            </summary>
            <param name="aDomain">
            A domain name to query.
            </param>
            <param name="aDotPos">
            The position of the first &apos;.&apos; character in aDomain, or
            -1 if no &apos;.&apos; character exists.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIURILoader">
            <summary>
            The uri dispatcher is responsible for taking uri&apos;s, determining
            the content and routing the opened url to the correct content
            handler.
            
            When you encounter a url you want to open, you typically call
            openURI, passing it the content listener for the window the uri is
            originating from. The uri dispatcher opens the url to discover the
            content type. It then gives the content listener first crack at
            handling the content. If it doesn&apos;t want it, the dispatcher tries
            to hand it off one of the registered content listeners. This allows
            running applications the chance to jump in and handle the content.
            
            If that also fails, then the uri dispatcher goes to the registry
            looking for the preferred content handler for the content type
            of the uri. The content handler may create an app instance
            or it may hand the contents off to a platform specific plugin
            or helper app. Or it may hand the url off to an OS registered
            application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURILoader.RegisterContentListener(Gecko.Interfaces.nsIURIContentListener)">
            <summary>
            As applications such as messenger and the browser are instantiated,
            they register content listener&apos;s with the uri dispatcher corresponding
            to content windows within that application.
            
            Note to self: we may want to optimize things a bit more by requiring
            the content types the registered content listener cares about.
            </summary>
            <param name="aContentListener">
            The listener to register. This listener must implement
            nsISupportsWeakReference.
            </param>
            <remarks>
            See the nsIURILoader class description
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIURILoader.OpenURI(Gecko.Interfaces.nsIChannel,System.UInt32,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            OpenURI requires the following parameters.....
            </summary>
            <param name="aChannel">
            The channel that should be opened. This must not be asyncOpen&apos;d yet!
            If a loadgroup is set on the channel, it will get replaced with a
            different one.
            </param>
            <param name="aFlags">
            Combination (bitwise OR) of the flags specified above. 0 indicates
            default handling.
            </param>
            <param name="aWindowContext">
            If you are running the url from a doc shell or a web shell, this is
            your window context. If you have a content listener you want to
            give first crack to, the uri loader needs to be able to get it
            from the window context. We will also be using the window context
            to get at the progress event sink interface.
            &lt;b&gt;Must not be null!&lt;/b&gt;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIURILoader.OpenChannel(Gecko.Interfaces.nsIChannel,System.UInt32,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Loads data from a channel. This differs from openURI in that the channel
            may already be opened, and that it returns a stream listener into which the
            caller should pump data. The caller is responsible for opening the channel
            and pumping the channel&apos;s data into the returned stream listener.
            
            Note: If the channel already has a loadgroup, it will be replaced with the
            window context&apos;s load group, or null if the context doesn&apos;t have one.
            
            If the window context&apos;s nsIURIContentListener refuses the load immediately
            (e.g. in nsIURIContentListener::onStartURIOpen), this method will return
            NS_ERROR_WONT_HANDLE_CONTENT. At that point, the caller should probably
            cancel the channel if it&apos;s already open (this method will not cancel the
            channel).
            
            If flags include DONT_RETARGET, and the content listener refuses the load
            during onStartRequest (e.g. in canHandleContent/isPreferred), then the
            returned stream listener&apos;s onStartRequest method will return
            NS_ERROR_WONT_HANDLE_CONTENT.
            </summary>
            <param name="aChannel">
            The channel that should be loaded. The channel may already be
            opened. It must not be closed (i.e. this must be called before the
            channel calls onStopRequest on its stream listener).
            </param>
            <param name="aFlags">
            Combination (bitwise OR) of the flags specified above. 0 indicates
            default handling.
            </param>
            <param name="aWindowContext">
            If you are running the url from a doc shell or a web shell, this is
            your window context. If you have a content listener you want to
            give first crack to, the uri loader needs to be able to get it
            from the window context. We will also be using the window context
            to get at the progress event sink interface.
            &lt;b&gt;Must not be null!&lt;/b&gt;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIURILoader.Stop(Gecko.Interfaces.nsISupports)">
            <summary>
            Stops an in progress load
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIRefObject">
            <summary>
            A class which can represent any node which points to an
            external URI, e.g. &lt;a&gt;, &lt;img&gt;, &lt;script&gt; etc,
            and has the capability to rewrite URLs to be
            relative or absolute.
            Used by the editor but not dependant on it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIRefObject.Reset">
            <summary>
            Go back to the beginning of the attribute list.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIRefObject.GetNextURI(Gecko.nsAStringBase)">
            <summary>
            Return the next rewritable URI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIRefObject.RewriteAllURIs(Gecko.nsAStringBase,Gecko.nsAStringBase,System.Boolean)">
            <summary>
            Go back to the beginning of the attribute list
            </summary>
            <param name="aOldPat">
            Old pattern to be replaced, e.g. file:///a/b
            </param>
            <param name="aNewPat">
            New pattern to be replaced, e.g. http://mypage.aol.com
            </param>
            <param name="aMakeRel">
            Rewrite links as relative vs. absolute
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIURIWithPrincipal">
            <summary>
            nsIURIWithPrincipal is implemented by URIs which are associated with a
            specific principal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithPrincipal.GetPrincipalAttribute">
            <summary>
            The principal associated with the resource returned when loading this
            uri.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURIWithPrincipal.GetPrincipalUriAttribute">
            <summary>
            The uri for the principal.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUrlClassifierUpdateObserver">
            <summary>
            The nsIUrlClassifierUpdateObserver interface is implemented by
            clients streaming updates to the url-classifier (usually
            nsUrlClassifierStreamUpdater.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUpdateObserver.UpdateUrlRequested(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            The update requested a new URL whose contents should be downloaded
            and sent to the classifier as a new stream.
            </summary>
            <param name="url">
            The url that was requested.
            </param>
            <param name="table">
            The table name that this URL&apos;s contents will be associated
            with.  This should be passed back to beginStream().
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUpdateObserver.StreamFinished(System.Int32,System.UInt32)">
            <summary>
            A stream update has completed.
            </summary>
            <param name="status">
            The state of the update process.
            </param>
            <param name="delay">
            The amount of time the updater should wait to fetch the
            next URL in ms.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUpdateObserver.UpdateSuccess(System.UInt32)">
            <summary>
            The update has completed successfully.
            </summary>
            <param name="requestedTimeout">
            The number of seconds that the caller should
            wait before trying to update again.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUrlClassifierDBService">
            <summary>
            This is a proxy class that is instantiated and called from the JS thread.
            It provides async methods for querying and updating the database.  As the
            methods complete, they call the callback function.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.Lookup(Gecko.Interfaces.nsIPrincipal,Gecko.nsACStringBase,Gecko.Interfaces.nsIUrlClassifierCallback)">
            <summary>
            Looks up a URI in the specified tables.
            </summary>
            <param name="principal:">
            The principal containing the URI to search.
            </param>
            <param name="c:">
            The callback will be called with a comma-separated list
            of tables to which the key belongs.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.GetTables(Gecko.Interfaces.nsIUrlClassifierCallback)">
            <summary>
            Lists the tables along with their meta info in the following format:
            
            tablename;[metadata]\n
            tablename2;[metadata]\n
            
            For v2 tables, the metadata is the chunks info such as
            
            goog-phish-shavar;a:10,14,30-40s:56,67
            goog-unwanted-shavar;a:1-3,5
            
            For v4 tables, base64 encoded state is currently the only info in the
            metadata (can be extended whenever necessary). For exmaple,
            
            goog-phish-proto;Cg0IARAGGAEiAzAwMTABEKqTARoCGAjT1gDD:oCGAjT1gDD\n
            goog-malware-proto;Cg0IAhAGGAEiAzAwMTABENCQARoCGAjx5Yty:BENCQARoCGAj\n
            
            Note that the metadata is colon-separated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.SetHashCompleter(Gecko.nsACStringBase,Gecko.Interfaces.nsIUrlClassifierHashCompleter)">
            <summary>
            Set the nsIUrlClassifierCompleter object for a given table.  This
            object will be used to request complete versions of partial
            hashes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.SetLastUpdateTime(Gecko.nsACStringBase,System.UInt64)">
            <summary>
            Set the last update time for the given table. We use this to
            remember freshness past restarts. Time is in milliseconds since epoch.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.ClearLastResults">
            <summary>
            Forget the results that were used in the last DB update.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.BeginUpdate(Gecko.Interfaces.nsIUrlClassifierUpdateObserver,Gecko.nsACStringBase)">
            <summary>
            Begin an update process.  Will throw NS_ERROR_NOT_AVAILABLE if there
            is already an update in progress.
            </summary>
            <param name="updater">
            The update observer tied to this update.
            </param>
            <param name="tables">
            A comma-separated list of tables included in this update.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.BeginStream(Gecko.nsACStringBase)">
            <summary>
            Begin a stream update.  This should be called once per url being
            fetched.
            </summary>
            <param name="table">
            The table the contents of this stream will be associated
            with, or empty for the initial stream.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.UpdateStream(Gecko.nsACStringBase)">
            <summary>
            Update the table incrementally.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.FinishStream">
            <summary>
            Finish an individual stream update.  Must be called for every
            beginStream() call, before the next beginStream() or finishUpdate().
            
            The update observer&apos;s streamFinished will be called once the
            stream has been processed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.FinishUpdate">
            <summary>
            Finish an incremental update.  This will attempt to commit any
            pending changes and resets the update interface.
            
            The update observer&apos;s updateSucceeded or updateError methods
            will be called when the update has been processed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.CancelUpdate">
            <summary>
            Cancel an incremental update.  This rolls back any pending changes.
            and resets the update interface.
            
            The update observer&apos;s updateError method will be called when the
            update has been rolled back.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.ResetDatabase">
            <summary>
            Reset the url-classifier database.  This call will delete the existing
            database, emptying all tables.  Mostly intended for use in unit tests.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierDBService.ReloadDatabase">
            <summary>
            Reload he url-classifier database. This will empty all cache for
            completions from gethash, and reload it from database. Mostly intended
            for use in tests.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUrlClassifierLookupCallback">
            <summary>
            This is an internal helper interface for communication between the
            main thread and the dbservice worker thread.  It is called for each
            lookup to provide a set of possible results, which the main thread
            may need to expand using an nsIUrlClassifierCompleter.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierLookupCallback.LookupComplete(System.IntPtr)">
            <summary>
            The lookup process is complete.
            </summary>
            <param name="results">
            If this parameter is null, there were no results found.
            If not, it contains an array of nsUrlClassifierEntry objects
            with possible matches.  The callee is responsible for freeing
            this array.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUrlClassifierHashCompleterCallback">
            <summary>
            This interface is implemented by nsIUrlClassifierHashCompleter clients.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierHashCompleterCallback.Completion(Gecko.nsACStringBase,Gecko.nsACStringBase,System.UInt32)">
            <summary>
            A complete hash has been found that matches the partial hash.
            This method may be called 0-n times for a given
            nsIUrlClassifierCompleter::complete() call.
            </summary>
            <param name="hash">
            The 128-bit hash that was discovered.
            </param>
            <param name="table">
            The name of the table that this hash belongs to.
            </param>
            <param name="chunkId">
            The database chunk that this hash belongs to.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierHashCompleterCallback.CompletionFinished(System.Int32)">
            <summary>
            The completion is complete.  This method is called once per
            nsIUrlClassifierCompleter::complete() call, after all completion()
            calls are finished.
            </summary>
            <param name="status">
            NS_OK if the request completed successfully, or an error code.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUrlClassifierHashCompleter">
            <summary>
            Clients updating the url-classifier database have the option of sending
            partial (32-bit) hashes of URL fragments to be blacklisted.  If the
            url-classifier encounters one of these truncated hashes, it will ask an
            nsIUrlClassifierCompleter instance to asynchronously provide the complete
            hash, along with some associated metadata.
            This is only ever used for testing and should absolutely be deleted (I
            think).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierHashCompleter.Complete(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.Interfaces.nsIUrlClassifierHashCompleterCallback)">
            <summary>
            Request a completed hash from the given gethash url.
            </summary>
            <param name="partialHash">
            The 32-bit hash encountered by the url-classifier.
            </param>
            <param name="gethashUrl">
            The gethash url to use.
            </param>
            <param name="callback">
            An nsIUrlClassifierCompleterCallback instance.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIUrlClassifierStreamUpdater">
            <summary>
            This is a class to manage large table updates from the server.  Rather than
            downloading the whole update and then updating the sqlite database, we
            update tables as the data is streaming in.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierStreamUpdater.DownloadUpdates(Gecko.nsACStringBase,Gecko.nsACStringBase,System.Boolean,Gecko.nsACStringBase,Gecko.Interfaces.nsIUrlClassifierCallback,Gecko.Interfaces.nsIUrlClassifierCallback,Gecko.Interfaces.nsIUrlClassifierCallback)">
            <summary>
            Try to download updates from updateUrl. If an update is already in
            progress, queues the requested update. This is used in nsIUrlListManager
            as well as in testing.
            </summary>
            <param name="aRequestTables">
            Comma-separated list of tables included in this
            update.
            </param>
            <param name="aRequestPayload">
            The payload for the request.
            </param>
            <param name="aIsPostRequest">
            Whether the request should be sent by POST method.
            Should be &apos;true&apos; for v2 usage.
            </param>
            <param name="aUpdateUrl">
            The plaintext url from which to request updates.
            </param>
            <param name="aSuccessCallback">
            Called after a successful update.
            </param>
            <param name="aUpdateErrorCallback">
            Called for problems applying the update
            </param>
            <param name="aDownloadErrorCallback">
            Called if we get an http error or a
            connection refused error.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUtils.GetKeyForURI(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase)">
            <summary>
            Get the lookup string for a given URI.  This normalizes the hostname,
            url-decodes the string, and strips off the protocol.
            </summary>
            <param name="uri">
            URI to get the lookup key for.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUtils.GetProvider(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Get the provider by table name.
            </summary>
            <param name="tableName">
            The table name that we want to lookup
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUtils.GetProtocolVersion(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Get the protocol version for the given provider.
            </summary>
            <param name="provider">
            String the provider name. e.g. &quot;google&quot;
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUtils.ConvertThreatTypeToListNames(System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Convert threat type to list name.
            </summary>
            <param name="Integer">
            to indicate threat type.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUtils.ConvertListNameToThreatType(Gecko.nsACStringBase)">
            <summary>
            Convert list name to threat type.
            </summary>
            <param name="The">
            list name.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlClassifierUtils.MakeUpdateRequestV4(System.IntPtr[],System.IntPtr[],System.UInt32,Gecko.nsACStringBase)">
            <summary>
            Make update request for given lists and their states.
            </summary>
            <param name="aListNames">
            An array of list name represented in string.
            </param>
            <param name="aState">
            An array of states (encoded in base64 format) for each list.
            </param>
            <param name="aCount">
            The array length of aList and aState.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLFormatter.FormatURL(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            formatURL - Formats a string URL
            
            The set of known variables is predefined.
            If a variable is unknown, it is left unchanged and a non-fatal error is reported.
            </summary>
            <param name="aFormat">
            string Unformatted URL.
            </param>
            <returns>
            The formatted URL.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLFormatter.FormatURLPref(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            formatURLPref - Formats a string URL stored in a preference
            
            If the preference value cannot be retrieved, a fatal error is reported
            and the &quot;about:blank&quot; URL is returned.
            </summary>
            <param name="aPref">
            string Preference name.
            </param>
            <returns>
            The formatted URL returned by formatURL(), or &quot;about:blank&quot;.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLFormatter.TrimSensitiveURLs(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Remove all of the sensitive query parameter strings from URLs in |aMsg|.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIUrlListManagerCallback">
            <summary>
            Interface for a class that manages updates of the url classifier database.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlListManager.GetGethashUrl(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Get the gethash url for this table
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlListManager.RegisterTable(Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Add a table to the list of tables we are managing. The name is a
            string of the format provider_name-semantic_type-table_type.  For
            </summary>
            <param name="tableName">
            A string of the format
            provider_name-semantic_type-table_type.  For example,
            goog-white-enchash or goog-black-url.
            </param>
            <param name="providerName">
            The name of the entity providing the list.
            </param>
            <param name="updateUrl">
            The URL from which to fetch updates.
            </param>
            <param name="gethashUrl">
            The URL from which to fetch hash completions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlListManager.EnableUpdate(Gecko.nsACStringBase)">
            <summary>
            Turn on update checking for a table. I.e., during the next server
            check, download updates for this table.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlListManager.DisableUpdate(Gecko.nsACStringBase)">
            <summary>
            Turn off update checking for a table.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlListManager.MaybeToggleUpdateChecking">
            <summary>
            Toggle update checking, if necessary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUrlListManager.SafeLookup(Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIUrlListManagerCallback)">
            <summary>
            Lookup a key.  Should not raise exceptions.  Calls the callback
            function with a comma-separated list of tables to which the key
            belongs.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIURLParser">
            <summary>
            nsIURLParser specifies the interface to an URL parser that attempts to
            follow the definitions of RFC 2396.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLParser.ParseURL(System.String,System.Int32,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@)">
            <summary>
            ParseSpec breaks the URL string up into its 3 major components: a scheme,
            an authority section (hostname, etc.), and a path.
            
            spec = &lt;scheme&gt;://&lt;authority&gt;&lt;path&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLParser.ParseAuthority(System.String,System.Int32,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@,System.Int32@)">
            <summary>
            ParseAuthority breaks the authority string up into its 4 components:
            username, password, hostname, and hostport.
            
            auth = &lt;username&gt;:&lt;password&gt;@&lt;hostname&gt;:&lt;port&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLParser.ParseUserInfo(System.String,System.Int32,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@)">
            <summary>
            userinfo = &lt;username&gt;:&lt;password&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLParser.ParseServerInfo(System.String,System.Int32,System.UInt32@,System.Int32@,System.Int32@)">
            <summary>
            serverinfo = &lt;hostname&gt;:&lt;port&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLParser.ParsePath(System.String,System.Int32,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@)">
            <summary>
            ParsePath breaks the path string up into its 3 major components: a file path,
            a query string, and a reference string.
            
            path = &lt;filepath&gt;?&lt;query&gt;#&lt;ref&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLParser.ParseFilePath(System.String,System.Int32,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@)">
            <summary>
            ParseFilePath breaks the file path string up into: the directory portion,
            file base name, and file extension.
            
            filepath = &lt;directory&gt;&lt;basename&gt;.&lt;extension&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIURLParser.ParseFileName(System.String,System.Int32,System.UInt32@,System.Int32@,System.UInt32@,System.Int32@)">
            <summary>
            filename = &lt;basename&gt;.&lt;extension&gt;
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUTF8ConverterService.ConvertStringToUTF8(Gecko.nsACStringBase,System.String,System.Boolean,System.Boolean,System.Byte,Gecko.nsAUTF8StringBase)">
            <summary>
            Ensure that |aString| is encoded in UTF-8.  If not,
            convert to UTF-8 assuming it's encoded in |aCharset|
            and return the converted string in UTF-8.
            </summary>
            <param name="aString">
            a string to  ensure its UTF8ness
            </param>
            <param name="aCharset">
            the charset to convert from if |aString| is not in UTF-8
            </param>
            <param name="aSkipCheck">
            determines whether or not to skip 'ASCIIness' and
            'UTF8ness' check. Set this to PR_TRUE only if you suspect that
            aString can be mistaken for ASCII / UTF-8 but is actually NOT
            in ASCII / UTF-8 so that aString has to go through the conversion.
            skipping ASCIIness/UTF8ness check.
            The most common case is the input is in 7bit non-ASCII charsets
            like ISO-2022-JP, HZ or UTF-7 (in its original form or
            a modified form used in IMAP folder names).
            </param>
            <param name="aAllowSubstitution">
            when true, allow the decoder to substitute
            invalid input sequences by replacement characters (defaults to
            true)
            </param>
            <returns>
            the converted string in UTF-8.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UCONV_NOCONV: when there is no decoder for aCharset
            or error code of nsIUnicodeDecoder in case of conversion failure
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIUTF8ConverterService.ConvertURISpecToUTF8(Gecko.nsACStringBase,System.String,Gecko.nsAUTF8StringBase)">
            <summary>
            Ensure that |aSpec| (after URL-unescaping it) is encoded in UTF-8.
            If not,  convert it to UTF-8, assuming it's encoded in |aCharset|,
            and return the result.
            
            &lt;p&gt;Make sure that all characters outside US-ASCII in your input spec
            are url-escaped if  your spec is not in UTF-8 (before url-escaping)
            because the presence of non-ASCII characters is &lt;strong&gt;blindly&lt;/strong&gt;
            regarded as an indication that your input spec is in unescaped UTF-8
            and it will be returned without further processing. No valid spec
            going around in Mozilla code would break this assumption.
            
            &lt;p&gt;XXX The above may change in the future depending on the usage pattern.
            </summary>
            <param name="aSpec">
            an url-escaped URI spec to  ensure its UTF8ness
            </param>
            <param name="aCharset">
            the charset to convert from if |aSpec| is not in UTF-8
            </param>
            <returns>
            the converted spec in UTF-8.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UCONV_NOCONV: when there is no decoder for aCharset
            or error code of nsIUnicodeDecoder in case of conversion failure
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIUUIDGenerator">
            <summary>
            nsIUUIDGenerator is implemented by a service that can generate
            universally unique identifiers, ideally using any platform-native
            method for generating UUIDs.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIUUIDGenerator.GenerateUUID">
            <summary>
            Obtains a new UUID using appropriate platform-specific methods to
            obtain a nsID that can be considered to be globally unique.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a UUID cannot be generated (e.g. if
            an underlying source of randomness is not available)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIUUIDGenerator.GenerateUUIDInPlace(Gecko.UUID)">
            <summary>
            Obtain a new UUID like the generateUUID method, but place it in
            the provided nsID pointer instead of allocating a new nsID.
            </summary>
            <param name="id">
            an existing nsID pointer where the UUID will be stored.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a UUID cannot be generated (e.g. if
            an underlying source of randomness is not available)
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsIVariant">
            <summary>
            XPConnect has magic to transparently convert between nsIVariant and JS types.
            We mark the interface [scriptable] so that JS can use methods
            that refer to this interface. But we mark all the methods and attributes
            [noscript] since any nsIVariant object will be automatically converted to a
            JS type anyway.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWritableVariant">
            <summary>
            An object that implements nsIVariant may or may NOT also implement this
            nsIWritableVariant.
            
            If the &apos;writable&apos; attribute is false then attempts to call any of the &apos;set&apos;
            methods can be expected to fail. Setting the &apos;writable&apos; attribute may or
            may not succeed.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIVersionComparator">
            <summary>
            Version strings are dot-separated sequences of version-parts.
            
            A version-part consists of up to four parts, all of which are optional:
            
            &lt;number-a&gt;&lt;string-b&gt;&lt;number-c&gt;&lt;string-d (everything else)&gt;
            
            A version-part may also consist of a single asterisk &quot;*&quot; which indicates
            &quot;infinity&quot;.
            
            Numbers are base-10, and are zero if left out.
            Strings are compared bytewise.
            
            For additional backwards compatibility, if &quot;string-b&quot; is &quot;+&quot; then
            &quot;number-a&quot; is incremented by 1 and &quot;string-b&quot; becomes &quot;pre&quot;.
            
            1.0pre1
            &lt; 1.0pre2
            &lt; 1.0 == 1.0.0 == 1.0.0.0
            &lt; 1.1pre == 1.1pre0 == 1.0+
            &lt; 1.1pre1a
            &lt; 1.1pre1
            &lt; 1.1pre10a
            &lt; 1.1pre10
            
            Although not required by this interface, it is recommended that
            numbers remain within the limits of a signed char, i.e. -127 to 128.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIVersionComparator.Compare(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Compare two version strings
            </summary>
            <param name="A">
            The first version
            </param>
            <param name="B">
            The second version
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetOriginalURIAttribute">
            <summary>
            The original URI used to construct the channel. This is used in
            the case of a redirect or URI &quot;resolution&quot; (e.g. resolving a
            resource: URI to a file: URI) so that the original pre-redirect
            URI can still be obtained.  This is never null.  Attempts to
            set it to null must throw.
            
            NOTE: this is distinctly different from the http Referer (referring URI),
            which is typically the page that contained the original URI (accessible
            from nsIHttpChannel).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetURIAttribute">
            <summary>
            The URI corresponding to the channel.  Its value is immutable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetOwnerAttribute">
            <summary>
            The owner, corresponding to the entity that is responsible for this
            channel.  Used by the security manager to grant or deny privileges to
            mobile code loaded from this channel.
            
            NOTE: this is a strong reference to the owner, so if the owner is also
            holding a strong reference to the channel, care must be taken to
            explicitly drop its reference to the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetNotificationCallbacksAttribute">
            <summary>
            The notification callbacks for the channel.  This is set by clients, who
            wish to provide a means to receive progress, status and protocol-specific
            notifications.  If this value is NULL, the channel implementation may use
            the notification callbacks from its load group.  The channel may also
            query the notification callbacks from its load group if its notification
            callbacks do not supply the requested interface.
            
            Interfaces commonly requested include: nsIProgressEventSink, nsIPrompt,
            and nsIAuthPrompt/nsIAuthPrompt2.
            
            When the channel is done, it must not continue holding references to
            this object.
            
            NOTE: A channel implementation should take care when &quot;caching&quot; an
            interface pointer queried from its notification callbacks.  If the
            notification callbacks are changed, then a cached interface pointer may
            become invalid and may therefore need to be re-queried.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetSecurityInfoAttribute">
            <summary>
            Transport-level security information (if any) corresponding to the
            channel.
            
            NOTE: In some circumstances TLS information is propagated onto
            non-nsIHttpChannel objects to indicate that their contents were likely
            delivered over TLS all the same.  For example, document.open() may
            create an nsWyciwygChannel to store the data that will be written to the
            document.  In that case, if the caller has TLS information, we propagate
            that info onto the nsWyciwygChannel given that it is likely that the
            caller will be writing data that was delivered over TLS to the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetContentTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The MIME type of the channel&apos;s content if available.
            
            NOTE: the content type can often be wrongly specified (e.g., wrong file
            extension, wrong MIME type, wrong document type stored on a server, etc.),
            and the caller most likely wants to verify with the actual data.
            
            Setting contentType before the channel has been opened provides a hint
            to the channel as to what the MIME type is.  The channel may ignore this
            hint in deciding on the actual MIME type that it will report.
            
            Setting contentType after onStartRequest has been fired or after open()
            is called will override the type determined by the channel.
            
            Setting contentType between the time that asyncOpen() is called and the
            time when onStartRequest is fired has undefined behavior at this time.
            
            The value of the contentType attribute is a lowercase string.  A value
            assigned to this attribute will be parsed and normalized as follows:
            1- any parameters (delimited with a &apos;;&apos;) will be stripped.
            2- if a charset parameter is given, then its value will replace the
            the contentCharset attribute of the channel.
            3- the stripped contentType will be lowercased.
            Any implementation of nsIChannel must follow these rules.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetContentCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The character set of the channel&apos;s content if available and if applicable.
            This attribute only applies to textual data.
            
            The value of the contentCharset attribute is a mixedcase string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetContentLengthAttribute">
            <summary>
            The length of the data associated with the channel if available.  A value
            of -1 indicates that the content length is unknown. Note that this is a
            64-bit value and obsoletes the &quot;content-length&quot; property used on some
            channels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.Open">
            <summary>
            Synchronously open the channel.
            </summary>
            <returns>
            blocking input stream to the channel&apos;s data.
            
            NOTE: nsIChannel implementations are not required to implement this
            method.  Moreover, since this method may block the calling thread, it
            should not be called on a thread that processes UI events.  Like any
            other nsIChannel method it must not be called on any thread other
            than the XPCOM main thread.
            
            NOTE: Implementations should throw NS_ERROR_IN_PROGRESS if the channel
            is reopened.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.Open2">
            <summary>
            Performs content security check and calls open()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.AsyncOpen(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            Asynchronously open this channel.  Data is fed to the specified stream
            listener as it becomes available.  The stream listener&apos;s methods are
            called on the thread that calls asyncOpen and are not called until
            after asyncOpen returns.  If asyncOpen returns successfully, the
            channel promises to call at least onStartRequest and onStopRequest.
            
            If the nsIRequest object passed to the stream listener&apos;s methods is not
            this channel, an appropriate onChannelRedirect notification needs to be
            sent to the notification callbacks before onStartRequest is called.
            Once onStartRequest is called, all following method calls on aListener
            will get the request that was passed to onStartRequest.
            
            If the channel&apos;s and loadgroup&apos;s notification callbacks do not provide
            an nsIChannelEventSink when onChannelRedirect would be called, that&apos;s
            equivalent to having called onChannelRedirect.
            
            If asyncOpen returns successfully, the channel is responsible for
            keeping itself alive until it has called onStopRequest on aListener or
            called onChannelRedirect.
            
            Implementations are allowed to synchronously add themselves to the
            associated load group (if any).
            
            NOTE: Implementations should throw NS_ERROR_ALREADY_OPENED if the
            channel is reopened.
            </summary>
            <param name="aListener">
            the nsIStreamListener implementation
            </param>
            <param name="aContext">
            an opaque parameter forwarded to aListener&apos;s methods
            </param>
            <remarks>
            See nsIChannelEventSink for onChannelRedirect
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.AsyncOpen2(Gecko.Interfaces.nsIStreamListener)">
            <summary>
            Performs content security check and calls asyncOpen().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetContentDispositionAttribute">
            <summary>
            Access to the type implied or stated by the Content-Disposition header
            if available and if applicable. This allows determining inline versus
            attachment.
            
            Setting contentDisposition provides a hint to the channel about the
            disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will
            be used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty, and return
            DISPOSITION_ATTACHMENT if an invalid/noncompliant value is present.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetContentDispositionFilenameAttribute(Gecko.nsAStringBase)">
            <summary>
            Access to the filename portion of the Content-Disposition header if
            available and if applicable. This allows getting the preferred filename
            without having to parse it out yourself.
            
            Setting contentDispositionFilename provides a hint to the channel about
            the disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will be
            used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header doesn&apos;t
            exist for this type of channel, if the header is empty, if the header
            doesn&apos;t contain a filename portion, or the value of the filename
            attribute is empty/missing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetContentDispositionHeaderAttribute(Gecko.nsACStringBase)">
            <summary>
            Access to the raw Content-Disposition header if available and applicable.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetLoadInfoAttribute">
            <summary>
            The LoadInfo object contains information about a network load, why it
            was started, and how we plan on using the resulting response.
            If a network request is redirected, the new channel will receive a new
            LoadInfo object. The new object will contain mostly the same
            information as the pre-redirect one, but updated as appropriate.
            For detailed information about what parts of LoadInfo are updated on
            redirect, see documentation on individual properties.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetOriginalContentTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The actual (MIME) content type of the data.
            
            nsIViewSourceChannel returns a content type of
            &quot;application/x-view-source&quot; if you ask it for the contentType
            attribute.
            
            However, callers interested in finding out or setting the
            actual content type can utilize this attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetIsSrcdocChannelAttribute">
            <summary>
            Whether the channel was created to view the source of a srcdoc document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIViewSourceChannel.GetBaseURIAttribute">
            <summary>
            Set to indicate the base URI.  If this channel is a srcdoc channel, it
            returns the base URI provided by the embedded channel.  It is used to
            provide an indication of the base URI in circumstances where it isn&apos;t
            otherwise recoverable.  Returns null when it isn&apos;t set and isn&apos;t a
            srcdoc channel.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWeakCryptoOverride">
            <summary>
            This represents the fallback whitelist for
            weak crypto servers such as RC4-only.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWeakCryptoOverride.AddWeakCryptoOverride(Gecko.nsACStringBase,System.Boolean,System.Boolean)">
            <summary>
            Add a weak crypto override for the given hostname.
            Main thread only.
            </summary>
            <param name="aHostName">
            The host (punycode) this mapping belongs to
            </param>
            <param name="aPrivate">
            The override info will used for the private browsing
            session and no information will be written to the disk.
            </param>
            <param name="aTemporary">
            The override info will not persist between sessions.
            Ignored if aPrivate is true.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWeakCryptoOverride.RemoveWeakCryptoOverride(Gecko.nsACStringBase,System.Int32,System.Boolean)">
            <summary>
            Remove a weak crypto override for the given hostname:port.
            Main thread only.
            </summary>
            <param name="aHostName">
            The host (punycode) whose entry should be cleared.
            </param>
            <param name="aPort">
            The port whose entry should be cleared.
            </param>
            <param name="aPrivate">
            The override info will used for the private browsing
            session.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWeakReference">
            <summary>
            An instance of |nsIWeakReference| is a proxy object that cooperates with
            its referent to give clients a non-owning, non-dangling reference.  Clients
            own the proxy, and should generally manage it with an |nsCOMPtr| (see the
            type |nsWeakPtr| for a |typedef| name that stands out) as they would any
            other XPCOM object.  The |QueryReferent| member function provides a
            (hopefully short-lived) owning reference on demand, through which clients
            can get useful access to the referent, while it still exists.
            </summary>
            <remarks>
            See nsWeakPtr
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWeakReference.QueryReferent(System.Guid@)">
            <summary>
            |QueryReferent| queries the referent, if it exists, and like |QueryInterface|, produces
            an owning reference to the desired interface.  It is designed to look and act exactly
            like (a proxied) |QueryInterface|.  Don&apos;t hold on to the produced interface permanently;
            that would defeat the purpose of using a non-owning |nsIWeakReference| in the first place.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsISupportsWeakReference">
            <summary>
            |nsISupportsWeakReference| is a factory interface which produces appropriate
            instances of |nsIWeakReference|.  Weak references in this scheme can only be
            produced for objects that implement this interface.
            </summary>
            <remarks>
            See nsSupportsWeakReference
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsISupportsWeakReference.GetWeakReference">
            <summary>
            |GetWeakReference| produces an appropriate instance of |nsIWeakReference|.
            As with all good XPCOM `getters&apos;, you own the resulting interface and should
            manage it with an |nsCOMPtr|.
            </summary>
            <remarks>
            See nsCOMPtr
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowser">
            <summary>
            The nsIWebBrowser interface is implemented by web browser objects.
            Embedders use this interface during initialisation to associate
            the new web browser instance with the embedders chrome and
            to register any listeners. The interface may also be used at runtime
            to obtain the content DOM window and from that the rest of the DOM.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowser.AddWebBrowserListener(Gecko.Interfaces.nsIWeakReference,System.Guid@)">
            <summary>
            Registers a listener of the type specified by the iid to receive
            callbacks. The browser stores a weak reference to the listener
            to avoid any circular dependencies.
            Typically this method will be called to register an object
            to receive &lt;CODE&gt;nsIWebProgressListener&lt;/CODE&gt; or
            &lt;CODE&gt;nsISHistoryListener&lt;/CODE&gt; notifications in which case the
            the IID is that of the interface.
            </summary>
            <param name="aListener">
            The listener to be added.
            </param>
            <param name="aIID">
            The IID of the interface that will be called
            on the listener as appropriate.
            </param>
            <returns>
            &lt;CODE&gt;NS_OK&lt;/CODE&gt;, listener was successfully added;
            &lt;CODE&gt;NS_ERROR_INVALID_ARG&lt;/CODE&gt;, one of the arguments was
            invalid or the object did not implement the interface
            specified by the IID.
            </returns>
            <remarks>
            See nsISHistoryListener
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowser.RemoveWebBrowserListener(Gecko.Interfaces.nsIWeakReference,System.Guid@)">
            <summary>
            Removes a previously registered listener.
            </summary>
            <param name="aListener">
            The listener to be removed.
            </param>
            <param name="aIID">
            The IID of the interface on the listener that will
            no longer be called.
            </param>
            <returns>
            &lt;CODE&gt;NS_OK&lt;/CODE&gt;, listener was successfully removed;
            &lt;CODE&gt;NS_ERROR_INVALID_ARG&lt;/CODE&gt; arguments was invalid or
            the object did not implement the interface specified by the IID.
            </returns>
            <remarks>
            See nsIWeakReference
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowser.GetContainerWindowAttribute">
            <summary>
            The chrome object associated with the browser instance. The embedder
            must create one chrome object for &lt;I&gt;each&lt;/I&gt; browser object
            that is instantiated. The embedder must associate the two by setting
            this property to point to the chrome object before creating the browser
            window via the browser&apos;s &lt;CODE&gt;nsIBaseWindow&lt;/CODE&gt; interface.
            
            The chrome object must also implement &lt;CODE&gt;nsIEmbeddingSiteWindow&lt;/CODE&gt;.
            
            The chrome may optionally implement &lt;CODE&gt;nsIInterfaceRequestor&lt;/CODE&gt;,
            &lt;CODE&gt;nsIWebBrowserChromeFocus&lt;/CODE&gt;,
            &lt;CODE&gt;nsIContextMenuListener&lt;/CODE&gt; and
            &lt;CODE&gt;nsITooltipListener&lt;/CODE&gt; to receive additional notifications
            from the browser object.
            
            The chrome object may optionally implement &lt;CODE&gt;nsIWebProgressListener&lt;/CODE&gt;
            instead of explicitly calling &lt;CODE&gt;addWebBrowserListener&lt;/CODE&gt; and
            &lt;CODE&gt;removeWebBrowserListener&lt;/CODE&gt; to register a progress listener
            object. If the implementation does this, it must also implement
            &lt;CODE&gt;nsIWeakReference&lt;/CODE&gt;.
            </summary>
            <remarks>
            See nsIWebProgressListener
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowser.GetParentURIContentListenerAttribute">
            <summary>
            URI content listener parent. The embedder may set this property to
            their own implementation if they intend to override or prevent
            how certain kinds of content are loaded.
            </summary>
            <remarks>
            See nsIURIContentListener
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowser.GetContentDOMWindowAttribute">
            <summary>
            The top-level DOM window. The embedder may walk the entire
            DOM starting from this value.
            </summary>
            <remarks>
            See nsIDOMWindow
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowser.GetIsActiveAttribute">
            <summary>
            Whether this web browser is active. Active means that it&apos;s visible
            enough that we want to avoid certain optimizations like discarding
            decoded image data and throttling the refresh driver. In Firefox,
            this corresponds to the visible tab.
            
            Defaults to true. For optimal performance, set it to false when
            appropriate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowser.BinarySetOriginAttributes(System.IntPtr)">
            <summary>
            Set Origin Attributes on the nsIWebBrowser.
            The Origin Attributes will be passed to the docshell once it has been
            created
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserChrome">
            <summary>
            nsIWebBrowserChrome corresponds to the top-level, outermost window
            containing an embedded Gecko web browser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.SetStatus(System.UInt32,System.String)">
            <summary>
            Called when the status text in the chrome needs to be updated.
            </summary>
            <param name="statusType">
            indicates what is setting the text
            </param>
            <param name="status">
            status string. null is an acceptable value meaning
            no status.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.GetWebBrowserAttribute">
            <summary>
            The currently loaded WebBrowser.  The browser chrome may be
            told to set the WebBrowser object to a new object by setting this
            attribute.  In this case the implementer is responsible for taking the
            new WebBrowser object and doing any necessary initialization or setup
            as if it had created the WebBrowser itself.  This includes positioning
            setting up listeners etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.GetChromeFlagsAttribute">
            <summary>
            The chrome flags for this browser chrome. The implementation should
            reflect the value of this attribute by hiding or showing its chrome
            appropriately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.DestroyBrowserWindow">
            <summary>
            Asks the implementer to destroy the window associated with this
            WebBrowser object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.SizeBrowserTo(System.Int32,System.Int32)">
            <summary>
            Tells the chrome to size itself such that the browser will be the
            specified size.
            </summary>
            <param name="aCX">
            new width of the browser
            </param>
            <param name="aCY">
            new height of the browser
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.ShowAsModal">
            <summary>
            Shows the window as a modal window.
            </summary>
            <returns>
            (the function error code) the status value specified by
            in exitModalEventLoop.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.IsWindowModal">
            <summary>
            Is the window modal (that is, currently executing a modal loop)?
            </summary>
            <returns>
            true if it&apos;s a modal window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome.ExitModalEventLoop(System.Int32)">
            <summary>
            Exit a modal event loop if we&apos;re in one. The implementation
            should also exit out of the loop if the window is destroyed.
            </summary>
            <param name="aStatus">
            - the result code to return from showAsModal
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserChrome2">
            <summary>
            nsIWebBrowserChrome2 is an extension to nsIWebBrowserChrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.SetStatus(System.UInt32,System.String)">
            <summary>
            Called when the status text in the chrome needs to be updated.
            </summary>
            <param name="statusType">
            indicates what is setting the text
            </param>
            <param name="status">
            status string. null is an acceptable value meaning
            no status.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.GetWebBrowserAttribute">
            <summary>
            The currently loaded WebBrowser.  The browser chrome may be
            told to set the WebBrowser object to a new object by setting this
            attribute.  In this case the implementer is responsible for taking the
            new WebBrowser object and doing any necessary initialization or setup
            as if it had created the WebBrowser itself.  This includes positioning
            setting up listeners etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.GetChromeFlagsAttribute">
            <summary>
            The chrome flags for this browser chrome. The implementation should
            reflect the value of this attribute by hiding or showing its chrome
            appropriately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.DestroyBrowserWindow">
            <summary>
            Asks the implementer to destroy the window associated with this
            WebBrowser object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.SizeBrowserTo(System.Int32,System.Int32)">
            <summary>
            Tells the chrome to size itself such that the browser will be the
            specified size.
            </summary>
            <param name="aCX">
            new width of the browser
            </param>
            <param name="aCY">
            new height of the browser
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.ShowAsModal">
            <summary>
            Shows the window as a modal window.
            </summary>
            <returns>
            (the function error code) the status value specified by
            in exitModalEventLoop.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.IsWindowModal">
            <summary>
            Is the window modal (that is, currently executing a modal loop)?
            </summary>
            <returns>
            true if it&apos;s a modal window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.ExitModalEventLoop(System.Int32)">
            <summary>
            Exit a modal event loop if we&apos;re in one. The implementation
            should also exit out of the loop if the window is destroyed.
            </summary>
            <param name="aStatus">
            - the result code to return from showAsModal
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome2.SetStatusWithContext(System.UInt32,Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Called when the status text in the chrome needs to be updated.  This
            method may be called instead of nsIWebBrowserChrome::SetStatus.  An
            implementor of this method, should still implement SetStatus.
            </summary>
            <param name="statusType">
            Indicates what is setting the text.
            </param>
            <param name="status">
            Status string.  Null is an acceptable value meaning no status.
            </param>
            <param name="contextNode">
            An object that provides context pertaining to the status type.
            If statusType is STATUS_LINK, then statusContext may be a DOM
            node corresponding to the source of the link.  This value can
            be null if there is no context.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserChrome3">
            <summary>
            nsIWebBrowserChrome3 is an extension to nsIWebBrowserChrome2.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.SetStatus(System.UInt32,System.String)">
            <summary>
            Called when the status text in the chrome needs to be updated.
            </summary>
            <param name="statusType">
            indicates what is setting the text
            </param>
            <param name="status">
            status string. null is an acceptable value meaning
            no status.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.GetWebBrowserAttribute">
            <summary>
            The currently loaded WebBrowser.  The browser chrome may be
            told to set the WebBrowser object to a new object by setting this
            attribute.  In this case the implementer is responsible for taking the
            new WebBrowser object and doing any necessary initialization or setup
            as if it had created the WebBrowser itself.  This includes positioning
            setting up listeners etc.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.GetChromeFlagsAttribute">
            <summary>
            The chrome flags for this browser chrome. The implementation should
            reflect the value of this attribute by hiding or showing its chrome
            appropriately.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.DestroyBrowserWindow">
            <summary>
            Asks the implementer to destroy the window associated with this
            WebBrowser object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.SizeBrowserTo(System.Int32,System.Int32)">
            <summary>
            Tells the chrome to size itself such that the browser will be the
            specified size.
            </summary>
            <param name="aCX">
            new width of the browser
            </param>
            <param name="aCY">
            new height of the browser
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.ShowAsModal">
            <summary>
            Shows the window as a modal window.
            </summary>
            <returns>
            (the function error code) the status value specified by
            in exitModalEventLoop.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.IsWindowModal">
            <summary>
            Is the window modal (that is, currently executing a modal loop)?
            </summary>
            <returns>
            true if it&apos;s a modal window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.ExitModalEventLoop(System.Int32)">
            <summary>
            Exit a modal event loop if we&apos;re in one. The implementation
            should also exit out of the loop if the window is destroyed.
            </summary>
            <param name="aStatus">
            - the result code to return from showAsModal
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.SetStatusWithContext(System.UInt32,Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            Called when the status text in the chrome needs to be updated.  This
            method may be called instead of nsIWebBrowserChrome::SetStatus.  An
            implementor of this method, should still implement SetStatus.
            </summary>
            <param name="statusType">
            Indicates what is setting the text.
            </param>
            <param name="status">
            Status string.  Null is an acceptable value meaning no status.
            </param>
            <param name="contextNode">
            An object that provides context pertaining to the status type.
            If statusType is STATUS_LINK, then statusContext may be a DOM
            node corresponding to the source of the link.  This value can
            be null if there is no context.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.OnBeforeLinkTraversal(Gecko.nsAStringBase,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            Determines the appropriate target for a link.
            </summary>
            <param name="originalTarget">
            The original link target.
            </param>
            <param name="linkURI">
            Link destination URI.
            </param>
            <param name="aDOMNode">
            Link DOM node.
            </param>
            <param name="isAppTab">
            Whether or not the link is in an app tab.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.ShouldLoadURI(Gecko.Interfaces.nsIDocShell,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI)">
            <summary>
            Determines whether a load should continue.
            </summary>
            <param name="aDocShell">
            The docshell performing the load.
            </param>
            <param name="aURI">
            The URI being loaded.
            </param>
            <param name="aReferrer">
            The referrer of the load.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChrome3.ReloadInFreshProcess(Gecko.Interfaces.nsIDocShell,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI)">
            <summary>
            Attempts to load the currently loaded page into a fresh process to increase
            available memory.
            </summary>
            <param name="aDocShell">
            The docshell performing the load.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserChromeFocus">
            <summary>
            The nsIWebBrowserChromeFocus is implemented by the same object as the
            nsIEmbeddingSiteWindow. It represents the focus up-calls from mozilla
            to the embedding chrome. See mozilla bug #70224 for gratuitous info.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChromeFocus.FocusNextElement(System.Boolean)">
            <summary>
            Set the focus at the next focusable element in the chrome. If
            aForDocumentNavigation is true, this was a document navigation, so
            focus the parent window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserChromeFocus.FocusPrevElement(System.Boolean)">
            <summary>
            Set the focus at the previous focusable element in the chrome.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserFind">
            <summary>
            nsIWebBrowserFind
            
            Searches for text in a web browser.
            
            Get one by doing a GetInterface on an nsIWebBrowser.
            
            By default, the implementation will search the focussed frame, or
            if there is no focussed frame, the web browser content area. It
            does not by default search subframes or iframes. To change this
            behaviour, and to explicitly set the frame to search,
            QueryInterface to nsIWebBrowserFindInFrames.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFind.FindNext">
            <summary>
            findNext
            
            Finds, highlights, and scrolls into view the next occurrence of the
            search string, using the current search settings. Fails if the
            search string is empty.
            </summary>
            <returns>
            Whether an occurrence was found
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFind.GetSearchStringAttribute">
            <summary>
            searchString
            
            The string to search for. This must be non-empty to search.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFind.GetFindBackwardsAttribute">
            <summary>
            findBackwards
            
            Whether to find backwards (towards the beginning of the document).
            Default is false (search forward).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFind.GetWrapFindAttribute">
            <summary>
            wrapFind
            
            Whether the search wraps around to the start (or end) of the document
            if no match was found between the current position and the end (or
            beginning). Works correctly when searching backwards. Default is
            false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFind.GetEntireWordAttribute">
            <summary>
            entireWord
            
            Whether to match entire words only. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFind.GetMatchCaseAttribute">
            <summary>
            matchCase
            
            Whether to match case (case sensitive) when searching. Default is false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFind.GetSearchFramesAttribute">
            <summary>
            searchFrames
            
            Whether to search through all frames in the content area. Default is true.
            
            Note that you can control whether the search propagates into child or
            parent frames explicitly using nsIWebBrowserFindInFrames, but if one,
            but not both, of searchSubframes and searchParentFrames are set, this
            returns false.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserFindInFrames">
            <summary>
            nsIWebBrowserFindInFrames
            
            Controls how find behaves when multiple frames or iframes are present.
            
            Get by doing a QueryInterface from nsIWebBrowserFind.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFindInFrames.GetCurrentSearchFrameAttribute">
            <summary>
            currentSearchFrame
            
            Frame at which to start the search. Once the search is done, this will
            be set to be the last frame searched, whether or not a result was found.
            Has to be equal to or contained within the rootSearchFrame.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFindInFrames.GetRootSearchFrameAttribute">
            <summary>
            rootSearchFrame
            
            Frame within which to confine the search (normally the content area frame).
            Set this to only search a subtree of the frame hierarchy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFindInFrames.GetSearchSubframesAttribute">
            <summary>
            searchSubframes
            
            Whether to recurse down into subframes while searching. Default is true.
            
            Setting nsIWebBrowserfind.searchFrames to true sets this to true.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFindInFrames.GetSearchParentFramesAttribute">
            <summary>
            searchParentFrames
            
            Whether to allow the search to propagate out of the currentSearchFrame into its
            parent frame(s). Search is always confined within the rootSearchFrame. Default
            is true.
            
            Setting nsIWebBrowserfind.searchFrames to true sets this to true.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserFocus">
            <summary>
            nsIWebBrowserFocus
            Interface that embedders use for controlling and interacting
            with the browser focus management. The embedded browser can be focused by
            clicking in it or tabbing into it. If the browser is currently focused and
            the embedding application&apos;s top level window is disabled, deactivate() must
            be called, and activate() called again when the top level window is
            reactivated for the browser&apos;s focus memory to work correctly.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFocus.Activate">
            <summary>
            MANDATORY
            activate() is a mandatory call that must be made to the browser
            when the embedding application&apos;s window is activated *and* the
            browser area was the last thing in focus.  This method can also be called
            if the embedding application wishes to give the browser area focus,
            without affecting the currently focused element within the browser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFocus.Deactivate">
            <summary>
            MANDATORY
            deactivate() is a mandatory call that must be made to the browser
            when the embedding application&apos;s window is deactivated *and* the
            browser area was the last thing in focus.  On non-windows platforms,
            deactivate() should also be called when focus moves from the browser
            to the embedding chrome.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFocus.SetFocusAtFirstElement">
            <summary>
            Give the first element focus within mozilla
            (i.e. TAB was pressed and focus should enter mozilla)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFocus.SetFocusAtLastElement">
            <summary>
            Give the last element focus within mozilla
            (i.e. SHIFT-TAB was pressed and focus should enter mozilla)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFocus.GetFocusedWindowAttribute">
            <summary>
            The currently focused nsDOMWindow when the browser is active,
            or the last focused nsDOMWindow when the browser is inactive.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserFocus.GetFocusedElementAttribute">
            <summary>
            The currently focused nsDOMElement when the browser is active,
            or the last focused nsDOMElement when the browser is inactive.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPersist">
            <summary>
            Interface for persisting DOM documents and URIs to local or remote storage.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.Cancel(System.Int32)">
            <summary>
            Call this method to request that this object abort whatever operation it
            may be performing.
            </summary>
            <param name="aReason">
            Pass a failure code to indicate the reason why this operation is
            being canceled.  It is an error to pass a success code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.GetPersistFlagsAttribute">
            <summary>
            Flags governing how data is fetched and saved from the network.
            It is best to set this value explicitly unless you are prepared
            to accept the default values.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.GetCurrentStateAttribute">
            <summary>
            Current state of the persister object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.GetResultAttribute">
            <summary>
            Value indicating the success or failure of the persist
            operation.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BINDING_ABORTED: Operation cancelled.
            NS_ERROR_FAILURE: Non-specific failure.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.GetProgressListenerAttribute">
            <summary>
            Callback listener for progress notifications. The object that the
            embbedder supplies may also implement nsIInterfaceRequestor and be
            prepared to return nsIAuthPrompt or other interfaces that may be required
            to download data.
            </summary>
            <remarks>
            See nsIInterfaceRequestor
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.SaveURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsIInputStream,System.String,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsILoadContext)">
            <summary>
            Save the specified URI to file.
            </summary>
            <param name="aURI">
            URI to save to file. Some implementations of this interface
            may also support &lt;CODE&gt;nullptr&lt;/CODE&gt; to imply the currently
            loaded URI.
            </param>
            <param name="aCacheKey">
            An object representing the URI in the cache or
            &lt;CODE&gt;nullptr&lt;/CODE&gt;.  This can be a necko cache key,
            an nsIWebPageDescriptor, or the currentDescriptor of an
            nsIWebPageDescriptor.
            </param>
            <param name="aReferrer">
            The referrer URI to pass with an HTTP request or
            &lt;CODE&gt;nullptr&lt;/CODE&gt;.
            </param>
            <param name="aReferrerPolicy">
            The referrer policy for when and what to send via
            HTTP Referer header.  Ignored if aReferrer is
            &lt;CODE&gt;nullptr&lt;/CODE&gt;.  Taken from REFERRER_POLICY
            constants in nsIHttpChannel.
            </param>
            <param name="aPostData">
            Post data to pass with an HTTP request or
            &lt;CODE&gt;nullptr&lt;/CODE&gt;.
            </param>
            <param name="aExtraHeaders">
            Additional headers to supply with an HTTP request
            or &lt;CODE&gt;nullptr&lt;/CODE&gt;.
            </param>
            <param name="aFile">
            Target file. This may be a nsIFile object or an
            nsIURI object with a file scheme or a scheme that
            supports uploading (e.g. ftp).
            </param>
            <param name="aPrivacyContext">
            A context from which the privacy status of this
            save operation can be determined. Must only be null
            in situations in which no such context is available
            (eg. the operation has no logical association with any
            window or document)
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: One or more arguments was invalid.
            </exception>
            <remarks>
            See nsIInputStream
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.SavePrivacyAwareURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIURI,System.UInt32,Gecko.Interfaces.nsIInputStream,System.String,Gecko.Interfaces.nsISupports,System.Boolean)">
            <summary>
            
            </summary>
            <param name="aIsPrivate">
            Treat the save operation as private (ie. with
            regards to networking operations and persistence
            of intermediate data, etc.)
            </param>
            <remarks>
            See saveURI for all other parameter descriptions
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.SaveChannel(Gecko.Interfaces.nsIChannel,Gecko.Interfaces.nsISupports)">
            <summary>
            Save a channel to a file. It must not be opened yet.
            </summary>
            <remarks>
            See saveURI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.SaveDocument(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsISupports,System.String,System.UInt32,System.UInt32)">
            <summary>
            Save the specified DOM document to file and optionally all linked files
            (e.g. images, CSS, JS &amp; subframes). Do not call this method until the
            document has finished loading!
            </summary>
            <param name="aDocument">
            Document to save to file. Some implementations of
            this interface may also support &lt;CODE&gt;nullptr&lt;/CODE&gt;
            to imply the currently loaded document.  Can be an
            nsIWebBrowserPersistDocument or nsIDOMDocument.
            </param>
            <param name="aFile">
            Target local file. This may be a nsIFile object or an
            nsIURI object with a file scheme or a scheme that
            supports uploading (e.g. ftp).
            </param>
            <param name="aDataPath">
            Path to directory where URIs linked to the document
            are saved or nullptr if no linked URIs should be saved.
            This may be a nsIFile object or an nsIURI object
            with a file scheme.
            </param>
            <param name="aOutputContentType">
            The desired MIME type format to save the
            document and all subdocuments into or nullptr to use
            the default behaviour.
            </param>
            <param name="aEncodingFlags">
            Flags to pass to the encoder.
            </param>
            <param name="aWrapColumn">
            For text documents, indicates the desired width to
            wrap text at. Parameter is ignored if wrapping is not
            specified by the encoding flags.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: One or more arguments was invalid.
            </exception>
            <remarks>
            See nsIURI
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersist.CancelSave">
            <summary>
            Cancels the current operation. The caller is responsible for cleaning up
            partially written files or directories. This has the same effect as calling
            cancel with an argument of NS_BINDING_ABORTED.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPersistable">
            <summary>
            Interface for objects which represent a document that can be
            serialized with nsIWebBrowserPersist.  This interface is
            asynchronous because the actual document can be in another process
            (e.g., if this object is an nsFrameLoader for an out-of-process
            frame).
            
            Warning: this is currently implemented only by nsFrameLoader, and
            may change in the future to become more frame-loader-specific or be
            merged into nsIFrameLoader.  See bug 1101100 comment #34.
            </summary>
            <param name="aOuterWindowID">
            The outer window ID of the subframe we&apos;d like to persist.
            If set at 0, nsIWebBrowserPersistable will attempt to persist
            the top-level document. If the outer window ID is for a subframe
            that does not exist, or is not held beneath the nsIWebBrowserPersistable,
            aRecv&apos;s onError method will be called with NS_ERROR_NO_CONTENT.
            </param>
            <param name="aRecv">
            The nsIWebBrowserPersistDocumentReceiver is a callback that
            will be fired once the document is ready for persisting.
            </param>
            <remarks>
            See nsIWebBrowserPersist
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPersistURIMap">
            <summary>
            Interface for the URI-mapping information that can be supplied when
            serializing the DOM of an nsIWebBrowserPersistDocument.
            </summary>
            <remarks>
            See nsIWebBrowserPersistDocument
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistURIMap.GetNumMappedURIsAttribute">
            <summary>
            The number of URI mappings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistURIMap.GetURIMapping(System.UInt32,Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Obtain the URI mapping at the given index, which must be less than
            numMappedURIs, as a pair of URI spec strings.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistURIMap.GetTargetBaseURIAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The spec of the base URI that the document will have after it is
            serialized.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPersistDocument">
            <summary>
            Interface representing a document that can be serialized with
            nsIWebBrowserPersist; it may or may not be in this process.  Some
            information is exposed as attributes, which may or may not reflect
            changes made to the underlying document; most of these are
            self-explanatory from their names and types.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistDocument.GetCacheKeyAttribute">
            <summary>
            The cache key.  Unlike in nsISHEntry, where it&apos;s wrapped in an
            nsISupportsPRUint32, this is just the integer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistDocument.GetPersistFlagsAttribute">
            <summary>
            This attribute is set by nsIWebBrowserPersist implementations to
            propagate persist flags that apply to the DOM traversal and
            serialization (rather than to managing file I/O).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistDocument.ReadResources(Gecko.Interfaces.nsIWebBrowserPersistResourceVisitor)">
            <summary>
            Walk the DOM searching for external resources needed to render it.
            The visitor callbacks may be called either before or after
            readResources returns.
            </summary>
            <remarks>
            See nsIWebBrowserPersistResourceVisitor
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistDocument.WriteContent(Gecko.Interfaces.nsIOutputStream,Gecko.Interfaces.nsIWebBrowserPersistURIMap,Gecko.nsACStringBase,System.UInt32,System.UInt32,Gecko.Interfaces.nsIWebBrowserPersistWriteCompletion)">
            <summary>
            Serialize the document&apos;s DOM.
            </summary>
            <param name="aStream">
            The output stream to write the document to.
            </param>
            <param name="aURIMap">
            Optional; specifies URI rewriting to perform on
            external references (as read by readResources).
            If given, also causes relative hyperlinks to be
            converted to absolute in the written text.
            </param>
            <param name="aRequestedContentType">
            The desired MIME type to save the document as;
            optional and defaults to the document&apos;s type.
            (If no encoder exists for that type, &quot;text/html&quot;
            is used instead.)
            </param>
            <param name="aEncoderFlags">
            Flags to pass to the encoder.
            </param>
            <param name="aWrapColumn">
            Desired text width, ignored if wrapping is not
            specified by the encoding flags, or if 0.
            </param>
            <param name="aCompletion">
            Callback invoked when writing is complete.
            It may be called either before or after writeContent
            returns.
            </param>
            <remarks>
            See nsIDocumentEncoder
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPersistResourceVisitor">
            <summary>
            Asynchronous visitor that receives external resources linked by an
            nsIWebBrowserPersistDocument and which are needed to render the
            document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistResourceVisitor.VisitResource(Gecko.Interfaces.nsIWebBrowserPersistDocument,Gecko.nsAUTF8StringBase)">
            <summary>
            Indicates a resource that is not a document; e.g., an image, script,
            or stylesheet.
            </summary>
            <param name="aDocument">
            The document containing the reference.
            </param>
            <param name="aURI">
            The absolute URI spec for the referenced resource.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistResourceVisitor.VisitDocument(Gecko.Interfaces.nsIWebBrowserPersistDocument,Gecko.Interfaces.nsIWebBrowserPersistDocument)">
            <summary>
            Indicates a subdocument resource; e.g., a frame or iframe.
            </summary>
            <param name="aDocument">
            The document containing the reference.
            </param>
            <param name="aSubDocument">
            The referenced document.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistResourceVisitor.EndVisit(Gecko.Interfaces.nsIWebBrowserPersistDocument,System.Int32)">
            <summary>
            Indicates that the document traversal is complete.
            </summary>
            <param name="aDocument">
            The document that was being traversed.
            </param>
            <param name="aStatus">
            Indicates whether the traversal encountered an error.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPersistWriteCompletion">
            <summary>
            Asynchronous callback for when nsIWebBrowserPersistDocument is finished
            serializing the document&apos;s DOM.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPersistWriteCompletion.OnFinish(Gecko.Interfaces.nsIWebBrowserPersistDocument,Gecko.Interfaces.nsIOutputStream,Gecko.nsACStringBase,System.Int32)">
            <summary>
            Indicates that serialization is finished.
            </summary>
            <param name="aDocument">
            The document that was being serialized.
            </param>
            <param name="aStream">
            The stream that was being written to.  If it
            needs to be closed, the callback must do that;
            the serialization process leaves it open.
            </param>
            <param name="aContentType">
            The content type with which the document was
            actually serialized; this may be useful to set
            metadata on the result, or if uploading it.
            </param>
            <param name="aStatus">
            Indicates whether serialization encountered an error.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPersistDocumentReceiver">
            <summary>
            Asynchronous callback for creating a persistable document from some
            other object.
            </summary>
            <remarks>
            See nsIWebBrowserPersistable.
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserPrint">
            <summary>
            nsIWebBrowserPrint corresponds to the main interface
            for printing an embedded Gecko web browser window/document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetGlobalPrintSettingsAttribute">
            <summary>
            Returns a &quot;global&quot; PrintSettings object
            Creates a new the first time, if one doesn&apos;t exist.
            
            Then returns the same object each time after that.
            
            Initializes the globalPrintSettings from the default printer
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetCurrentPrintSettingsAttribute">
            <summary>
            Returns a pointer to the PrintSettings object that
            that was passed into either &quot;print&quot; or &quot;print preview&quot;
            
            This enables any consumers of the interface to have access
            to the &quot;current&quot; PrintSetting at later points in the execution
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetCurrentChildDOMWindowAttribute">
            <summary>
            Returns a pointer to the current child DOMWindow
            that is being print previewed. (FrameSet Frames)
            
            Returns null if parent document is not a frameset or the entire FrameSet
            document is being print previewed
            
            This enables any consumers of the interface to have access
            to the &quot;current&quot; child DOMWindow at later points in the execution
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetDoingPrintAttribute">
            <summary>
            Returns whether it is in Print mode
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetDoingPrintPreviewAttribute">
            <summary>
            Returns whether it is in Print Preview mode
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetIsFramesetDocumentAttribute">
            <summary>
            This returns whether the current document is a frameset document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetIsFramesetFrameSelectedAttribute">
            <summary>
            This returns whether the current document is a frameset document
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetIsIFrameSelectedAttribute">
            <summary>
            This returns whether there is an IFrame selected
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetIsRangeSelectionAttribute">
            <summary>
            This returns whether there is a &quot;range&quot; selection
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.GetPrintPreviewNumPagesAttribute">
            <summary>
            This returns the total number of pages for the Print Preview
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.Print(Gecko.Interfaces.nsIPrintSettings,Gecko.Interfaces.nsIWebProgressListener)">
            <summary>
            Print the specified DOM window
            </summary>
            <param name="aThePrintSettings">
            - Printer Settings for the print job, if aThePrintSettings is null
            then the global PS will be used.
            </param>
            <param name="aWPListener">
            - is updated during the print
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.PrintPreview(Gecko.Interfaces.nsIPrintSettings,Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIWebProgressListener)">
            <summary>
            Print Preview the specified DOM window
            </summary>
            <param name="aThePrintSettings">
            - Printer Settings for the print preview, if aThePrintSettings is null
            then the global PS will be used.
            </param>
            <param name="aChildDOMWin">
            - DOM Window to be print previewed.
            </param>
            <param name="aWPListener">
            - is updated during the printpreview
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.PrintPreviewNavigate(System.Int16,System.Int32)">
            <summary>
            Print Preview - Navigates within the window
            </summary>
            <param name="aNavType">
            - navigation enum
            </param>
            <param name="aPageNum">
            - page num to navigate to when aNavType = ePrintPreviewGoToPageNum
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.Cancel">
            <summary>
            Cancels the current print
            </summary>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.EnumerateDocumentNames(System.UInt32@,System.IntPtr@)">
            <summary>
            Returns an array of the names of all documents names (Title or URL)
            and sub-documents. This will return a single item if the attr &quot;isFramesetDocument&quot; is false
            and may return any number of items is &quot;isFramesetDocument&quot; is true
            </summary>
            <param name="aCount">
            - returns number of printers returned
            </param>
            <param name="aResult">
            - returns array of names
            </param>
            <returns>
            void
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserPrint.ExitPrintPreview">
            <summary>
            This exists PrintPreview mode and returns browser window to galley mode
            </summary>
            <returns>
            void
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserSetup">
            <summary>
            The nsIWebBrowserSetup interface lets you set properties on a browser
            object; you can do so at any time during the life cycle of the browser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserSetup.SetProperty(System.UInt32,System.UInt32)">
            <summary>
            Sets an integer or boolean property on the new web browser object.
            Only PR_TRUE and PR_FALSE are legal boolean values.
            </summary>
            <param name="aId">
            The identifier of the property to be set.
            </param>
            <param name="aValue">
            The value of the property.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebBrowserStream">
            <summary>
            This interface provides a way to stream data to the web browser. This allows
            loading of data from sources which can not be accessed using URIs and
            nsIWebNavigation.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserStream.OpenStream(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase)">
            <summary>
            Prepare to load a stream of data. When this function returns successfully,
            it must be paired by a call to closeStream.
            </summary>
            <param name="aBaseURI">
            The base URI of the data. Must not be null. Relative
            URIs will be resolved relative to this URI.
            </param>
            <param name="aContentType">
            ASCII string giving the content type of the data. If rendering
            content of this type is not supported, this method fails.
            This string may include a charset declaration, for example:
            text/html;charset=ISO-8859-1
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserStream.AppendToStream(System.Byte[],System.UInt32)">
            <summary>
            Append data to this stream.
            </summary>
            <param name="aData">
            The data to append
            </param>
            <param name="aLen">
            Length of the data to append.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebBrowserStream.CloseStream">
            <summary>
            Notifies the browser that all the data has been appended. This may notify
            the user that the browser is &quot;done loading&quot; in some form.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerInfo.GetNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Human readable name for the handler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerInfo.GetDetailedDescriptionAttribute(Gecko.nsAStringBase)">
            <summary>
            Detailed description for this handler. Suitable for
            a tooltip or short informative sentence.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerInfo.Equals(Gecko.Interfaces.nsIHandlerApp)">
            <summary>
            Whether or not the given handler app is logically equivalent to the
            invokant (i.e. they represent the same app).
            
            Two apps are the same if they are both either local or web handlers
            and their executables/URI templates and command line parameters are
            the same.
            </summary>
            <param name="aHandlerApp">
            the handler app to compare to the invokant
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerInfo.LaunchWithURI(Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Launches the application with the specified URI.
            </summary>
            <param name="aURI">
            The URI to launch this application with
            </param>
            <param name="aWindowContext">
            Currently only relevant to web-handler apps.  If given, this
            represents the docshell to load the handler in and is passed
            through to nsIURILoader.openURI.  If this parameter is null or
            not present, the web handler app implementation will attempt to
            find/create a place to load the handler and do so.  As of this
            writing, it tries to load the web handler in a new window using
            nsIBrowserDOMWindow.openURI.  In the future, it may attempt to
            have a more comprehensive strategy which could include handing
            off to the system default browser (bug 394479).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerInfo.GetContentTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The content type handled by the handler
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerInfo.GetUriAttribute(Gecko.nsAStringBase)">
            <summary>
            The uri of the handler, with an embedded %s where the URI of the loaded
            document will be encoded.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerInfo.GetHandlerURI(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Gets the service URL Spec, with the loading document URI encoded in it.
            </summary>
            <param name="uri">
            The URI of the document being loaded
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebContentHandlerRegistrar">
            <summary>
            nsIWebContentHandlerRegistrar
            
            Applications wishing to use web content handlers need to implement this
            interface. Typically they will prompt the user to confirm adding an entry
            to the local list.
            
            The component must have the contract id defined below so that nsNavigator
            can invoke it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentHandlerRegistrar.RegisterContentHandler(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            See documentation in Navigator.webidl
            The additional contentWindow param for both methods represents the dom
            content window from which the method has been called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.RegisterContentHandler(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsISupports)">
            <summary>
            See documentation in Navigator.webidl
            The additional contentWindow param for both methods represents the dom
            content window from which the method has been called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.SetAutoHandler(Gecko.nsAStringBase,Gecko.Interfaces.nsIWebContentHandlerInfo)">
            <summary>
            Specifies the handler to be used to automatically handle all links of a
            certain content type from now on.
            </summary>
            <param name="contentType">
            The content type to automatically load with the specified handler
            </param>
            <param name="handler">
            A web service handler. If this is null, no automatic action is
            performed and the user must choose.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the service refered to by |handler| is
            not already registered.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.GetAutoHandler(Gecko.nsAStringBase)">
            <summary>
            Gets the auto handler specified for a particular content type
            </summary>
            <param name="contentType">
            The content type to look up an auto handler for.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.GetWebContentHandlerByURI(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Gets a web handler for the specified service URI
            </summary>
            <param name="contentType">
            The content type of the service being located
            </param>
            <param name="uri">
            The service URI of the handler to locate.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.LoadPreferredHandler(Gecko.Interfaces.nsIRequest)">
            <summary>
            Loads the preferred handler when content of a registered type is about
            to be loaded.
            </summary>
            <param name="request">
            The nsIRequest for the load of the content
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.RemoveProtocolHandler(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Removes a registered protocol handler
            </summary>
            <param name="protocol">
            The protocol scheme to remove a service handler for
            </param>
            <param name="uri">
            The uri of the service handler to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.RemoveContentHandler(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Removes a registered content handler
            </summary>
            <param name="contentType">
            The content type to remove a service handler for
            </param>
            <param name="uri">
            The uri of the service handler to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.GetContentHandlers(Gecko.nsAStringBase,System.UInt32@,System.IntPtr@)">
            <summary>
            Gets the list of content handlers for a particular type.
            </summary>
            <param name="contentType">
            The content type to get handlers for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebContentConverterService.ResetHandlersForType(Gecko.nsAStringBase)">
            <summary>
            Resets the list of available content handlers to the default set from
            the distribution.
            </summary>
            <param name="contentType">
            The content type to reset handlers for
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebNavigationInfo">
            <summary>
            The nsIWebNavigationInfo interface exposes a way to get information
            on the capabilities of Gecko webnavigation objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebNavigationInfo.IsTypeSupported(Gecko.nsACStringBase,Gecko.Interfaces.nsIWebNavigation)">
            <summary>
            Query whether aType is supported.
            </summary>
            <param name="aType">
            the MIME type in question.
            </param>
            <param name="aWebNav">
            the nsIWebNavigation object for which the request
            is being made.  This is allowed to be null.  If it is non-null,
            the return value of this method may depend on the exact state of
            aWebNav and the values set through nsIWebBrowserSetup; otherwise
            the method will assume that the caller is interested in information
            about nsIWebNavigation objects in their default state.
            </param>
            <returns>
            an enum value indicating whether and how aType is supported.
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebPageDescriptor">
            <summary>
            The nsIWebPageDescriptor interface allows content being displayed in one
            window to be loaded into another window without refetching it from the
            network.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebPageDescriptor.LoadPage(Gecko.Interfaces.nsISupports,System.UInt32)">
            <summary>
            Tells the object to load the page specified by the page descriptor
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: -
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebPageDescriptor.GetCurrentDescriptorAttribute">
            <summary>
            Retrieves the page descriptor for the curent document.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebProgress">
            <summary>
            The nsIWebProgress interface is used to add or remove nsIWebProgressListener
            instances to observe the loading of asynchronous requests (usually in the
            context of a DOM window).
            
            nsIWebProgress instances may be arranged in a parent-child configuration,
            corresponding to the parent-child configuration of their respective DOM
            windows.  However, in some cases a nsIWebProgress instance may not have an
            associated DOM window.  The parent-child relationship of nsIWebProgress
            instances is not made explicit by this interface, but the relationship may
            exist in some implementations.
            
            A nsIWebProgressListener instance receives notifications for the
            nsIWebProgress instance to which it added itself, and it may also receive
            notifications from any nsIWebProgress instances that are children of that
            nsIWebProgress instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgress.AddProgressListener(Gecko.Interfaces.nsIWebProgressListener,System.UInt32)">
            <summary>
            Registers a listener to receive web progress events.
            </summary>
            <param name="aListener">
            The listener interface to be called when a progress event occurs.
            This object must also implement nsISupportsWeakReference.
            </param>
            <param name="aNotifyMask">
            The types of notifications to receive.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgress.RemoveProgressListener(Gecko.Interfaces.nsIWebProgressListener)">
            <summary>
            Removes a previously registered listener of progress events.
            </summary>
            <param name="aListener">
            The listener interface previously registered with a call to
            addProgressListener.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgress.GetDOMWindowAttribute">
            <summary>
            The DOM window associated with this nsIWebProgress instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgress.GetIsTopLevelAttribute">
            <summary>
            Indicates whether DOMWindow.top == DOMWindow.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgress.GetIsLoadingDocumentAttribute">
            <summary>
            Indicates whether or not a document is currently being loaded
            in the context of this nsIWebProgress instance.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebProgress.GetLoadTypeAttribute">
            <summary>
            Contains a load type as specified by the load* constants in
            nsIDocShellLoadInfo.idl.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebSocketChannel">
            <summary>
            Low-level websocket API: handles network protocol.
            
            This is primarly intended for use by the higher-level nsIWebSocket.idl.
            We are also making it scriptable for now, but this may change once we have
            WebSockets for Workers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetOriginalURIAttribute">
            <summary>
            The original URI used to construct the protocol connection. This is used
            in the case of a redirect or URI &quot;resolution&quot; (e.g. resolving a
            resource: URI to a file: URI) so that the original pre-redirect
            URI can still be obtained.  This is never null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetURIAttribute">
            <summary>
            The readonly URI corresponding to the protocol connection after any
            redirections are completed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetNotificationCallbacksAttribute">
            <summary>
            The notification callbacks for authorization, etc..
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetSecurityInfoAttribute">
            <summary>
            Transport-level security information (if any)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetLoadGroupAttribute">
            <summary>
            The load group of of the websocket
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetLoadInfoAttribute">
            <summary>
            The load info of the websocket
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetProtocolAttribute(Gecko.nsACStringBase)">
            <summary>
            Sec-Websocket-Protocol value
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetExtensionsAttribute(Gecko.nsACStringBase)">
            <summary>
            Sec-Websocket-Extensions response header value
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.InitLoadInfo(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIPrincipal,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.UInt32)">
            <summary>
            Init the WebSocketChannel with LoadInfo arguments.
            </summary>
            <param name="aLoadingNode">
            
            </param>
            <param name="aLoadingPrincipal">
            
            </param>
            <param name="aTriggeringPrincipal">
            
            </param>
            <param name="aSecurityFlags">
            
            </param>
            <param name="aContentPolicyType">
            These will be used as values for the nsILoadInfo object on the
            created channel. For details, see nsILoadInfo in nsILoadInfo.idl
            </param>
            <returns>
            reference to the new nsIChannel object
            
            Keep in mind that URIs coming from a webpage should *never* use the
            systemPrincipal as the loadingPrincipal.
            
            Please note, if you provide both a loadingNode and a loadingPrincipal,
            then loadingPrincipal must be equal to loadingNode-&gt;NodePrincipal().
            But less error prone is to just supply a loadingNode.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.AsyncOpen(Gecko.Interfaces.nsIURI,Gecko.nsACStringBase,System.UInt64,Gecko.Interfaces.nsIWebSocketListener,Gecko.Interfaces.nsISupports)">
            <summary>
            Asynchronously open the websocket connection.  Received messages are fed
            to the socket listener as they arrive.  The socket listener&apos;s methods
            are called on the thread that calls asyncOpen and are not called until
            after asyncOpen returns.  If asyncOpen returns successfully, the
            protocol implementation promises to call at least onStop on the listener.
            
            NOTE: Implementations should throw NS_ERROR_ALREADY_OPENED if the
            websocket connection is reopened.
            </summary>
            <param name="aURI">
            the uri of the websocket protocol - may be redirected
            </param>
            <param name="aOrigin">
            the uri of the originating resource
            </param>
            <param name="aInnerWindowID">
            the inner window ID
            </param>
            <param name="aListener">
            the nsIWebSocketListener implementation
            </param>
            <param name="aContext">
            an opaque parameter forwarded to aListener&apos;s methods
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.SendMsg(Gecko.nsAUTF8StringBase)">
            <summary>
            Use to send text message down the connection to WebSocket peer.
            </summary>
            <param name="aMsg">
            the utf8 string to send
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.SendBinaryMsg(Gecko.nsACStringBase)">
            <summary>
            Use to send binary message down the connection to WebSocket peer.
            </summary>
            <param name="aMsg">
            the data to send
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.SendBinaryStream(Gecko.Interfaces.nsIInputStream,System.UInt32)">
            <summary>
            Use to send a binary stream (Blob) to Websocket peer.
            </summary>
            <param name="aStream">
            The input stream to be sent.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetPingIntervalAttribute">
            <summary>
            This value determines how often (in seconds) websocket keepalive
            pings are sent.  If set to 0 (the default), no pings are ever sent.
            
            This value can currently only be set before asyncOpen is called, else
            NS_ERROR_IN_PROGRESS is thrown.
            
            Be careful using this setting: ping traffic can consume lots of power and
            bandwidth over time.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetPingTimeoutAttribute">
            <summary>
            This value determines how long (in seconds) the websocket waits for
            the server to reply to a ping that has been sent before considering the
            connection broken.
            
            This value can currently only be set before asyncOpen is called, else
            NS_ERROR_IN_PROGRESS is thrown.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.GetSerialAttribute">
            <summary>
            Unique ID for this channel. It&apos;s not readonly because when the channel is
            created via IPC, the serial number is received from the child process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketChannel.SetServerParameters(Gecko.Interfaces.nsITransportProvider,Gecko.nsACStringBase)">
            <summary>
            Set a nsITransportProvider and negotated extensions to be used by this
            channel. Calling this function also means that this channel will
            implement the server-side part of a websocket connection rather than the
            client-side part.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebSocketListener">
            <summary>
            nsIWebSocketListener: passed to nsIWebSocketChannel::AsyncOpen. Receives
            websocket traffic events as they arrive.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketListener.OnStart(Gecko.Interfaces.nsISupports)">
            <summary>
            Called to signify the establishment of the message stream.
            
            Unlike most other networking channels (which use nsIRequestObserver
            instead of this class), we do not guarantee that OnStart is always
            called: OnStop is called without calling this function if errors occur
            during connection setup.  If the websocket connection is successful,
            OnStart will be called before any other calls to this API.
            </summary>
            <param name="aContext">
            user defined context
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketListener.OnStop(Gecko.Interfaces.nsISupports,System.Int32)">
            <summary>
            Called to signify the completion of the message stream.
            OnStop is the final notification the listener will receive and it
            completes the WebSocket connection: after it returns the
            nsIWebSocketChannel will release its reference to the listener.
            
            Note: this event can be received in error cases even if
            nsIWebSocketChannel::Close() has not been called.
            </summary>
            <param name="aContext">
            user defined context
            </param>
            <param name="aStatusCode">
            reason for stopping (NS_OK if completed successfully)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketListener.OnMessageAvailable(Gecko.Interfaces.nsISupports,Gecko.nsAUTF8StringBase)">
            <summary>
            Called to deliver text message.
            </summary>
            <param name="aContext">
            user defined context
            </param>
            <param name="aMsg">
            the message data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketListener.OnBinaryMessageAvailable(Gecko.Interfaces.nsISupports,Gecko.nsACStringBase)">
            <summary>
            Called to deliver binary message.
            </summary>
            <param name="aContext">
            user defined context
            </param>
            <param name="aMsg">
            the message data
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketListener.OnAcknowledge(Gecko.Interfaces.nsISupports,System.UInt32)">
            <summary>
            Called to acknowledge message sent via sendMsg() or sendBinaryMsg.
            </summary>
            <param name="aContext">
            user defined context
            </param>
            <param name="aSize">
            number of bytes placed in OS send buffer
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebSocketListener.OnServerClose(Gecko.Interfaces.nsISupports,System.UInt16,Gecko.nsAUTF8StringBase)">
            <summary>
            Called to inform receipt of WebSocket Close message from server.
            In the case of errors onStop() can be called without ever
            receiving server close.
            
            No additional messages through onMessageAvailable(),
            onBinaryMessageAvailable() or onAcknowledge() will be delievered
            to the listener after onServerClose(), though outgoing messages can still
            be sent through the nsIWebSocketChannel connection.
            </summary>
            <param name="aContext">
            user defined context
            </param>
            <param name="aCode">
            the websocket closing handshake close code.
            </param>
            <param name="aReason">
            the websocket closing handshake close reason
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebVTTListener">
            <summary>
            Listener for a JS WebVTT parser (vtt.js).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTListener.OnCue(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Is called when the WebVTTParser successfully parses a WebVTT cue.
            </summary>
            <param name="cue">
            An object representing the data of a parsed WebVTT cue.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTListener.OnRegion(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Is called when the WebVTT parser successfully parses a WebVTT region.
            </summary>
            <param name="region">
            An object representing the data of a parsed
            WebVTT region.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTListener.OnParsingError(System.Int32,System.IntPtr)">
            <summary>
            Is called when the WebVTT parser encounters a parsing error.
            </summary>
            <param name="error">
            The error code of the ParserError the occured.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWebVTTParserWrapper">
            <summary>
            Interface for a wrapper of a JS WebVTT parser (vtt.js).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTParserWrapper.LoadParser(Gecko.Interfaces.mozIDOMWindow)">
            <summary>
            Loads the JS WebVTTParser and sets it to use the passed window to create
            VTTRegions and VTTCues. This function must be called before calling
            parse, flush, or watch.
            </summary>
            <param name="window">
            The window that the parser will use to create VTTCues and
            VTTRegions.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTParserWrapper.Parse(Gecko.nsACStringBase)">
            <summary>
            Attempts to parse the stream&apos;s data as WebVTT format. When it successfully
            parses a WebVTT region or WebVTT cue it will create a VTTRegion or VTTCue
            object and pass it back to the callee through its callbacks.
            </summary>
            <param name="data">
            The buffer that contains the WebVTT data received by the
            Necko consumer so far.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTParserWrapper.Flush">
            <summary>
            Flush indicates that no more data is expected from the stream. As such the
            parser should try to parse any kind of partial data it has.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTParserWrapper.Watch(Gecko.Interfaces.nsIWebVTTListener)">
            <summary>
            Set this parser object to use an nsIWebVTTListener object for its onCue
            and onRegion callbacks.
            </summary>
            <param name="callback">
            The nsIWebVTTListener object that exposes onCue and
            onRegion callbacks for the parser.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTParserWrapper.ConvertCueToDOMTree(Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsISupports)">
            <summary>
            Convert the text content of a WebVTT cue to a document fragment so that
            we can display it on the page.
            </summary>
            <param name="window">
            A window object with which the document fragment will be
            created.
            </param>
            <param name="cue">
            The cue whose content will be converted to a document
            fragment.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWebVTTParserWrapper.ProcessCues(Gecko.Interfaces.mozIDOMWindow,Gecko.Interfaces.nsIVariant,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsISupports)">
            <summary>
            Compute the display state of the VTTCues in cues along with any VTTRegions
            that they might be in. First, it computes the positioning and styling of
            the cues and regions passed and converts them into a DOM tree rooted at
            a containing HTMLDivElement. It then adjusts those computed divs for
            overlap avoidance using the dimensions of &apos;overlay&apos;. Finally, it adds the
            computed divs to the VTTCues display state property for use later.
            </summary>
            <param name="window">
            A window object with which it will create the DOM tree
            and containing div element.
            </param>
            <param name="cues">
            An array of VTTCues who need there display state to be
            computed.
            </param>
            <param name="overlay">
            The HTMLElement that the cues will be displayed within.
            </param>
            <param name="controls">
            The video control element that will affect cues position.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIWinAppHelper">
            <summary>
            A scriptable interface used on Windows only to do some work from
            a special process that gets created with elevated privileges.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowCreator.CreateChromeWindow(Gecko.Interfaces.nsIWebBrowserChrome,System.UInt32)">
            <summary>
            Create a new window. Gecko will/may call this method, if made
            available to it, to create new windows.
            </summary>
            <param name="parent">
            parent window, if any. null if not. the newly created
            window should be made a child/dependent window of
            the parent, if any (and if the concept applies
            to the underlying OS).
            </param>
            <param name="chromeFlags">
            chrome features from nsIWebBrowserChrome
            </param>
            <returns>
            the new window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowCreator2.CreateChromeWindow(Gecko.Interfaces.nsIWebBrowserChrome,System.UInt32)">
            <summary>
            Create a new window. Gecko will/may call this method, if made
            available to it, to create new windows.
            </summary>
            <param name="parent">
            parent window, if any. null if not. the newly created
            window should be made a child/dependent window of
            the parent, if any (and if the concept applies
            to the underlying OS).
            </param>
            <param name="chromeFlags">
            chrome features from nsIWebBrowserChrome
            </param>
            <returns>
            the new window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowCreator2.CreateChromeWindow2(Gecko.Interfaces.nsIWebBrowserChrome,System.UInt32,System.UInt32,Gecko.Interfaces.nsITabParent,Gecko.Interfaces.mozIDOMWindowProxy,System.Boolean@)">
            <summary>
            Create a new window. Gecko will/may call this method, if made
            available to it, to create new windows.
            </summary>
            <param name="parent">
            Parent window, if any. Null if not. The newly created
            window should be made a child/dependent window of
            the parent, if any (and if the concept applies
            to the underlying OS).
            </param>
            <param name="chromeFlags">
            Chrome features from nsIWebBrowserChrome
            </param>
            <param name="contextFlags">
            Flags about the context of the window being created.
            </param>
            <param name="aOpeningTab">
            The TabParent that is trying to open this new chrome
            window. Can be nullptr.
            </param>
            <param name="aOpener">
            The window which is trying to open this new chrome window.
            Can be nullptr
            </param>
            <param name="cancel">
            Return |true| to reject window creation. If true the
            implementation has determined the window should not
            be created at all. The caller should not default
            to any possible backup scheme for creating the window.
            </param>
            <returns>
            the new window. Will be null if canceled or an error occurred.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowCreator2.SetScreenId(System.UInt32)">
            <summary>
            B2G multi-screen support. When open another top-level window on b2g,
            a screen ID is needed for identifying which screen this window is
            opened to.
            </summary>
            <param name="aScreenId">
            Differentiate screens of windows. It is platform-
            specific due to the hardware limitation for now.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowDataSource.GetWindowForResource(System.String)">
            <summary>
            for the given resource name, return the window
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetEnumerator(System.String)">
            <summary>
            Return an enumerator which iterates over all windows of type aWindowType
            from the oldest window to the youngest.
            </summary>
            <param name="aWindowType">
            the returned enumerator will enumerate only
            windows of this type. (&quot;type&quot; is the
            |windowtype| attribute of the XML &lt;window&gt; element.)
            If null, all windows will be enumerated.
            </param>
            <returns>
            an enumerator of nsIDOMWindows.  Note that windows close
            asynchronously in many cases, so windows returned from this
            enumerator can have .closed set to true.  Caveat enumerator!
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetXULWindowEnumerator(System.String)">
            <summary>
            Identical to getEnumerator except:
            </summary>
            <returns>
            an enumerator of nsIXULWindows
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetZOrderDOMWindowEnumerator(System.String,System.Boolean)">
            <summary>
            Return an enumerator which iterates over all windows of type aWindowType
            in their z (front-to-back) order. Note this interface makes
            no requirement that a window couldn&apos;t be revisited if windows
            are re-ordered while z-order enumerators are active.
            </summary>
            <param name="aWindowType">
            the returned enumerator will enumerate only
            windows of this type. (&quot;type&quot; is the
            |windowtype| attribute of the XML &lt;window&gt; element.)
            If null, all windows will be enumerated.
            </param>
            <param name="aFrontToBack">
            if true, the enumerator enumerates windows in order
            from front to back. back to front if false.
            </param>
            <returns>
            an enumerator of nsIDOMWindows
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetZOrderXULWindowEnumerator(System.String,System.Boolean)">
            <summary>
            Identical to getZOrderDOMWindowEnumerator except:
            </summary>
            <returns>
            an enumerator of nsIXULWindows
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetMostRecentWindow(System.String)">
            <summary>
            This is a shortcut for simply fetching the first window in
            front to back order.
            </summary>
            <param name="aWindowType">
            return the topmost window of this type.
            (&quot;type&quot; is the |windowtype| attribute of
            the XML &lt;window&gt; element.)
            If null, return the topmost window of any type.
            </param>
            <returns>
            the topmost window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetOuterWindowWithId(System.UInt64)">
            <summary>
            Return the outer window with the given ID, if any.  Can return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetCurrentInnerWindowWithId(System.UInt64)">
            <summary>
            Return the inner window with the given current window ID, if any.
            Can return null if no inner window with the ID exists or if it&apos;s not
            a current inner anymore.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.RegisterWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Add the window to the list of known windows. Listeners (see
            addListener) will be notified through their onOpenWindow method.
            </summary>
            <param name="aWindow">
            the window to add
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.UnregisterWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Remove the window from the list of known windows. Listeners (see
            addListener) will be be notified through their onCloseWindow method.
            </summary>
            <param name="aWindow">
            the window to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.UpdateWindowTimeStamp(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Call this method when a window gains focus. It&apos;s a primitive means of
            determining the most recent window. It&apos;s no longer necessary and it
            really should be removed.
            </summary>
            <param name="aWindow">
            the window which has gained focus
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.UpdateWindowTitle(Gecko.Interfaces.nsIXULWindow,System.String)">
            <summary>
            Call this method when a window&apos;s title changes. Listeners (see
            addListener) will be notified through their onWindowTitleChange method.
            </summary>
            <param name="aWindow">
            the window whose title has changed
            </param>
            <param name="inTitle">
            the window&apos;s new title
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.CalculateZPosition(Gecko.Interfaces.nsIXULWindow,System.UInt32,System.IntPtr,System.UInt32@,System.IntPtr@)">
            <summary>
            A window wants to be moved in z-order. Calculate whether and how
            it should be constrained. Note this method is advisory only:
            it changes nothing either in WindowMediator&apos;s internal state
            or with the window.
            Note it compares the nsIXULWindow to nsIWidgets. A pure interface
            would use all nsIXULWindows. But we expect this to be called from
            callbacks originating in native window code. They are expected to
            hand us comparison values which are pulled from general storage
            in the native widget, and may not correspond to an nsIWidget at all.
            For that reason this interface requires only objects one step
            removed from the native window (nsIWidgets), and its implementation
            must be very understanding of what may be completely invalid
            pointers in those parameters.
            </summary>
            <param name="inWindow">
            the window in question
            </param>
            <param name="inPosition">
            requested position
            values: zLevelTop: topmost window. zLevelBottom: bottom.
            zLevelBelow: below ioBelow. (the value of ioBelow will
            be ignored for zLevelTop and Bottom.)
            </param>
            <param name="inBelow">
            if inPosition==zLevelBelow, the window
            below which inWindow wants to be placed. Otherwise this
            variable is ignored.
            </param>
            <param name="outPosition">
            constrained position, values like inPosition.
            </param>
            <param name="outBelow">
            if outPosition==zLevelBelow, the window
            below which inWindow should be placed. Otherwise this
            this value will be null.
            </param>
            <returns>
            PR_TRUE if the position returned is different from
            the position given.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.SetZPosition(Gecko.Interfaces.nsIXULWindow,System.UInt32,Gecko.Interfaces.nsIXULWindow)">
            <summary>
            A window has been positioned behind another. Inform WindowMediator
            </summary>
            <param name="inWindow">
            the window in question
            </param>
            <param name="inPosition">
            new position. values:
            zLevelTop: topmost window.
            zLevelBottom: bottom.
            zLevelBelow: below inBelow. (inBelow is ignored
            for other values of inPosition.)
            </param>
            <param name="inBelow">
            the window inWindow is behind, if zLevelBelow
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.GetZLevel(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Return the window&apos;s Z level (as defined in nsIXULWindow).
            </summary>
            <param name="aWindow">
            the window in question
            </param>
            <returns>
            aWindow&apos;s z level
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.SetZLevel(Gecko.Interfaces.nsIXULWindow,System.UInt32)">
            <summary>
            Set the window&apos;s Z level (as defined in nsIXULWindow). The implementation
            will reposition the window as necessary to match its new Z level.
            The implementation will assume a window&apos;s Z level to be
            nsIXULWindow::normalZ until it has been informed of a different level.
            </summary>
            <param name="aWindow">
            the window in question
            </param>
            <param name="aZLevel">
            the window&apos;s new Z level
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.AddListener(Gecko.Interfaces.nsIWindowMediatorListener)">
            <summary>
            Register a listener for window status changes.
            keeps strong ref? (to be decided)
            </summary>
            <param name="aListener">
            the listener to register
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator.RemoveListener(Gecko.Interfaces.nsIWindowMediatorListener)">
            <summary>
            Unregister a listener of window status changes.
            </summary>
            <param name="aListener">
            the listener to unregister
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetEnumerator(System.String)">
            <summary>
            Return an enumerator which iterates over all windows of type aWindowType
            from the oldest window to the youngest.
            </summary>
            <param name="aWindowType">
            the returned enumerator will enumerate only
            windows of this type. (&quot;type&quot; is the
            |windowtype| attribute of the XML &lt;window&gt; element.)
            If null, all windows will be enumerated.
            </param>
            <returns>
            an enumerator of nsIDOMWindows.  Note that windows close
            asynchronously in many cases, so windows returned from this
            enumerator can have .closed set to true.  Caveat enumerator!
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetXULWindowEnumerator(System.String)">
            <summary>
            Identical to getEnumerator except:
            </summary>
            <returns>
            an enumerator of nsIXULWindows
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetZOrderDOMWindowEnumerator(System.String,System.Boolean)">
            <summary>
            Return an enumerator which iterates over all windows of type aWindowType
            in their z (front-to-back) order. Note this interface makes
            no requirement that a window couldn&apos;t be revisited if windows
            are re-ordered while z-order enumerators are active.
            </summary>
            <param name="aWindowType">
            the returned enumerator will enumerate only
            windows of this type. (&quot;type&quot; is the
            |windowtype| attribute of the XML &lt;window&gt; element.)
            If null, all windows will be enumerated.
            </param>
            <param name="aFrontToBack">
            if true, the enumerator enumerates windows in order
            from front to back. back to front if false.
            </param>
            <returns>
            an enumerator of nsIDOMWindows
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetZOrderXULWindowEnumerator(System.String,System.Boolean)">
            <summary>
            Identical to getZOrderDOMWindowEnumerator except:
            </summary>
            <returns>
            an enumerator of nsIXULWindows
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetMostRecentWindow(System.String)">
            <summary>
            This is a shortcut for simply fetching the first window in
            front to back order.
            </summary>
            <param name="aWindowType">
            return the topmost window of this type.
            (&quot;type&quot; is the |windowtype| attribute of
            the XML &lt;window&gt; element.)
            If null, return the topmost window of any type.
            </param>
            <returns>
            the topmost window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetOuterWindowWithId(System.UInt64)">
            <summary>
            Return the outer window with the given ID, if any.  Can return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetCurrentInnerWindowWithId(System.UInt64)">
            <summary>
            Return the inner window with the given current window ID, if any.
            Can return null if no inner window with the ID exists or if it&apos;s not
            a current inner anymore.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.RegisterWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Add the window to the list of known windows. Listeners (see
            addListener) will be notified through their onOpenWindow method.
            </summary>
            <param name="aWindow">
            the window to add
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.UnregisterWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Remove the window from the list of known windows. Listeners (see
            addListener) will be be notified through their onCloseWindow method.
            </summary>
            <param name="aWindow">
            the window to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.UpdateWindowTimeStamp(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Call this method when a window gains focus. It&apos;s a primitive means of
            determining the most recent window. It&apos;s no longer necessary and it
            really should be removed.
            </summary>
            <param name="aWindow">
            the window which has gained focus
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.UpdateWindowTitle(Gecko.Interfaces.nsIXULWindow,System.String)">
            <summary>
            Call this method when a window&apos;s title changes. Listeners (see
            addListener) will be notified through their onWindowTitleChange method.
            </summary>
            <param name="aWindow">
            the window whose title has changed
            </param>
            <param name="inTitle">
            the window&apos;s new title
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.CalculateZPosition(Gecko.Interfaces.nsIXULWindow,System.UInt32,System.IntPtr,System.UInt32@,System.IntPtr@)">
            <summary>
            A window wants to be moved in z-order. Calculate whether and how
            it should be constrained. Note this method is advisory only:
            it changes nothing either in WindowMediator&apos;s internal state
            or with the window.
            Note it compares the nsIXULWindow to nsIWidgets. A pure interface
            would use all nsIXULWindows. But we expect this to be called from
            callbacks originating in native window code. They are expected to
            hand us comparison values which are pulled from general storage
            in the native widget, and may not correspond to an nsIWidget at all.
            For that reason this interface requires only objects one step
            removed from the native window (nsIWidgets), and its implementation
            must be very understanding of what may be completely invalid
            pointers in those parameters.
            </summary>
            <param name="inWindow">
            the window in question
            </param>
            <param name="inPosition">
            requested position
            values: zLevelTop: topmost window. zLevelBottom: bottom.
            zLevelBelow: below ioBelow. (the value of ioBelow will
            be ignored for zLevelTop and Bottom.)
            </param>
            <param name="inBelow">
            if inPosition==zLevelBelow, the window
            below which inWindow wants to be placed. Otherwise this
            variable is ignored.
            </param>
            <param name="outPosition">
            constrained position, values like inPosition.
            </param>
            <param name="outBelow">
            if outPosition==zLevelBelow, the window
            below which inWindow should be placed. Otherwise this
            this value will be null.
            </param>
            <returns>
            PR_TRUE if the position returned is different from
            the position given.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.SetZPosition(Gecko.Interfaces.nsIXULWindow,System.UInt32,Gecko.Interfaces.nsIXULWindow)">
            <summary>
            A window has been positioned behind another. Inform WindowMediator
            </summary>
            <param name="inWindow">
            the window in question
            </param>
            <param name="inPosition">
            new position. values:
            zLevelTop: topmost window.
            zLevelBottom: bottom.
            zLevelBelow: below inBelow. (inBelow is ignored
            for other values of inPosition.)
            </param>
            <param name="inBelow">
            the window inWindow is behind, if zLevelBelow
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetZLevel(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Return the window&apos;s Z level (as defined in nsIXULWindow).
            </summary>
            <param name="aWindow">
            the window in question
            </param>
            <returns>
            aWindow&apos;s z level
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.SetZLevel(Gecko.Interfaces.nsIXULWindow,System.UInt32)">
            <summary>
            Set the window&apos;s Z level (as defined in nsIXULWindow). The implementation
            will reposition the window as necessary to match its new Z level.
            The implementation will assume a window&apos;s Z level to be
            nsIXULWindow::normalZ until it has been informed of a different level.
            </summary>
            <param name="aWindow">
            the window in question
            </param>
            <param name="aZLevel">
            the window&apos;s new Z level
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.AddListener(Gecko.Interfaces.nsIWindowMediatorListener)">
            <summary>
            Register a listener for window status changes.
            keeps strong ref? (to be decided)
            </summary>
            <param name="aListener">
            the listener to register
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.RemoveListener(Gecko.Interfaces.nsIWindowMediatorListener)">
            <summary>
            Unregister a listener of window status changes.
            </summary>
            <param name="aListener">
            the listener to unregister
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowMediator_44.GetMostRecentNonPBWindow(System.String)">
            <summary>
            Same as getMostRecentWindow, but ignores private browsing
            windows.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWindowProvider">
            <summary>
            The nsIWindowProvider interface exists so that the window watcher&apos;s default
            behavior of opening a new window can be easly modified.  When the window
            watcher needs to open a new window, it will first check with the
            nsIWindowProvider it gets from the parent window.  If there is no provider
            or the provider does not provide a window, the window watcher will proceed
            to actually open a new window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowProvider.ProvideWindow(Gecko.Interfaces.mozIDOMWindowProxy,System.UInt32,System.Boolean,System.Boolean,System.Boolean,Gecko.Interfaces.nsIURI,Gecko.nsAStringBase,Gecko.nsAUTF8StringBase,System.Boolean,System.Boolean@)">
            <summary>
            A method to request that this provider provide a window.  The window
            returned need not to have the right name or parent set on it; setting
            those is the caller&apos;s responsibility.  The provider can always return null
            to have the caller create a brand-new window.
            </summary>
            <param name="aParent">
            Must not be null.  This is the window that the caller wants
            to use as the parent for the new window.  Generally,
            nsIWindowProvider implementors can expect to be somehow related to
            aParent; the relationship may depend on the nsIWindowProvider
            implementation.
            </param>
            <param name="aChromeFlags">
            The chrome flags the caller will use to create a new
            window if this provider returns null.  See nsIWebBrowserChrome for
            the possible values of this field.
            </param>
            <param name="aPositionSpecified">
            Whether the attempt to create a window is trying
            to specify a position for the new window.
            </param>
            <param name="aSizeSpecified">
            Whether the attempt to create a window is trying to
            specify a size for the new window.
            </param>
            <param name="aURI">
            The URI to be loaded in the new window (may be NULL).  The
            nsIWindowProvider implementation must not load this URI into the
            window it returns.  This URI is provided solely to help the
            nsIWindowProvider implementation make decisions; the caller will
            handle loading the URI in the window returned if provideWindow
            returns a window.
            
            When making decisions based on aURI, note that even when it&apos;s not
            null, aURI may not represent all relevant information about the
            load.  For example, the load may have extra load flags, POST data,
            etc.
            </param>
            <param name="aName">
            The name of the window being opened.  Setting the name on the
            return value of provideWindow will be handled by the caller; aName
            is provided solely to help the nsIWindowProvider implementation
            make decisions.
            </param>
            <param name="aFeatures">
            The feature string for the window being opened.  This may
            be empty.  The nsIWindowProvider implementation is allowed to apply
            the feature string to the window it returns in any way it sees fit.
            See the nsIWindowWatcher interface for details on feature strings.
            </param>
            <param name="aWindowIsNew">
            [out] Whether the window being returned was just
            created by the window provider implementation.  This can be used by
            callers to keep track of which windows were opened by the user as
            opposed to being opened programmatically.  This should be set to
            false if the window being returned existed before the
            provideWindow() call.  The value of this out parameter is
            meaningless if provideWindow() returns null.
            </param>
            <returns>
            A window the caller should use or null if the caller should just
            create a new window.  The returned window may be newly opened by
            the nsIWindowProvider implementation or may be a window that
            already existed.
            </returns>
            <remarks>
            See nsIWebBrowserChrome for more information on aChromeFlags.
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIWindowsRegKey">
            <summary>
            This interface is designed to provide scriptable access to the Windows
            registry system (&quot;With Great Power Comes Great Responsibility&quot;).  The
            interface represents a single key in the registry.
            
            This interface is highly Win32 specific.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.GetKeyAttribute">
            <summary>
            This attribute exposes the native HKEY and is available to provide C++
            consumers with the flexibility of making other Windows registry API calls
            that are not exposed via this interface.
            
            It is possible to initialize this object by setting an HKEY on it.  In
            that case, it is the responsibility of the consumer setting the HKEY to
            ensure that it is a valid HKEY.
            
            WARNING: Setting the key does not close the old key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.Close">
            <summary>
            This method closes the key.  If the key is already closed, then this
            method does nothing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.Open(System.UInt32,Gecko.nsAStringBase,System.UInt32)">
            <summary>
            This method opens an existing key.  This method fails if the key
            does not exist.
            
            NOTE: On 32-bit Windows, it is valid to pass any HKEY as the rootKey
            parameter of this function.  However, for compatibility with 64-bit
            Windows, that usage should probably be avoided in favor of openChild.
            </summary>
            <param name="rootKey">
            A root key defined above or any valid HKEY on 32-bit Windows.
            </param>
            <param name="relPath">
            A relative path from the given root key.
            </param>
            <param name="mode">
            Access mode, which is a bit-wise OR of the ACCESS_ values defined
            above.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.Create(System.UInt32,Gecko.nsAStringBase,System.UInt32)">
            <summary>
            This method opens an existing key or creates a new key.
            
            NOTE: On 32-bit Windows, it is valid to pass any HKEY as the rootKey
            parameter of this function.  However, for compatibility with 64-bit
            Windows, that usage should probably be avoided in favor of createChild.
            </summary>
            <param name="rootKey">
            A root key defined above or any valid HKEY on 32-bit Windows.
            </param>
            <param name="relPath">
            A relative path from the given root key.
            </param>
            <param name="mode">
            Access mode, which is a bit-wise OR of the ACCESS_ values defined
            above.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.OpenChild(Gecko.nsAStringBase,System.UInt32)">
            <summary>
            This method opens a subkey relative to this key.  This method fails if the
            key does not exist.
            </summary>
            <returns>
            nsIWindowsRegKey for the newly opened subkey.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.CreateChild(Gecko.nsAStringBase,System.UInt32)">
            <summary>
            This method opens or creates a subkey relative to this key.
            </summary>
            <returns>
            nsIWindowsRegKey for the newly opened or created subkey.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.GetChildCountAttribute">
            <summary>
            This attribute returns the number of child keys.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.GetChildName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            This method returns the name of the n&apos;th child key.
            </summary>
            <param name="index">
            The index of the requested child key.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.HasChild(Gecko.nsAStringBase)">
            <summary>
            This method checks to see if the key has a child by the given name.
            </summary>
            <param name="name">
            The name of the requested child key.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.GetValueCountAttribute">
            <summary>
            This attribute returns the number of values under this key.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.GetValueName(System.UInt32,Gecko.nsAStringBase)">
            <summary>
            This method returns the name of the n&apos;th value under this key.
            </summary>
            <param name="index">
            The index of the requested value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.HasValue(Gecko.nsAStringBase)">
            <summary>
            This method checks to see if the key has a value by the given name.
            </summary>
            <param name="name">
            The name of the requested value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.RemoveChild(Gecko.nsAStringBase)">
            <summary>
            This method removes a child key and all of its values.  This method will
            fail if the key has any children of its own.
            </summary>
            <param name="relPath">
            The relative path from this key to the key to be removed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.RemoveValue(Gecko.nsAStringBase)">
            <summary>
            This method removes the value with the given name.
            </summary>
            <param name="name">
            The name of the value to be removed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.GetValueType(Gecko.nsAStringBase)">
            <summary>
            This method returns the type of the value with the given name.  The return
            value is one of the &quot;TYPE_&quot; constants defined above.
            </summary>
            <param name="name">
            The name of the value to query.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.ReadStringValue(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            This method reads the string contents of the named value as a Unicode
            string.
            </summary>
            <param name="name">
            The name of the value to query.  This parameter can be the empty
            string to request the key&apos;s default value.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.ReadIntValue(Gecko.nsAStringBase)">
            <summary>
            This method reads the integer contents of the named value.
            </summary>
            <param name="name">
            The name of the value to query.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.ReadInt64Value(Gecko.nsAStringBase)">
            <summary>
            This method reads the 64-bit integer contents of the named value.
            </summary>
            <param name="name">
            The name of the value to query.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.ReadBinaryValue(Gecko.nsAStringBase,Gecko.nsACStringBase)">
            <summary>
            This method reads the binary contents of the named value under this key.
            
            JavaScript callers should take care with the result of this method since
            it will be byte-expanded to form a JS string.  (The binary data will be
            treated as an ISO-Latin-1 character string, which it is not).
            </summary>
            <param name="name">
            The name of the value to query.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.WriteStringValue(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            This method writes the unicode string contents of the named value.  The
            value will be created if it does not already exist.
            </summary>
            <param name="name">
            The name of the value to modify.  This parameter can be the empty
            string to modify the key&apos;s default value.
            </param>
            <param name="data">
            The data for the value to modify.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.WriteIntValue(Gecko.nsAStringBase,System.UInt32)">
            <summary>
            This method writes the integer contents of the named value.  The value
            will be created if it does not already exist.
            </summary>
            <param name="name">
            The name of the value to modify.
            </param>
            <param name="data">
            The data for the value to modify.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.WriteInt64Value(Gecko.nsAStringBase,System.UInt64)">
            <summary>
            This method writes the 64-bit integer contents of the named value.  The
            value will be created if it does not already exist.
            </summary>
            <param name="name">
            The name of the value to modify.
            </param>
            <param name="data">
            The data for the value to modify.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.WriteBinaryValue(Gecko.nsAStringBase,Gecko.nsACStringBase)">
            <summary>
            This method writes the binary contents of the named value.  The value will
            be created if it does not already exist.
            
            JavaScript callers should take care with the value passed to this method
            since it will be truncated from a JS string (unicode) to a ISO-Latin-1
            string.  (The binary data will be treated as an ISO-Latin-1 character
            string, which it is not).  So, JavaScript callers should only pass
            character values in the range \u0000 to \u00FF, or else data loss will
            occur.
            </summary>
            <param name="name">
            The name of the value to modify.
            </param>
            <param name="data">
            The data for the value to modify.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.StartWatching(System.Boolean)">
            <summary>
            This method starts watching the key to see if any of its values have
            changed.  The key must have been opened with mode including ACCESS_NOTIFY.
            If recurse is true, then this key and any of its descendant keys are
            watched.  Otherwise, only this key is watched.
            </summary>
            <param name="recurse">
            Indicates whether or not to also watch child keys.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.StopWatching">
            <summary>
            This method stops any watching of the key initiated by a call to
            startWatching.  This method does nothing if the key is not being watched.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.IsWatching">
            <summary>
            This method returns true if the key is being watched for changes (i.e.,
            if startWatching() was called).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsRegKey.HasChanged">
            <summary>
            This method returns true if the key has changed and false otherwise.
            This method will always return false if startWatching was not called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.IsDefaultBrowser(System.Boolean,System.Boolean)">
            <summary>
            Determines whether or not Firefox is the &quot;Default Browser.&quot;
            This is simply whether or not Firefox is registered to handle
            http links.
            </summary>
            <param name="aStartupCheck">
            true if this is the check being performed
            by the first browser window at startup,
            false otherwise.
            </param>
            <param name="aForAllTypes">
            true if the check should be made for HTTP and HTML.
            false if the check should be made for HTTP only.
            This parameter may be ignored on some platforms.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.SetDefaultBrowser(System.Boolean,System.Boolean)">
            <summary>
            Registers Firefox as the &quot;Default Browser.&quot;
            </summary>
            <param name="aClaimAllTypes">
            Register Firefox as the handler for
            additional protocols (ftp, chrome etc)
            and web documents (.html, .xhtml etc).
            </param>
            <param name="aForAllUsers">
            Whether or not Firefox should attempt
            to become the default browser for all
            users on a multi-user system.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.SetDesktopBackground(Gecko.Interfaces.nsIDOMElement,System.Int32)">
            <summary>
            Sets the desktop background image using either the HTML &lt;IMG&gt;
            element supplied or the background image of the element supplied.
            </summary>
            <param name="aImageElement">
            Either a HTML &lt;IMG&gt; element or an element with
            a background image from which to source the
            background image.
            </param>
            <param name="aPosition">
            How to place the image on the desktop
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.OpenApplication(System.Int32)">
            <summary>
            Opens the application specified. If more than one application of the
            given type is available on the system, the default or &quot;preferred&quot;
            application is used.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.GetDesktopBackgroundColorAttribute">
            <summary>
            The desktop background color, visible when no background image is
            used, or if the background image is centered and does not fill the
            entire screen. A rgb value, where (r &lt;&lt; 16 | g &lt;&lt; 8 | b)
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.OpenApplicationWithURI(Gecko.Interfaces.nsIFile,Gecko.nsACStringBase)">
            <summary>
            Opens an application with a specific URI to load.
            </summary>
            <param name="application">
            The application file (or bundle directory, on OS X)
            </param>
            <param name="uri">
            The uri to be loaded by the application
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.GetDefaultFeedReaderAttribute">
            <summary>
            The default system handler for web feeds
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsShellService.ShortcutMaintenance">
            <summary>
            Provides the shell service an opportunity to do some Win7+ shortcut
            maintenance needed on initial startup of the browser.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsUIUtils.GetInTabletModeAttribute">
            <summary>
            Whether the OS is currently in tablet mode. Always false on
            non-Windows and on versions of Windows before win10
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowsUIUtils.UpdateTabletModeState">
            <summary>
            Update the tablet mode state
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWindowWatcher">
            <summary>
            nsIWindowWatcher is the keeper of Gecko/DOM Windows. It maintains
            a list of open top-level windows, and allows some operations on them.
            
            Usage notes:
            
            This component has an |activeWindow| property. Clients may expect
            this property to be always current, so to properly integrate this component
            the application will need to keep it current by setting the property
            as the active window changes.
            This component should not keep a (XPCOM) reference to any windows;
            the implementation will claim no ownership. Windows must notify
            this component when they are created or destroyed, so only a weak
            reference is kept. Note that there is no interface for such notifications
            (not a public one, anyway). This is taken care of both in Mozilla and
            by common embedding code. Embedding clients need do nothing special
            about that requirement.
            This component must be initialized at application startup by calling
            setWindowCreator.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.OpenWindow(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String,Gecko.Interfaces.nsISupports)">
            <summary>
            Create a new window. It will automatically be added to our list
            (via addWindow()).
            </summary>
            <param name="aParent">
            parent window, if any. Null if no parent.  If it is
            impossible to get to an nsIWebBrowserChrome from aParent, this
            method will effectively act as if aParent were null.
            </param>
            <param name="aURL">
            url to which to open the new window. Must already be
            escaped, if applicable. can be null.
            </param>
            <param name="aName">
            window name from JS window.open. can be null.  If a window
            with this name already exists, the openWindow call may just load
            aUrl in it (if aUrl is not null) and return it.
            </param>
            <param name="aFeatures">
            window features from JS window.open. can be null.
            </param>
            <param name="aArguments">
            extra argument(s) to the new window, to be attached
            as the |arguments| property. An nsIArray will be
            unwound into multiple arguments (but not recursively!).
            can be null.
            </param>
            <returns>
            the new window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.RegisterNotification(Gecko.Interfaces.nsIObserver)">
            <summary>
            Clients of this service can register themselves to be notified
            when a window is opened or closed (added to or removed from this
            service). This method adds an aObserver to the list of objects
            to be notified.
            </summary>
            <param name="aObserver">
            the object to be notified when windows are
            opened or closed. Its Observe method will be
            called with the following parameters:
            
            aObserver::Observe interprets its parameters so:
            aSubject the window being opened or closed, sent as an nsISupports
            which can be QIed to an nsIDOMWindow.
            aTopic   a wstring, either &quot;domwindowopened&quot; or &quot;domwindowclosed&quot;.
            someData not used.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.UnregisterNotification(Gecko.Interfaces.nsIObserver)">
            <summary>
            Clients of this service can register themselves to be notified
            when a window is opened or closed (added to or removed from this
            service). This method removes an aObserver from the list of objects
            to be notified.
            </summary>
            <param name="aObserver">
            the observer to be removed.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.GetWindowEnumerator">
            <summary>
            Get an iterator for currently open windows in the order they were opened,
            guaranteeing that each will be visited exactly once.
            </summary>
            <returns>
            an enumerator which will itself return nsISupports objects which
            can be QIed to an nsIDOMWindow
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.GetNewPrompter(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Return a newly created nsIPrompt implementation.
            </summary>
            <param name="aParent">
            the parent window used for posing alerts. can be null.
            </param>
            <returns>
            a new nsIPrompt object
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.GetNewAuthPrompter(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Return a newly created nsIAuthPrompt implementation.
            </summary>
            <param name="aParent">
            the parent window used for posing alerts. can be null.
            </param>
            <returns>
            a new nsIAuthPrompt object
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.SetWindowCreator(Gecko.Interfaces.nsIWindowCreator)">
            <summary>
            Set the window creator callback. It must be filled in by the app.
            openWindow will use it to create new windows.
            </summary>
            <param name="creator">
            the callback. if null, the callback will be cleared
            and window creation capabilities lost.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.HasWindowCreator">
            <summary>
            Returns true if a window creator callback has been set, false otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.GetChromeForWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Retrieve the chrome window mapped to the given DOM window. Window
            Watcher keeps a list of all top-level DOM windows currently open,
            along with their corresponding chrome interfaces. Since DOM Windows
            lack a (public) means of retrieving their corresponding chrome,
            this method will do that.
            </summary>
            <param name="aWindow">
            the DOM window whose chrome window the caller needs
            </param>
            <returns>
            the corresponding chrome window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.GetWindowByName(Gecko.nsAStringBase,Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Retrieve an existing window (or frame).
            </summary>
            <param name="aTargetName">
            the window name
            </param>
            <param name="aCurrentWindow">
            a starting point in the window hierarchy to
            begin the search.  If null, each toplevel window
            will be searched.
            
            Note: This method will search all open windows for any window or
            frame with the given window name. Make sure you understand the
            security implications of this before using this method!
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWindowWatcher.GetActiveWindowAttribute">
            <summary>
            The Watcher serves as a global storage facility for the current active
            (frontmost non-floating-palette-type) window, storing and returning
            it on demand. Users must keep this attribute current, including after
            the topmost window is closed. This attribute obviously can return null
            if no windows are open, but should otherwise always return a valid
            window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.GetAvailableAttribute">
            <summary>
            Returns true if the operating system supports Win7+ taskbar features.
            This property acts as a replacement for in-place os version checking.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.GetDefaultGroupIdAttribute(Gecko.nsAStringBase)">
            <summary>
            Returns the default application user model identity the application
            registers with the system. This id is used by the taskbar in grouping
            windows and in associating pinned shortcuts with running instances and
            jump lists.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.CreateTaskbarTabPreview(Gecko.Interfaces.nsIDocShell,Gecko.Interfaces.nsITaskbarPreviewController)">
            <summary>
            Creates a taskbar preview. The docshell should be a toplevel docshell and
            is used to find the toplevel window. See the documentation for
            nsITaskbarTabPreview for more information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.GetTaskbarWindowPreview(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Gets the taskbar preview for a window. The docshell is used to find the
            toplevel window. See the documentation for nsITaskbarTabPreview for more
            information.
            
            Note: to implement custom drawing or buttons, a controller is required.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.GetTaskbarProgress(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Gets the taskbar progress for a window. The docshell is used to find the
            toplevel window. See the documentation for nsITaskbarProgress for more
            information.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.GetOverlayIconController(Gecko.Interfaces.nsIDocShell)">
            <summary>
            Gets the taskbar icon overlay controller for a window. The docshell is used
            to find the toplevel window. See the documentation in
            nsITaskbarOverlayIconController for more details.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.CreateJumpListBuilder">
            <summary>
            Retrieve a taskbar jump list builder
            
            Fails if a jump list build operation has already been initiated, developers
            should make use of a single instance of nsIJumpListBuilder for building lists
            within an application.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.SetGroupIdForWindow(Gecko.Interfaces.mozIDOMWindow,Gecko.nsAStringBase)">
            <summary>
            Set the grouping id for a window.
            
            The runtime sets a default, global grouping id for all windows on startup.
            setGroupIdForWindow allows individual windows to be grouped independently
            on the taskbar. Ids should be unique to the app and window to insure
            conflicts with other pinned applications do no arise.
            
            The default group id is based on application.ini vendor, application, and
            version values, with a format of &apos;vendor.app.version&apos;. The default can be
            retrieved via defaultGroupId.
            
            Note, when a window changes taskbar window stacks, it is placed at the
            bottom of the new stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.PrepareFullScreen(Gecko.Interfaces.mozIDOMWindow,System.Boolean)">
            <summary>
            Notify the taskbar that a window is about to enter full screen mode.
            
            A Windows autohide taskbar will not behave correctly in all cases if
            it is not notified when full screen operations start and end.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWinTaskbar.PrepareFullScreenHWND(System.IntPtr,System.Boolean)">
            <summary>
            Notify the taskbar that a window identified by its HWND is about to enter
            full screen mode.
            
            A Windows autohide taskbar will not behave correctly in all cases if
            it is not notified when full screen operations start and end.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag.GetEnumeratorAttribute">
            <summary>
            Get a nsISimpleEnumerator whose elements are nsIProperty objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag.GetProperty(Gecko.nsAStringBase)">
            <summary>
            Get a property value for the given name.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't
            exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag.SetProperty(Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Set a property with the given name to the given value.  If
            a property already exists with the given name, it is
            overwritten.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag.DeleteProperty(Gecko.nsAStringBase)">
            <summary>
            Delete a property with the given name.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't
            exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag2.GetEnumeratorAttribute">
            <summary>
            Get a nsISimpleEnumerator whose elements are nsIProperty objects.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag2.GetProperty(Gecko.nsAStringBase)">
            <summary>
            Get a property value for the given name.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if a property with that name doesn't
            exist.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag2.GetPropertyAsInterface(Gecko.nsAStringBase,System.Guid@)">
            <summary>
            This method returns null if the value exists, but is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag2.Get(Gecko.nsAStringBase)">
            <summary>
            This method returns null if the value does not exist,
            or exists but is null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWritablePropertyBag2.HasKey(Gecko.nsAStringBase)">
            <summary>
            Check for the existence of a key.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIWyciwygChannel">
            <summary>
            A channel to  manage all cache-related interactions for layout
            when it is dealing with dynamic pages created through
            document.write(). This interface provides methods that will
            help layout save dynamic pages in cache for future retrievals.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The name of the request.  Often this is the URI of the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.IsPending">
            <summary>
            Indicates whether the request is pending. nsIRequest::isPending is
            true when there is an outstanding asynchronous event that will make
            the request no longer be pending.  Requests do not necessarily start
            out pending; in some cases, requests have to be explicitly initiated
            (e.g. nsIChannel implementations are only pending once asyncOpen
            returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            FALSE if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetStatusAttribute">
            <summary>
            The error status associated with the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.Resume">
            <summary>
            Resumes the current request.  This may have the effect of re-opening
            any underlying transport and will resume the delivery of data to
            any open streams.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetLoadGroupAttribute">
            <summary>
            The load group of this request.  While pending, the request is a
            member of the load group.  It is the responsibility of the request
            to implement this policy.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetLoadFlagsAttribute">
            <summary>
            The load flags of this request.  Bits 0-15 are reserved.
            
            When added to a load group, this request&apos;s load flags are merged with
            the load flags of the load group.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetOriginalURIAttribute">
            <summary>
            The original URI used to construct the channel. This is used in
            the case of a redirect or URI &quot;resolution&quot; (e.g. resolving a
            resource: URI to a file: URI) so that the original pre-redirect
            URI can still be obtained.  This is never null.  Attempts to
            set it to null must throw.
            
            NOTE: this is distinctly different from the http Referer (referring URI),
            which is typically the page that contained the original URI (accessible
            from nsIHttpChannel).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetURIAttribute">
            <summary>
            The URI corresponding to the channel.  Its value is immutable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetOwnerAttribute">
            <summary>
            The owner, corresponding to the entity that is responsible for this
            channel.  Used by the security manager to grant or deny privileges to
            mobile code loaded from this channel.
            
            NOTE: this is a strong reference to the owner, so if the owner is also
            holding a strong reference to the channel, care must be taken to
            explicitly drop its reference to the channel.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetNotificationCallbacksAttribute">
            <summary>
            The notification callbacks for the channel.  This is set by clients, who
            wish to provide a means to receive progress, status and protocol-specific
            notifications.  If this value is NULL, the channel implementation may use
            the notification callbacks from its load group.  The channel may also
            query the notification callbacks from its load group if its notification
            callbacks do not supply the requested interface.
            
            Interfaces commonly requested include: nsIProgressEventSink, nsIPrompt,
            and nsIAuthPrompt/nsIAuthPrompt2.
            
            When the channel is done, it must not continue holding references to
            this object.
            
            NOTE: A channel implementation should take care when &quot;caching&quot; an
            interface pointer queried from its notification callbacks.  If the
            notification callbacks are changed, then a cached interface pointer may
            become invalid and may therefore need to be re-queried.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetSecurityInfoAttribute">
            <summary>
            Transport-level security information (if any) corresponding to the
            channel.
            
            NOTE: In some circumstances TLS information is propagated onto
            non-nsIHttpChannel objects to indicate that their contents were likely
            delivered over TLS all the same.  For example, document.open() may
            create an nsWyciwygChannel to store the data that will be written to the
            document.  In that case, if the caller has TLS information, we propagate
            that info onto the nsWyciwygChannel given that it is likely that the
            caller will be writing data that was delivered over TLS to the document.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetContentTypeAttribute(Gecko.nsACStringBase)">
            <summary>
            The MIME type of the channel&apos;s content if available.
            
            NOTE: the content type can often be wrongly specified (e.g., wrong file
            extension, wrong MIME type, wrong document type stored on a server, etc.),
            and the caller most likely wants to verify with the actual data.
            
            Setting contentType before the channel has been opened provides a hint
            to the channel as to what the MIME type is.  The channel may ignore this
            hint in deciding on the actual MIME type that it will report.
            
            Setting contentType after onStartRequest has been fired or after open()
            is called will override the type determined by the channel.
            
            Setting contentType between the time that asyncOpen() is called and the
            time when onStartRequest is fired has undefined behavior at this time.
            
            The value of the contentType attribute is a lowercase string.  A value
            assigned to this attribute will be parsed and normalized as follows:
            1- any parameters (delimited with a &apos;;&apos;) will be stripped.
            2- if a charset parameter is given, then its value will replace the
            the contentCharset attribute of the channel.
            3- the stripped contentType will be lowercased.
            Any implementation of nsIChannel must follow these rules.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetContentCharsetAttribute(Gecko.nsACStringBase)">
            <summary>
            The character set of the channel&apos;s content if available and if applicable.
            This attribute only applies to textual data.
            
            The value of the contentCharset attribute is a mixedcase string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetContentLengthAttribute">
            <summary>
            The length of the data associated with the channel if available.  A value
            of -1 indicates that the content length is unknown. Note that this is a
            64-bit value and obsoletes the &quot;content-length&quot; property used on some
            channels.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.Open">
            <summary>
            Synchronously open the channel.
            </summary>
            <returns>
            blocking input stream to the channel&apos;s data.
            
            NOTE: nsIChannel implementations are not required to implement this
            method.  Moreover, since this method may block the calling thread, it
            should not be called on a thread that processes UI events.  Like any
            other nsIChannel method it must not be called on any thread other
            than the XPCOM main thread.
            
            NOTE: Implementations should throw NS_ERROR_IN_PROGRESS if the channel
            is reopened.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.Open2">
            <summary>
            Performs content security check and calls open()
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.AsyncOpen(Gecko.Interfaces.nsIStreamListener,Gecko.Interfaces.nsISupports)">
            <summary>
            Asynchronously open this channel.  Data is fed to the specified stream
            listener as it becomes available.  The stream listener&apos;s methods are
            called on the thread that calls asyncOpen and are not called until
            after asyncOpen returns.  If asyncOpen returns successfully, the
            channel promises to call at least onStartRequest and onStopRequest.
            
            If the nsIRequest object passed to the stream listener&apos;s methods is not
            this channel, an appropriate onChannelRedirect notification needs to be
            sent to the notification callbacks before onStartRequest is called.
            Once onStartRequest is called, all following method calls on aListener
            will get the request that was passed to onStartRequest.
            
            If the channel&apos;s and loadgroup&apos;s notification callbacks do not provide
            an nsIChannelEventSink when onChannelRedirect would be called, that&apos;s
            equivalent to having called onChannelRedirect.
            
            If asyncOpen returns successfully, the channel is responsible for
            keeping itself alive until it has called onStopRequest on aListener or
            called onChannelRedirect.
            
            Implementations are allowed to synchronously add themselves to the
            associated load group (if any).
            
            NOTE: Implementations should throw NS_ERROR_ALREADY_OPENED if the
            channel is reopened.
            </summary>
            <param name="aListener">
            the nsIStreamListener implementation
            </param>
            <param name="aContext">
            an opaque parameter forwarded to aListener&apos;s methods
            </param>
            <remarks>
            See nsIChannelEventSink for onChannelRedirect
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.AsyncOpen2(Gecko.Interfaces.nsIStreamListener)">
            <summary>
            Performs content security check and calls asyncOpen().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetContentDispositionAttribute">
            <summary>
            Access to the type implied or stated by the Content-Disposition header
            if available and if applicable. This allows determining inline versus
            attachment.
            
            Setting contentDisposition provides a hint to the channel about the
            disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will
            be used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty, and return
            DISPOSITION_ATTACHMENT if an invalid/noncompliant value is present.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetContentDispositionFilenameAttribute(Gecko.nsAStringBase)">
            <summary>
            Access to the filename portion of the Content-Disposition header if
            available and if applicable. This allows getting the preferred filename
            without having to parse it out yourself.
            
            Setting contentDispositionFilename provides a hint to the channel about
            the disposition.  If a normal Content-Disposition header is present its
            value will always be used.  If it is missing the hinted value will be
            used if set.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header doesn&apos;t
            exist for this type of channel, if the header is empty, if the header
            doesn&apos;t contain a filename portion, or the value of the filename
            attribute is empty/missing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetContentDispositionHeaderAttribute(Gecko.nsACStringBase)">
            <summary>
            Access to the raw Content-Disposition header if available and applicable.
            
            Implementations should throw NS_ERROR_NOT_AVAILABLE if the header either
            doesn&apos;t exist for this type of channel or is empty.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetLoadInfoAttribute">
            <summary>
            The LoadInfo object contains information about a network load, why it
            was started, and how we plan on using the resulting response.
            If a network request is redirected, the new channel will receive a new
            LoadInfo object. The new object will contain mostly the same
            information as the pre-redirect one, but updated as appropriate.
            For detailed information about what parts of LoadInfo are updated on
            redirect, see documentation on individual properties.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.WriteToCacheEntry(Gecko.nsAStringBase)">
            <summary>
            Append data to the cache entry; opens the cache entry if necessary.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.CloseCacheEntry(System.Int32)">
            <summary>
            Close the cache entry; subsequent writes have undefined behavior.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.SetSecurityInfo(Gecko.Interfaces.nsISupports)">
            <summary>
            Set the wyciwyg channels security info
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.SetCharsetAndSource(System.Int32,Gecko.nsACStringBase)">
            <summary>
            Store and read a charset and charset source on the wyciwyg channel.  These
            are opaque values to the channel; consumers who set them should know what
            they mean.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIWyciwygChannel.GetCharsetAndSource(System.Int32@,Gecko.nsACStringBase)">
            <summary>
            The return value is the charset.  Throws if either the charset or the
            source cannot be retrieved.  This is guaranteed to return a nonzero source
            and a nonempty charset if it does not throw.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIX509Cert">
            <summary>
            This represents a X.509 certificate.
            
            NOTE: Service workers persist x.509 certs in object form on disk.  If you
            change this uuid you probably need a hack in nsBinaryInputStream to
            read the old uuid.  If you change the format of the object
            serialization then more complex changes will be needed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetNicknameAttribute(Gecko.nsAStringBase)">
            <summary>
            A nickname for the certificate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetEmailAddressAttribute(Gecko.nsAStringBase)">
            <summary>
            The primary email address of the certificate, if present.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetIsBuiltInRootAttribute">
            <summary>
            Did this certificate ship with the platform as a built-in root?
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetEmailAddresses(System.UInt32@,System.IntPtr@)">
            <summary>
            Obtain a list of all email addresses
            contained in the certificate.
            </summary>
            <param name="length">
            The number of strings in the returned array.
            </param>
            <returns>
            An array of email addresses.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.ContainsEmailAddress(Gecko.nsAStringBase)">
            <summary>
            Check whether a given address is contained in the certificate.
            The comparison will convert the email address to lowercase.
            The behaviour for non ASCII characters is undefined.
            </summary>
            <param name="aEmailAddress">
            The address to search for.
            </param>
            <returns>
            True if the address is contained in the certificate.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetSubjectNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The subject owning the certificate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetCommonNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The subject&apos;s common name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetOrganizationAttribute(Gecko.nsAStringBase)">
            <summary>
            The subject&apos;s organization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetOrganizationalUnitAttribute(Gecko.nsAStringBase)">
            <summary>
            The subject&apos;s organizational unit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetSha256FingerprintAttribute(Gecko.nsAStringBase)">
            <summary>
            The fingerprint of the certificate&apos;s DER encoding,
            calculated using the SHA-256 algorithm.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetSha1FingerprintAttribute(Gecko.nsAStringBase)">
            <summary>
            The fingerprint of the certificate&apos;s DER encoding,
            calculated using the SHA1 algorithm.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetTokenNameAttribute(Gecko.nsAStringBase)">
            <summary>
            A human readable name identifying the hardware or
            software token the certificate is stored on.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetIssuerNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The subject identifying the issuer certificate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetSerialNumberAttribute(Gecko.nsAStringBase)">
            <summary>
            The serial number the issuer assigned to this certificate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetIssuerCommonNameAttribute(Gecko.nsAStringBase)">
            <summary>
            The issuer subject&apos;s common name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetIssuerOrganizationAttribute(Gecko.nsAStringBase)">
            <summary>
            The issuer subject&apos;s organization.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetIssuerOrganizationUnitAttribute(Gecko.nsAStringBase)">
            <summary>
            The issuer subject&apos;s organizational unit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetIssuerAttribute">
            <summary>
            The certificate used by the issuer to sign this certificate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetValidityAttribute">
            <summary>
            This certificate&apos;s validity period.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetDbKeyAttribute(Gecko.nsACStringBase)">
            <summary>
            A unique identifier of this certificate within the local storage.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetWindowTitleAttribute(Gecko.nsAStringBase)">
            <summary>
            A human readable identifier to label this certificate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetCertTypeAttribute">
            <summary>
            Type of this certificate
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetIsSelfSignedAttribute">
            <summary>
            True if the certificate is self-signed. CA issued
            certificates are always self-signed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetChain">
            <summary>
            Obtain a list of certificates that contains this certificate
            and the issuing certificates of all involved issuers,
            up to the root issuer.
            </summary>
            <returns>
            The chain of certifficates including the issuers.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetKeyUsagesAttribute(Gecko.nsAStringBase)">
            <summary>
            A comma separated list of localized strings representing the contents of
            the certificate&apos;s key usage extension, if present. The empty string if the
            certificate doesn&apos;t have the key usage extension, or has an empty extension.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetASN1StructureAttribute">
            <summary>
            This is the attribute which describes the ASN1 layout
            of the certificate.  This can be used when doing a
            &quot;pretty print&quot; of the certificate&apos;s ASN1 structure.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetRawDER(System.UInt32@,System.IntPtr@)">
            <summary>
            Obtain a raw binary encoding of this certificate
            in DER format.
            </summary>
            <param name="length">
            The number of bytes in the binary encoding.
            </param>
            <param name="data">
            The bytes representing the DER encoded certificate.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.Equals(Gecko.Interfaces.nsIX509Cert)">
            <summary>
            Test whether two certificate instances represent the
            same certificate.
            </summary>
            <returns>
            Whether the certificates are equal
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetSha256SubjectPublicKeyInfoDigestAttribute(Gecko.nsACStringBase)">
            <summary>
            The base64 encoding of the DER encoded public key info using the specified
            digest.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.ExportAsCMS(System.UInt32,System.UInt32@,System.IntPtr@)">
            <summary>
            Obtain the certificate wrapped in a PKCS#7 SignedData structure,
            with or without the certificate chain
            </summary>
            <param name="chainMode">
            Whether to include the chain (with or without the root),
            see CMS_CHAIN_MODE constants.
            </param>
            <param name="length">
            The number of bytes of the PKCS#7 data.
            </param>
            <param name="data">
            The bytes representing the PKCS#7 wrapped certificate.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetCert">
            <summary>
            Retrieves the NSS certificate object wrapped by this interface
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.GetAllTokenNames(System.UInt32@,System.IntPtr@)">
            <summary>
            Human readable names identifying all hardware or
            software tokens the certificate is stored on.
            </summary>
            <param name="length">
            On success, the number of entries in the returned array.
            </param>
            <returns>
            On success, an array containing the names of all tokens
            the certificate is stored on (may be empty).
            On failure the function throws/returns an error.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509Cert.MarkForPermDeletion">
            <summary>
            Either delete the certificate from all cert databases,
            or mark it as untrusted.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsICertVerificationCallback">
            <summary>
            Callback type for use with asyncVerifyCertAtTime.
            If aPRErrorCode is PRErrorCodeSuccess (i.e. 0), aVerifiedChain represents the
            verified certificate chain determined by asyncVerifyCertAtTime. aHasEVPolicy
            represents whether or not the end-entity certificate verified as EV.
            If aPRErrorCode is non-zero, it represents the error encountered during
            verification. aVerifiedChain is null in that case and aHasEVPolicy has no
            meaning.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIX509CertDB">
            <summary>
            This represents a service to access and manipulate
            X.509 certificates stored in a database.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.FindCertByNickname(Gecko.nsAStringBase)">
            <summary>
            Given a nickname,
            locate the matching certificate.
            </summary>
            <param name="aNickname">
            The nickname to be used as the key
            to find a certificate.
            </param>
            <returns>
            The matching certificate if found.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.FindCertByDBKey(System.String)">
            <summary>
            Will find a certificate based on its dbkey
            retrieved by getting the dbKey attribute of
            the certificate.
            </summary>
            <param name="aDBkey">
            Database internal key, as obtained using
            attribute dbkey in nsIX509Cert.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.FindEmailEncryptionCert(Gecko.nsAStringBase)">
            <summary>
            Find user&apos;s own email encryption certificate by nickname.
            </summary>
            <param name="aNickname">
            The nickname to be used as the key
            to find the certificate.
            </param>
            <returns>
            The matching certificate if found.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.FindEmailSigningCert(Gecko.nsAStringBase)">
            <summary>
            Find user&apos;s own email signing certificate by nickname.
            </summary>
            <param name="aNickname">
            The nickname to be used as the key
            to find the certificate.
            </param>
            <returns>
            The matching certificate if found.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.FindCertByEmailAddress(System.String)">
            <summary>
            Find a certificate by email address.
            </summary>
            <param name="aEmailAddress">
            The email address to be used as the key
            to find the certificate.
            </param>
            <returns>
            The matching certificate if found.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.ImportCertificates(System.Byte[],System.UInt32,System.UInt32,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Use this to import a stream sent down as a mime type into
            the certificate database on the default token.
            The stream may consist of one or more certificates.
            </summary>
            <param name="data">
            The raw data to be imported
            </param>
            <param name="length">
            The length of the data to be imported
            </param>
            <param name="type">
            The type of the certificate, see constants in nsIX509Cert
            </param>
            <param name="ctx">
            A UI context.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.ImportEmailCertificate(System.Byte[],System.UInt32,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Import another person&apos;s email certificate into the database.
            </summary>
            <param name="data">
            The raw data to be imported
            </param>
            <param name="length">
            The length of the data to be imported
            </param>
            <param name="ctx">
            A UI context.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.ImportUserCertificate(System.Byte[],System.UInt32,Gecko.Interfaces.nsIInterfaceRequestor)">
            <summary>
            Import a personal certificate into the database, assuming
            the database already contains the private key for this certificate.
            </summary>
            <param name="data">
            The raw data to be imported
            </param>
            <param name="length">
            The length of the data to be imported
            </param>
            <param name="ctx">
            A UI context.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.DeleteCertificate(Gecko.Interfaces.nsIX509Cert)">
            <summary>
            Delete a certificate stored in the database.
            </summary>
            <param name="aCert">
            Delete this certificate.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.SetCertTrust(Gecko.Interfaces.nsIX509Cert,System.UInt32,System.UInt32)">
            <summary>
            Modify the trust that is stored and associated to a certificate within
            a database. Separate trust is stored for
            One call manipulates the trust for one trust type only.
            See the trust type constants defined within this interface.
            </summary>
            <param name="cert">
            Change the stored trust of this certificate.
            </param>
            <param name="type">
            The type of the certificate. See nsIX509Cert.
            </param>
            <param name="trust">
            A bitmask. The new trust for the possible usages.
            See the trust constants defined within this interface.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.SetCertTrustFromString(Gecko.Interfaces.nsIX509Cert,Gecko.nsACStringBase)">
            <summary>
            
            </summary>
            <param name="cert">
            The certificate for which to modify trust.
            </param>
            <param name="trustString">
            decoded by CERT_DecodeTrustString. 3 comma separated
            characters, indicating SSL, Email, and Obj signing
            trust.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.IsCertTrusted(Gecko.Interfaces.nsIX509Cert,System.UInt32,System.UInt32)">
            <summary>
            Query whether a certificate is trusted for a particular use.
            </summary>
            <param name="cert">
            Obtain the stored trust of this certificate.
            </param>
            <param name="certType">
            The type of the certificate. See nsIX509Cert.
            </param>
            <param name="trustType">
            A single bit from the usages constants defined
            within this interface.
            </param>
            <returns>
            Returns true if the certificate is trusted for the given use.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.ImportCertsFromFile(Gecko.Interfaces.nsIFile,System.UInt32)">
            <summary>
            Import certificate(s) from file
            </summary>
            <param name="aFile">
            Identifies a file that contains the certificate
            to be imported.
            </param>
            <param name="aType">
            Describes the type of certificate that is going to
            be imported. See type constants in nsIX509Cert.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.ImportPKCS12File(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIFile)">
            <summary>
            Import a PKCS#12 file containing cert(s) and key(s) into the database.
            </summary>
            <param name="aToken">
            Optionally limits the scope of
            this function to a token device.
            Can be null to mean any token.
            </param>
            <param name="aFile">
            Identifies a file that contains the data
            to be imported.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.ExportPKCS12File(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIFile,System.UInt32,Gecko.Interfaces.nsIX509Cert[])">
            <summary>
            Export a set of certs and keys from the database to a PKCS#12 file.
            </summary>
            <param name="aToken">
            Optionally limits the scope of
            this function to a token device.
            Can be null to mean any token.
            </param>
            <param name="aFile">
            Identifies a file that will be filled with the data
            to be exported.
            </param>
            <param name="count">
            The number of certificates to be exported.
            </param>
            <param name="aCerts">
            The array of all certificates to be exported.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.VerifySignedDirectoryAsync(System.UInt32,Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsIVerifySignedDirectoryCallback)">
            <summary>
            Verifies the signature on a directory representing an unpacked signed
            JAR file. To be considered valid, there must be exactly one signature
            on the directory structure and that signature must have signed every
            entry. Further, the signature must come from a certificate that
            is trusted for code signing.
            
            On success NS_OK and the trusted certificate that signed the
            unpacked JAR are returned.
            
            On failure, an error code is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.VerifySignedManifestAsync(System.UInt32,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIInputStream,Gecko.Interfaces.nsIVerifySignedManifestCallback)">
            <summary>
            Given streams containing a signature and a manifest file, verifies
            that the signature is valid for the manifest. The signature must
            come from a certificate that is trusted for code signing and that
            was issued by the given trusted root.
            
            On success, NS_OK and the trusted certificate that signed the
            Manifest are returned.
            
            On failure, an error code is returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.VerifyCertAtTime(Gecko.Interfaces.nsIX509Cert,System.Int64,System.UInt32,System.String,System.UInt64,Gecko.Interfaces.nsIX509CertList@,System.Boolean@)">
            <summary>
            Warning: This interface is inteded to use only for testing only as:
            1. It can create IO on the main thread.
            2. It is in constant change, so in/out can change at any release.
            
            Obtain the verification result for a cert given a particular usage.
            On success, the call returns 0, the chain built during verification,
            and whether the cert is good for EV usage.
            On failure, the call returns the PRErrorCode for the verification failure
            </summary>
            <param name="aCert">
            Obtain the stored trust of this certificate
            </param>
            <param name="aUsage">
            a integer representing the usage from NSS
            </param>
            <param name="aFlags">
            flags as described above
            </param>
            <param name="aHostname">
            the (optional) hostname to verify for
            </param>
            <param name="aTime">
            the time at which to verify, in seconds since the epoch
            </param>
            <param name="aVerifiedChain">
            chain of verification up to the root if success
            </param>
            <param name="aHasEVPolicy">
            bool that signified that the cert was an EV cert
            </param>
            <returns>
            0 if success or the value or the error code for the verification
            failure
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertDB.AsyncVerifyCertAtTime(Gecko.Interfaces.nsIX509Cert,System.Int64,System.UInt32,System.String,System.UInt64,Gecko.Interfaces.nsICertVerificationCallback)">
            <summary>
            Similar to the above, but asynchronous. As a result, use of this API is not
            limited to tests.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertList.GetRawCertList">
            <summary>
            Returns the raw, backing cert list.
            Must be called only from functions where an nsNSSShutDownPreventionLock
            has been acquired.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertList.Equals(Gecko.Interfaces.nsIX509CertList)">
            <summary>
            Test whether two certificate list instances represent the same
            certificate list.
            </summary>
            <returns>
            Whether the certificate lists are equal
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIX509CertValidity">
            <summary>
            Information on the validity period of a X.509 certificate.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotBeforeAttribute">
            <summary>
            The earliest point in time where
            a certificate is valid.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotBeforeLocalTimeAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;notBefore&quot; attribute formatted as a time string
            according to the environment locale,
            according to the environment time zone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotBeforeLocalDayAttribute(Gecko.nsAStringBase)">
            <summary>
            The day portion of &quot;notBefore&quot;
            formatted as a time string
            according to the environment locale,
            according to the environment time zone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotBeforeGMTAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;notBefore&quot; attribute formatted as a string
            according to the environment locale,
            displayed as GMT / UTC.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotAfterAttribute">
            <summary>
            The latest point in time where
            a certificate is valid.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotAfterLocalTimeAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;notAfter&quot; attribute formatted as a time string
            according to the environment locale,
            according to the environment time zone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotAfterLocalDayAttribute(Gecko.nsAStringBase)">
            <summary>
            The day portion of &quot;notAfter&quot;
            formatted as a time string
            according to the environment locale,
            according to the environment time zone.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIX509CertValidity.GetNotAfterGMTAttribute(Gecko.nsAStringBase)">
            <summary>
            &quot;notAfter&quot; attribute formatted as a time string
            according to the environment locale,
            displayed as GMT / UTC.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXBLAccessible">
            <summary>
            XBL controls can implement this interface to provide own implementation of
            accessible properties.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXBLAccessible.GetAccessibleNameAttribute(Gecko.nsAStringBase)">
            <summary>
            Return accessible name.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.AddEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            This method allows the registration of event listeners on the event target.
            If an EventListener is added to an EventTarget while it is processing an
            event, it will not be triggered by the current actions but may be
            triggered during a later stage of event flow, such as the bubbling phase.
            
            If multiple identical EventListeners are registered on the same
            EventTarget with the same parameters the duplicate instances are
            discarded. They do not cause the EventListener to be called twice
            and since they are discarded they do not need to be removed with the
            removeEventListener method.
            </summary>
            <param name="type">
            The event type for which the user is registering
            </param>
            <param name="listener">
            The listener parameter takes an interface
            implemented by the user which contains the methods
            to be called when the event occurs.
            </param>
            <param name="useCapture">
            If true, useCapture indicates that the user
            wishes to initiate capture. After initiating
            capture, all events of the specified type will be
            dispatched to the registered EventListener before
            being dispatched to any EventTargets beneath them
            in the tree. Events which are bubbling upward
            through the tree will not trigger an
            EventListener designated to use capture.
            </param>
            <param name="wantsUntrusted">
            If false, the listener will not receive any
            untrusted events (see above), if true, the
            listener will receive events whether or not
            they&apos;re trusted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.AddSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            addSystemEventListener() adds an event listener of aType to the system
            group.  Typically, core code should use system group for listening to
            content (i.e., non-chrome) element&apos;s events.  If core code uses
            nsIDOMEventTarget::AddEventListener for a content node, it means
            that the listener cannot listen the event when web content calls
            stopPropagation() of the event.
            </summary>
            <param name="aType">
            An event name you&apos;re going to handle.
            </param>
            <param name="aListener">
            An event listener.
            </param>
            <param name="aUseCapture">
            TRUE if you want to listen the event in capturing
            phase.  Otherwise, FALSE.
            </param>
            <param name="aWantsUntrusted">
            TRUE if you want to handle untrusted events.
            Otherwise, FALSE.
            </param>
            <returns>
            NS_OK if succeed.  Otherwise, NS_ERROR_*.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.RemoveEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            This method allows the removal of event listeners from the event
            target. If an EventListener is removed from an EventTarget while it
            is processing an event, it will not be triggered by the current actions.
            EventListeners can never be invoked after being removed.
            Calling removeEventListener with arguments which do not identify any
            currently registered EventListener on the EventTarget has no effect.
            </summary>
            <param name="type">
            Specifies the event type of the EventListener being
            removed.
            </param>
            <param name="listener">
            The EventListener parameter indicates the
            EventListener to be removed.
            </param>
            <param name="useCapture">
            Specifies whether the EventListener being
            removed was registered as a capturing listener or
            not. If a listener was registered twice, one with
            capture and one without, each must be removed
            separately. Removal of a capturing listener does
            not affect a non-capturing version of the same
            listener, and vice versa.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.RemoveSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            removeSystemEventListener() should be used if you have used
            addSystemEventListener().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.DispatchEvent(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            This method allows the dispatch of events into the implementations
            event model. Events dispatched in this manner will have the same
            capturing and bubbling behavior as events dispatched directly by the
            implementation. The target of the event is the EventTarget on which
            dispatchEvent is called.
            </summary>
            <param name="evt">
            Specifies the event type, behavior, and contextual
            information to be used in processing the event.
            </param>
            <returns>
            Indicates whether any of the listeners which handled the
            event called preventDefault. If preventDefault was called
            the value is false, else the value is true.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            INVALID_STATE_ERR:: Raised if the Event's type was
            not specified by initializing the event before
            dispatchEvent was called. Specification of the Event's
            type as null or an empty string will also trigger this
            exception.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.GetTargetForDOMEvent">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of DOMEvents.
            Usually |this| is returned, but for example global object returns
            the outer object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.GetTargetForEventTargetChain">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of the event and when constructing event target chain.
            Usually |this| is returned, but for example global object returns
            the inner object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.PreHandleEvent(System.IntPtr)">
            <summary>
            Called before the capture phase of the event flow.
            This is used to create the event target chain and implementations
            should set the necessary members of EventChainPreVisitor.
            At least aVisitor.mCanHandle must be set,
            usually also aVisitor.mParentTarget if mCanHandle is PR_TRUE.
            First one tells that this object can handle the aVisitor.mEvent event and
            the latter one is the possible parent object for the event target chain.
            </summary>
            <param name="aVisitor">
            the visitor object which is used to create the
            event target chain for event dispatching.
            </param>
            <remarks>
            See EventDispatcher.h for more documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.WillHandleEvent(System.IntPtr)">
            <summary>
            If EventChainPreVisitor.mWantsWillHandleEvent is set PR_TRUE,
            called just before possible event handlers on this object will be called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.PostHandleEvent(System.IntPtr)">
            <summary>
            Called after the bubble phase of the system event group.
            The default handling of the event should happen here.
            </summary>
            <param name="aVisitor">
            the visitor object which is used during post handling.
            </param>
            <remarks>
            See EventDispatcher.h for documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.DispatchDOMEvent(System.IntPtr,Gecko.Interfaces.nsIDOMEvent,System.IntPtr,System.IntPtr)">
            <summary>
            Dispatch an event.
            </summary>
            <param name="aEvent">
            the event that is being dispatched.
            </param>
            <param name="aDOMEvent">
            the event that is being dispatched, use if you want to
            dispatch nsIDOMEvent, not only WidgetEvent.
            </param>
            <param name="aPresContext">
            the current presentation context, can be nullptr.
            </param>
            <param name="aEventStatus">
            the status returned from the function, can be nullptr.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestEventTarget.GetContextForEventHandlers(System.Int32@)">
            <summary>
            Get the script context in which the event handlers should be run.
            May return null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.AddEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            This method allows the registration of event listeners on the event target.
            If an EventListener is added to an EventTarget while it is processing an
            event, it will not be triggered by the current actions but may be
            triggered during a later stage of event flow, such as the bubbling phase.
            
            If multiple identical EventListeners are registered on the same
            EventTarget with the same parameters the duplicate instances are
            discarded. They do not cause the EventListener to be called twice
            and since they are discarded they do not need to be removed with the
            removeEventListener method.
            </summary>
            <param name="type">
            The event type for which the user is registering
            </param>
            <param name="listener">
            The listener parameter takes an interface
            implemented by the user which contains the methods
            to be called when the event occurs.
            </param>
            <param name="useCapture">
            If true, useCapture indicates that the user
            wishes to initiate capture. After initiating
            capture, all events of the specified type will be
            dispatched to the registered EventListener before
            being dispatched to any EventTargets beneath them
            in the tree. Events which are bubbling upward
            through the tree will not trigger an
            EventListener designated to use capture.
            </param>
            <param name="wantsUntrusted">
            If false, the listener will not receive any
            untrusted events (see above), if true, the
            listener will receive events whether or not
            they&apos;re trusted
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.AddSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean,System.Boolean,System.Byte)">
            <summary>
            addSystemEventListener() adds an event listener of aType to the system
            group.  Typically, core code should use system group for listening to
            content (i.e., non-chrome) element&apos;s events.  If core code uses
            nsIDOMEventTarget::AddEventListener for a content node, it means
            that the listener cannot listen the event when web content calls
            stopPropagation() of the event.
            </summary>
            <param name="aType">
            An event name you&apos;re going to handle.
            </param>
            <param name="aListener">
            An event listener.
            </param>
            <param name="aUseCapture">
            TRUE if you want to listen the event in capturing
            phase.  Otherwise, FALSE.
            </param>
            <param name="aWantsUntrusted">
            TRUE if you want to handle untrusted events.
            Otherwise, FALSE.
            </param>
            <returns>
            NS_OK if succeed.  Otherwise, NS_ERROR_*.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.RemoveEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            This method allows the removal of event listeners from the event
            target. If an EventListener is removed from an EventTarget while it
            is processing an event, it will not be triggered by the current actions.
            EventListeners can never be invoked after being removed.
            Calling removeEventListener with arguments which do not identify any
            currently registered EventListener on the EventTarget has no effect.
            </summary>
            <param name="type">
            Specifies the event type of the EventListener being
            removed.
            </param>
            <param name="listener">
            The EventListener parameter indicates the
            EventListener to be removed.
            </param>
            <param name="useCapture">
            Specifies whether the EventListener being
            removed was registered as a capturing listener or
            not. If a listener was registered twice, one with
            capture and one without, each must be removed
            separately. Removal of a capturing listener does
            not affect a non-capturing version of the same
            listener, and vice versa.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.RemoveSystemEventListener(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMEventListener,System.Boolean)">
            <summary>
            removeSystemEventListener() should be used if you have used
            addSystemEventListener().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.DispatchEvent(Gecko.Interfaces.nsIDOMEvent)">
            <summary>
            This method allows the dispatch of events into the implementations
            event model. Events dispatched in this manner will have the same
            capturing and bubbling behavior as events dispatched directly by the
            implementation. The target of the event is the EventTarget on which
            dispatchEvent is called.
            </summary>
            <param name="evt">
            Specifies the event type, behavior, and contextual
            information to be used in processing the event.
            </param>
            <returns>
            Indicates whether any of the listeners which handled the
            event called preventDefault. If preventDefault was called
            the value is false, else the value is true.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            INVALID_STATE_ERR:: Raised if the Event's type was
            not specified by initializing the event before
            dispatchEvent was called. Specification of the Event's
            type as null or an empty string will also trigger this
            exception.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.GetTargetForDOMEvent">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of DOMEvents.
            Usually |this| is returned, but for example global object returns
            the outer object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.GetTargetForEventTargetChain">
            <summary>
            Returns the nsIDOMEventTarget object which should be used as the target
            of the event and when constructing event target chain.
            Usually |this| is returned, but for example global object returns
            the inner object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.PreHandleEvent(System.IntPtr)">
            <summary>
            Called before the capture phase of the event flow.
            This is used to create the event target chain and implementations
            should set the necessary members of EventChainPreVisitor.
            At least aVisitor.mCanHandle must be set,
            usually also aVisitor.mParentTarget if mCanHandle is PR_TRUE.
            First one tells that this object can handle the aVisitor.mEvent event and
            the latter one is the possible parent object for the event target chain.
            </summary>
            <param name="aVisitor">
            the visitor object which is used to create the
            event target chain for event dispatching.
            </param>
            <remarks>
            See EventDispatcher.h for more documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.WillHandleEvent(System.IntPtr)">
            <summary>
            If EventChainPreVisitor.mWantsWillHandleEvent is set PR_TRUE,
            called just before possible event handlers on this object will be called.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.PostHandleEvent(System.IntPtr)">
            <summary>
            Called after the bubble phase of the system event group.
            The default handling of the event should happen here.
            </summary>
            <param name="aVisitor">
            the visitor object which is used during post handling.
            </param>
            <remarks>
            See EventDispatcher.h for documentation about aVisitor.
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.DispatchDOMEvent(System.IntPtr,Gecko.Interfaces.nsIDOMEvent,System.IntPtr,System.IntPtr)">
            <summary>
            Dispatch an event.
            </summary>
            <param name="aEvent">
            the event that is being dispatched.
            </param>
            <param name="aDOMEvent">
            the event that is being dispatched, use if you want to
            dispatch nsIDOMEvent, not only WidgetEvent.
            </param>
            <param name="aPresContext">
            the current presentation context, can be nullptr.
            </param>
            <param name="aEventStatus">
            the status returned from the function, can be nullptr.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequestUpload.GetContextForEventHandlers(System.Int32@)">
            <summary>
            Get the script context in which the event handlers should be run.
            May return null.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXMLHttpRequest">
            <summary>
            Mozilla&apos;s XMLHttpRequest is modelled after Microsoft&apos;s IXMLHttpRequest
            object. The goal has been to make Mozilla&apos;s version match Microsoft&apos;s
            version as closely as possible, but there are bound to be some differences.
            
            In general, Microsoft&apos;s documentation for IXMLHttpRequest can be used.
            Mozilla&apos;s interface definitions provide some additional documentation. The
            web page to look at is http://www.mozilla.org/xmlextras
            
            Mozilla&apos;s XMLHttpRequest object can be created in JavaScript like this:
            new XMLHttpRequest()
            compare to Internet Explorer:
            new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;)
            
            From JavaScript, the methods and properties visible in the XMLHttpRequest
            object are a combination of nsIXMLHttpRequest and nsIJSXMLHttpRequest;
            there is no need to differentiate between those interfaces.
            
            From native code, the way to set up onload and onerror handlers is a bit
            different. Here is a comment from Johnny Stenback &lt;jst@netscape.com&gt;:
            
            The mozilla implementation of nsIXMLHttpRequest implements the interface
            nsIDOMEventTarget and that&apos;s how you&apos;re supported to add event listeners.
            Try something like this:
            
            nsCOMPtr&lt;nsIDOMEventTarget&gt; target(do_QueryInterface(myxmlhttpreq));
            
            target-&gt;AddEventListener(NS_LITERAL_STRING(&quot;load&quot;), mylistener,
            PR_FALSE)
            
            where mylistener is your event listener object that implements the
            interface nsIDOMEventListener.
            
            The &apos;onload&apos;, &apos;onerror&apos;, and &apos;onreadystatechange&apos; attributes moved to
            nsIJSXMLHttpRequest, but if you&apos;re coding in C++ you should avoid using
            those.
            
            Conclusion: Do not use event listeners on XMLHttpRequest from C++, unless
            you&apos;re aware of all the security implications.  And then think twice about
            it.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetChannelAttribute">
            <summary>
            The request uses a channel in order to perform the
            request.  This attribute represents the channel used
            for the request.  NULL if the channel has not yet been
            created.
            
            Mozilla only. Requires elevated privileges to access.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetResponseXMLAttribute">
            <summary>
            The response to the request is parsed as if it were a
            text/xml stream. This attributes represents the response as
            a DOM Document object. NULL if the request is unsuccessful or
            has not yet been sent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetResponseTextAttribute(Gecko.nsAStringBase)">
            <summary>
            The response to the request as text.
            NULL if the request is unsuccessful or
            has not yet been sent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetResponseTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            Determine a response format which response attribute returns.
            empty string (initial value) or &quot;text&quot;: as text.
            &quot;arraybuffer&quot;: as a typed array ArrayBuffer.
            &quot;blob&quot;: as a File API Blob.
            &quot;document&quot;: as a DOM Document object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetResponseAttribute(System.IntPtr)">
            <summary>
            The response to the request as a specified format by responseType.
            NULL if the request is unsuccessful or
            has not yet been sent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetStatusAttribute">
            <summary>
            The status of the response to the request for HTTP requests.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetStatusTextAttribute(Gecko.nsACStringBase)">
            <summary>
            The string representing the status of the response for
            HTTP requests.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.Abort">
            <summary>
            If the request has been sent already, this method will
            abort the request.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetAllResponseHeaders(Gecko.nsACStringBase)">
            <summary>
            Returns all of the response headers as a string for HTTP
            requests.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetResponseHeader(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Returns the text of the header with the specified name for
            HTTP requests.
            </summary>
            <param name="header">
            The name of the header to retrieve
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.Open(Gecko.nsACStringBase,Gecko.nsAUTF8StringBase,System.Boolean,Gecko.nsAStringBase,Gecko.nsAStringBase,System.Byte)">
            <summary>
            Meant to be a script-only method for initializing a request.
            
            If there is an &quot;active&quot; request (that is, if open() has been called
            already), this is equivalent to calling abort() and then open().
            </summary>
            <param name="method">
            The HTTP method - either &quot;POST&quot; or &quot;GET&quot;. Ignored
            if the URL is not a HTTP URL.
            </param>
            <param name="url">
            The URL to which to send the request.
            </param>
            <param name="async">
            (optional) Whether the request is synchronous or
            asynchronous i.e. whether send returns only after
            the response is received or if it returns immediately after
            sending the request. In the latter case, notification
            of completion is sent through the event listeners.
            The default value is true.
            </param>
            <param name="user">
            (optional) A username for authentication if necessary.
            The default value is the empty string
            </param>
            <param name="password">
            (optional) A password for authentication if necessary.
            The default value is the empty string
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.Send(Gecko.Interfaces.nsIVariant)">
            <summary>
            Sends the request. If the request is asynchronous, returns
            immediately after sending the request. If it is synchronous
            returns only after the response has been received.
            
            All event listeners must be set before calling send().
            
            After the initial response, all event listeners will be cleared.
            XXXbz what does that mean, exactly?
            </summary>
            <param name="body">
            Either an instance of nsIDOMDocument, nsIInputStream
            or a string (nsISupportsString in the native calling
            case). This is used to populate the body of the
            HTTP request if the HTTP request method is &quot;POST&quot;.
            If the parameter is a nsIDOMDocument, it is serialized.
            If the parameter is a nsIInputStream, then it must be
            compatible with nsIUploadChannel.setUploadStream, and a
            Content-Length header will be added to the HTTP request
            with a value given by nsIInputStream.available.  Any
            headers included at the top of the stream will be
            treated as part of the message body.  The MIME type of
            the stream should be specified by setting the Content-
            Type header via the setRequestHeader method before
            calling send.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.SetRequestHeader(Gecko.nsACStringBase,Gecko.nsACStringBase)">
            <summary>
            Sets a HTTP request header for HTTP requests. You must call open
            before setting the request headers.
            </summary>
            <param name="header">
            The name of the header to set in the request.
            </param>
            <param name="value">
            The body of the header.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetTimeoutAttribute">
            <summary>
            The amount of milliseconds a request can take before being terminated.
            Initially zero. Zero means there is no timeout.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.OverrideMimeType(Gecko.nsAStringBase)">
            <summary>
            Override the mime type returned by the server (if any). This may
            be used, for example, to force a stream to be treated and parsed
            as text/xml, even if the server does not report it as such. This
            must be done before the &lt;code&gt;send&lt;/code&gt; method is invoked.
            </summary>
            <param name="mimetype">
            The type used to override that returned by the server
            (if any).
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetMozBackgroundRequestAttribute">
            <summary>
            Set to true if this is a background service request. This will
            prevent a load group being associated with the request, and
            suppress any security dialogs from being shown * to the user.
            In the cases where one of those dialogs would be shown, the request
            will simply fail instead.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetWithCredentialsAttribute">
            <summary>
            When set to true attempts to make cross-site Access-Control requests
            with credentials such as cookies and authorization headers.
            
            Never affects same-site requests.
            
            Defaults to false.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.Init(Gecko.Interfaces.nsIPrincipal,System.IntPtr,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsILoadGroup)">
            <summary>
            Initialize the object for use from C++ code with the principal, script
            context, and owner window that should be used.
            </summary>
            <param name="principal">
            The principal to use for the request. This must not be
            null.
            </param>
            <param name="globalObject">
            The associated global for the request. Can be the
            outer window, a sandbox, or a backstage pass.
            May be null, but then the request cannot create a
            document.
            </param>
            <param name="baseURI">
            The base URI to use when resolving relative URIs. May be
            null.
            </param>
            <param name="loadGroup">
            An optional load group to use when performing the request.
            This will be used even if the global has a window with a
            load group.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetUploadAttribute">
            <summary>
            Upload process can be tracked by adding event listener to |upload|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetOnreadystatechangeAttribute(System.IntPtr)">
            <summary>
            Meant to be a script-only mechanism for setting a callback function.
            The attribute is expected to be JavaScript function object. When the
            readyState changes, the callback function will be called.
            This attribute should not be used from native code!!
            
            After the initial response, all event listeners will be cleared.
            XXXbz what does that mean, exactly?
            
            Call open() before setting an onreadystatechange listener.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetMozAnonAttribute">
            <summary>
            If true, the request will be sent without cookie and authentication
            headers.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXMLHttpRequest.GetMozSystemAttribute">
            <summary>
            If true, the same origin policy will not be enforced on the request.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIJSXMLHttpRequest">
            <summary>
            
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPConnectJSObjectHolder">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnectWrappedNative.FindInterfaceWithMember(System.IntPtr)">
            <summary>
            These are here as an aid to nsIXPCScriptable implementors
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCWrappedJSObjectGetter">
            <summary>
            This is a sort of a placeholder interface. It is not intended to be
            implemented. It exists to give the nsIXPCSecurityManager an iid on
            which to gate a specific activity in XPConnect.
            
            That activity is...
            
            When JavaScript code uses a component that is itself implemented in
            JavaScript then XPConnect will build a wrapper rather than directly
            expose the JSObject of the component. This allows components implemented
            in JavaScript to &apos;look&apos; just like any other xpcom component (from the
            perspective of the JavaScript caller). This insulates the component from
            the caller and hides any properties or methods that are not part of the
            interface as declared in xpidl. Usually this is a good thing.
            
            However, in some cases it is useful to allow the JS caller access to the
            JS component&apos;s underlying implementation. In order to facilitate this
            XPConnect supports the &apos;wrappedJSObject&apos; property. The caller code can do:
            
            &apos;foo&apos; is some xpcom component (that might be implemented in JS).
            try {
            var bar = foo.wrappedJSObject;
            if(bar) {
            bar is the underlying JSObject. Do stuff with it here.
            }
            } catch(e) {
            security exception?
            }
            
            Recall that &apos;foo&apos; above is an XPConnect wrapper, not the underlying JS
            object. The property get &quot;foo.wrappedJSObject&quot; will only succeed if three
            conditions are met:
            
            1) &apos;foo&apos; really is an XPConnect wrapper around a JSObject.
            2) The underlying JSObject actually implements a &quot;wrappedJSObject&quot;
            property that returns a JSObject. This is called by XPConnect. This
            restriction allows wrapped objects to only allow access to the underlying
            JSObject if they choose to do so. Ususally this just means that &apos;foo&apos;
            would have a property tht looks like:
            this.wrappedJSObject = this.
            3) The implemementation of nsIXPCSecurityManager (if installed) allows
            a property get on the interface below. Although the JSObject need not
            implement &apos;nsIXPCWrappedJSObjectGetter&apos;, XPConnect will ask the
            security manager if it is OK for the caller to access the only method
            in nsIXPCWrappedJSObjectGetter before allowing the activity. This fits
            in with the security manager paradigm and makes control over accessing
            the property on this interface the control factor for getting the
            underlying wrapped JSObject of a JS component from JS code.
            
            Notes:
            
            a) If &apos;foo&apos; above were the underlying JSObject and not a wrapper at all,
            then this all just works and XPConnect is not part of the picture at all.
            b) One might ask why &apos;foo&apos; should not just implement an interface through
            which callers might get at the underlying object. There are three reasons:
            i)   XPConnect would still have to do magic since JSObject is not a
            scriptable type.
            ii)  JS Components might use aggregation (like C++ objects) and have
            different JSObjects for different interfaces &apos;within&apos; an aggregate
            object. But, using an additional interface only allows returning one
            underlying JSObject. However, this allows for the possibility that
            each of the aggregte JSObjects could return something different.
            Note that one might do: this.wrappedJSObject = someOtherObject;
            iii) Avoiding the explicit interface makes it easier for both the caller
            and the component.
            
            Anyway, some future implementation of nsIXPCSecurityManager might want
            do special processing on &apos;nsIXPCSecurityManager::CanGetProperty&apos; when
            the interface id is that of nsIXPCWrappedJSObjectGetter.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCFunctionThisTranslator">
            <summary>
            
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.InitClassesWithNewWrappedGlobal(System.IntPtr,Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIPrincipal,System.UInt32,System.IntPtr)">
            <summary>
            Creates a new global object using the given aCOMObj as the global
            object. The object will be set up according to the flags (defined
            below). If you do not pass INIT_JS_STANDARD_CLASSES, then aCOMObj
            must implement nsIXPCScriptable so it can resolve the standard
            classes when asked by the JS engine.
            </summary>
            <param name="aJSContext">
            the context to use while creating the global object.
            </param>
            <param name="aCOMObj">
            the native object that represents the global object.
            </param>
            <param name="aPrincipal">
            the principal of the code that will run in this
            compartment. Can be null if not on the main thread.
            </param>
            <param name="aFlags">
            one of the flags below specifying what options this
            global object wants.
            </param>
            <param name="aOptions">
            JSAPI-specific options for the new compartment.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.WrapNative(System.IntPtr,System.IntPtr,Gecko.Interfaces.nsISupports,System.Guid@)">
            <summary>
            wrapNative will create a new JSObject or return an existing one.
            
            This method now correctly deals with cases where the passed in xpcom
            object already has an associated JSObject for the cases:
            1) The xpcom object has already been wrapped for use in the same scope
            as an nsIXPConnectWrappedNative.
            2) The xpcom object is in fact a nsIXPConnectWrappedJS and thus already
            has an underlying JSObject.
            
            It *might* be possible to QueryInterface the nsIXPConnectJSObjectHolder
            returned by the method into a nsIXPConnectWrappedNative or a
            nsIXPConnectWrappedJS.
            
            This method will never wrap the JSObject involved in an
            XPCNativeWrapper before returning.
            
            Returns:
            success:
            NS_OK
            failure:
            NS_ERROR_XPC_BAD_CONVERT_NATIVE
            NS_ERROR_XPC_CANT_GET_JSOBJECT_OF_DOM_OBJECT
            NS_ERROR_FAILURE
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.WrapNativeHolder(System.IntPtr,System.IntPtr,Gecko.Interfaces.nsISupports,System.Guid@)">
            <summary>
            Same as wrapNative, but it returns the JSObject in an nsIXPConnectJSObjectHolder.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.WrapNativeToJSVal(System.IntPtr,System.IntPtr,Gecko.Interfaces.nsISupports,System.IntPtr,Gecko.UUID,System.Boolean,SpiderMonkey.JSVal@)">
            <summary>
            Same as wrapNative, but it returns the JSObject in aVal. C++ callers
            must ensure that aVal is rooted.
            aIID may be null, it means the same as passing in
            &amp;NS_GET_IID(nsISupports) but when passing in null certain shortcuts
            can be taken because we know without comparing IIDs that the caller is
            asking for an nsISupports wrapper.
            If aAllowWrapper, then the returned value will be wrapped in the proper
            type of security wrapper on top of the XPCWrappedNative (if needed).
            This method doesn&apos;t push aJSContext on the context stack, so the caller
            is required to push it if the top of the context stack is not equal to
            aJSContext.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.WrapJS(System.IntPtr,System.IntPtr,System.Guid@)">
            <summary>
            wrapJS will yield a new or previously existing xpcom interface pointer
            to represent the JSObject passed in.
            
            This method now correctly deals with cases where the passed in JSObject
            already has an associated xpcom interface for the cases:
            1) The JSObject has already been wrapped as a nsIXPConnectWrappedJS.
            2) The JSObject is in fact a nsIXPConnectWrappedNative and thus already
            has an underlying xpcom object.
            3) The JSObject is of a jsclass which supports getting the nsISupports
            from the JSObject directly. This is used for idlc style objects
            (e.g. DOM objects).
            
            It *might* be possible to QueryInterface the resulting interface pointer
            to nsIXPConnectWrappedJS.
            
            Returns:
            success:
            NS_OK
            failure:
            NS_ERROR_XPC_BAD_CONVERT_JS
            NS_ERROR_FAILURE
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.JSValToVariant(System.IntPtr,SpiderMonkey.JSVal@)">
            <summary>
            Wraps the given jsval in a nsIVariant and returns the new variant.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.GetWrappedNativeOfJSObject(System.IntPtr,System.IntPtr)">
            <summary>
            This only succeeds if the JSObject is a nsIXPConnectWrappedNative.
            A new wrapper is *never* constructed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.WrapJSAggregatedToNative(Gecko.Interfaces.nsISupports,System.IntPtr,System.IntPtr,System.Guid@)">
            <summary>
            wrapJSAggregatedToNative is just like wrapJS except it is used in cases
            where the JSObject is also aggregated to some native xpcom Object.
            At present XBL is the only system that might want to do this.
            
            XXX write more!
            
            Returns:
            success:
            NS_OK
            failure:
            NS_ERROR_XPC_BAD_CONVERT_JS
            NS_ERROR_FAILURE
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.GetWrappedNativeOfNativeObject(System.IntPtr,System.IntPtr,Gecko.Interfaces.nsISupports,System.Guid@)">
            <summary>
            This only succeeds if the native object is already wrapped by xpconnect.
            A new wrapper is *never* constructed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.CreateSandbox(System.IntPtr,Gecko.Interfaces.nsIPrincipal)">
            <summary>
            Create a sandbox for evaluating code in isolation using
            evalInSandboxObject().
            </summary>
            <param name="cx">
            A context to use when creating the sandbox object.
            </param>
            <param name="principal">
            The principal (or NULL to use the null principal)
            to use when evaluating code in this sandbox.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.EvalInSandboxObject(Gecko.nsAStringBase,System.String,System.IntPtr,System.IntPtr,System.Int32)">
            <summary>
            Evaluate script in a sandbox, completely isolated from all
            other running scripts.
            </summary>
            <param name="source">
            The source of the script to evaluate.
            </param>
            <param name="filename">
            The filename of the script. May be null.
            </param>
            <param name="cx">
            The context to use when setting up the evaluation of
            the script. The actual evaluation will happen on a new
            temporary context.
            </param>
            <param name="sandbox">
            The sandbox object to evaluate the script in.
            </param>
            <param name="version">
            The JavaScript version to use for evaluating the script.
            Should be a valid JSVersion from jspubtd.h.
            </param>
            <returns>
            The result of the evaluation as a jsval. If the caller
            intends to use the return value from this call the caller
            is responsible for rooting the jsval before making a call
            to this method.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.GarbageCollect(System.UInt32)">
            <summary>
            Trigger a JS garbage collection.
            Use a js::gcreason::Reason from jsfriendapi.h for the kind.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPConnect.NotifyDidPaint">
            <summary>
            Signals a good place to do an incremental GC slice, because the
            browser is drawing a frame.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCScriptable">
            <summary>
            Note: This is not really an XPCOM interface.  For example, callers must
            guarantee that they set the *_retval of the various methods that return a
            boolean to PR_TRUE before making the call.  Implementations may skip writing
            to *_retval unless they want to return PR_FALSE.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.ImportStylesheet(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Import the stylesheet into this XSLTProcessor for transformations.
            </summary>
            <param name="style">
            The root-node of a XSLT stylesheet. This can be either
            a document node or an element node. If a document node
            then the document can contain either a XSLT stylesheet
            or a LRE stylesheet.
            If the argument is an element node it must be the
            xsl:stylesheet (or xsl:transform) element of an XSLT
            stylesheet.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.TransformToFragment(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIDOMDocument)">
            <summary>
            Transforms the node source applying the stylesheet given by
            the importStylesheet() function. The owner document of the output node
            owns the returned document fragment.
            </summary>
            <param name="source">
            The node to be transformed
            </param>
            <param name="output">
            This document is used to generate the output
            </param>
            <returns>
            DocumentFragment The result of the transformation
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.TransformToDocument(Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Transforms the node source applying the stylesheet given by the
            importStylesheet() function.
            </summary>
            <param name="source">
            The node to be transformed
            </param>
            <returns>
            Document The result of the transformation
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.SetParameter(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.Interfaces.nsIVariant)">
            <summary>
            Sets a parameter to be used in subsequent transformations with this
            nsIXSLTProcessor. If the parameter doesn&apos;t exist in the stylesheet the
            parameter will be ignored.
            </summary>
            <param name="namespaceURI">
            The namespaceURI of the XSLT parameter
            </param>
            <param name="localName">
            The local name of the XSLT parameter
            </param>
            <param name="value">
            The new value of the XSLT parameter
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.GetParameter(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Gets a parameter if previously set by setParameter. Returns null
            otherwise.
            </summary>
            <param name="namespaceURI">
            The namespaceURI of the XSLT parameter
            </param>
            <param name="localName">
            The local name of the XSLT parameter
            </param>
            <returns>
            nsIVariant  The value of the XSLT parameter
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.RemoveParameter(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Removes a parameter, if set. This will make the processor use the
            default-value for the parameter as specified in the stylesheet.
            </summary>
            <param name="namespaceURI">
            The namespaceURI of the XSLT parameter
            </param>
            <param name="localName">
            The local name of the XSLT parameter
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.ClearParameters">
            <summary>
            Removes all set parameters from this nsIXSLTProcessor. This will make
            the processor use the default-value for all parameters as specified in
            the stylesheet.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessor.Reset">
            <summary>
            Remove all parameters and stylesheets from this nsIXSLTProcessor.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXSLTProcessorPrivate.GetFlagsAttribute">
            <summary>
            Flags for this processor. Defaults to 0. See individual flags above
            for documentation for effect of reset()
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULAppInfo">
            <summary>
            A scriptable interface to the nsXULAppAPI structure. See nsXULAppAPI.h for
            a detailed description of each attribute.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetPlatformVersionAttribute(Gecko.nsACStringBase)">
            <summary>
            The version of the XULRunner platform.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetPlatformBuildIDAttribute(Gecko.nsACStringBase)">
            <summary>
            The build ID/date of gecko and the XULRunner platform.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetVendorAttribute(Gecko.nsACStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See nsXREAppData.vendor
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetNameAttribute(Gecko.nsACStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See nsXREAppData.name
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetIDAttribute(Gecko.nsACStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See nsXREAppData.ID
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetVersionAttribute(Gecko.nsACStringBase)">
            <summary>
            The version of the XUL application. It is different than the
            version of the XULRunner platform. Be careful about which one you want.
            </summary>
            <remarks>
            See nsXREAppData.version
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetAppBuildIDAttribute(Gecko.nsACStringBase)">
            <summary>
            The build ID/date of the application. For xulrunner applications,
            this will be different than the build ID of the platform. Be careful
            about which one you want.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULAppInfo.GetUANameAttribute(Gecko.nsACStringBase)">
            <summary>
            
            </summary>
            <remarks>
            See nsXREAppData.UAName
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULBrowserWindow">
            <summary>
            The nsIXULBrowserWindow supplies the methods that may be called from the
            internals of the browser area to tell the containing xul window to update
            its ui.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBrowserWindow.SetJSStatus(Gecko.nsAStringBase)">
            <summary>
            Sets the status according to JS&apos; version of status.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBrowserWindow.SetOverLink(Gecko.nsAStringBase,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Tells the object implementing this function what link we are currently
            over.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBrowserWindow.OnBeforeLinkTraversal(Gecko.nsAStringBase,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIDOMNode,System.Boolean,Gecko.nsAStringBase)">
            <summary>
            Determines the appropriate target for a link.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBrowserWindow.ForceInitialBrowserRemote">
            <summary>
            Find the initial browser of the window and set its remote attribute.
            This can be used to ensure that there is a remote browser in a new
            window when it first spawns.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBrowserWindow.ShouldLoadURI(Gecko.Interfaces.nsIDocShell,Gecko.Interfaces.nsIURI,Gecko.Interfaces.nsIURI)">
            <summary>
            Determines whether a load should continue.
            </summary>
            <param name="aDocShell">
            The docshell performing the load.
            </param>
            <param name="aURI">
            The URI being loaded.
            </param>
            <param name="aReferrer">
            The referrer of the load.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBrowserWindow.ShowTooltip(System.Int32,System.Int32,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Show/hide a tooltip (when the user mouses over a link, say).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBrowserWindow.GetTabCount">
            <summary>
            Return the number of tabs in this window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBuilderListener.WillRebuild(Gecko.Interfaces.nsIXULTemplateBuilder)">
            <summary>
            Called before a template builder rebuilds its content.
            </summary>
            <param name="aBuilder">
            the template builder that rebuilds the content.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULBuilderListener.DidRebuild(Gecko.Interfaces.nsIXULTemplateBuilder)">
            <summary>
            Called after a template builder has rebuilt its content.
            </summary>
            <param name="aBuilder">
            the template builder that has rebuilt the content.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULOverlayProvider">
            <summary>
            The chrome registry implements this interface to give overlays
            to the gecko XUL engine.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULOverlayProvider.GetXULOverlays(Gecko.Interfaces.nsIURI)">
            <summary>
            Get the XUL overlays for a particular chrome URI.
            </summary>
            <param name="aURI">
            The URI being loaded
            </param>
            <returns>
            An enumerator of nsIURI for the overlays of this URI
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULOverlayProvider.GetStyleOverlays(Gecko.Interfaces.nsIURI)">
            <summary>
            Get the style overlays for a particular chrome URI.
            </summary>
            <param name="aURI">
            The URI being loaded
            </param>
            <returns>
            An enumerator of nsIURI for the overlays of this URI
            </returns>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULRuntime">
            <summary>
            Provides information about the XUL runtime.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetInSafeModeAttribute">
            <summary>
            Whether the application was launched in safe mode.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetLogConsoleErrorsAttribute">
            <summary>
            Whether to write console errors to a log file. If a component
            encounters startup errors that might prevent the app from showing
            proper UI, it should set this flag to &quot;true&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetOSAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            A string tag identifying the current operating system. This is taken
            from the OS_TARGET configure variable. It will always be available.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetXPCOMABIAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            A string tag identifying the binary ABI of the current processor and
            compiler vtable. This is taken from the TARGET_XPCOM_ABI configure
            variable. It may not be available on all platforms, especially
            unusual processor or compiler combinations.
            
            The result takes the form &lt;processor&gt;-&lt;compilerABI&gt;, for example:
            x86-msvc
            ppc-gcc3
            
            This value should almost always be used in combination with &quot;OS&quot;.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetWidgetToolkitAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            A string tag identifying the target widget toolkit in use.
            This is taken from the MOZ_WIDGET_TOOLKIT configure variable.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetProcessTypeAttribute">
            <summary>
            The type of the caller&apos;s process.  Returns one of the values above.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetProcessIDAttribute">
            <summary>
            The system process ID of the caller&apos;s process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetUniqueProcessIDAttribute">
            <summary>
            A globally unique and non-recycled ID of the caller&apos;s process.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetBrowserTabsRemoteAutostartAttribute">
            <summary>
            If true, browser tabs may be opened by default in a different process
            from the main browser UI.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetMultiprocessBlockPolicyAttribute">
            <summary>
            A numeric value indicating whether multiprocess might be blocked.
            Possible values can be found at nsAppRunner.cpp. A value of 0
            represents not blocking.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetAccessibilityEnabledAttribute">
            <summary>
            If true, the accessibility service is running.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetIs64BitAttribute">
            <summary>
            Indicates whether the current Firefox build is 64-bit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.InvalidateCachesOnRestart">
            <summary>
            Signal the apprunner to invalidate caches on the next restart.
            This will cause components to be autoregistered and all
            fastload data to be re-created.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.EnsureContentProcess">
            <summary>
            Starts a child process. This method is intented to pre-start a
            content child process so that when it is actually needed, it is
            ready to go.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetReplacedLockTimeAttribute">
            <summary>
            Modification time of the profile lock before the profile was locked on
            this startup. Used to know the last time the profile was used and not
            closed cleanly. This is set to 0 if there was no existing profile lock.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetLastRunCrashIDAttribute(Gecko.nsAStringBase)">
            <summary>
            Local ID of the minidump generated when the process crashed
            on the previous run. Can be passed directly to CrashSubmit.submit.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetIsReleaseOrBetaAttribute">
            <summary>
            True if this is RELEASE_OR_BETA.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetIsOfficialBrandingAttribute">
            <summary>
            True if this build uses official branding (MOZ_OFFICIAL_BRANDING).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetDefaultUpdateChannelAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The default update channel (MOZ_UPDATE_CHANNEL).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetDistributionIDAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            The distribution ID for this build (MOZ_DISTRIBUTION_ID).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetIsOfficialAttribute">
            <summary>
            True if this is an official build (MOZILLA_OFFICIAL).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULRuntime.GetWindowsDLLBlocklistStatusAttribute">
            <summary>
            True if Windows DLL blocklist initialized correctly. This is
            primarily for automated testing purposes.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULSortService">
            <summary>
            A service used to sort the contents of a XUL widget.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULSortService.Sort(Gecko.Interfaces.nsIDOMNode,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Sort the contents of the widget containing &lt;code&gt;aNode&lt;/code&gt;
            using &lt;code&gt;aSortKey&lt;/code&gt; as the comparison key, and
            &lt;code&gt;aSortDirection&lt;/code&gt; as the direction.
            </summary>
            <param name="aNode">
            A node in the XUL widget whose children are to be sorted.
            </param>
            <param name="aSortKey">
            The value to be used as the comparison key.
            </param>
            <param name="aSortHints">
            One or more hints as to how to sort:
            
            ascending: to sort the contents in ascending order
            descending: to sort the contents in descending order
            comparecase: perform case sensitive comparisons
            integer: treat values as integers, non-integers are compared as strings
            twostate: don&apos;t allow the natural (unordered state)
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULStore">
            <summary>
            The XUL store is used to store information related to a XUL document/application.
            Typically it is used to store the persisted state for the document, such as
            window location, toolbars that are open and nodes that are open and closed in a tree.
            
            The data is serialized to [profile directory]/xulstore.json
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULStore.SetValue(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Sets a value in the store.
            </summary>
            <param name="doc">
            - document URI
            </param>
            <param name="id">
            - identifier of the node
            </param>
            <param name="attr">
            - attribute to store
            </param>
            <param name="value">
            - value of the attribute
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULStore.HasValue(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Returns true if the store contains a value for attr.
            </summary>
            <param name="doc">
            - URI of the document
            </param>
            <param name="id">
            - identifier of the node
            </param>
            <param name="attr">
            - attribute
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULStore.GetValue(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Retrieves a value in the store, or an empty string if it does not exist.
            </summary>
            <param name="doc">
            - document URI
            </param>
            <param name="id">
            - identifier of the node
            </param>
            <param name="attr">
            - attribute to retrieve
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULStore.RemoveValue(Gecko.nsAStringBase,Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Removes a value in the store.
            </summary>
            <param name="doc">
            - document URI
            </param>
            <param name="id">
            - identifier of the node
            </param>
            <param name="attr">
            - attribute to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULStore.GetIDsEnumerator(Gecko.nsAStringBase)">
            <summary>
            Iterates over all of the ids associated with a given document uri that
            have stored data.
            </summary>
            <param name="doc">
            - document URI
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULStore.GetAttributeEnumerator(Gecko.nsAStringBase,Gecko.nsAStringBase)">
            <summary>
            Iterates over all of the attributes associated with a given document uri
            and id that have stored data.
            </summary>
            <param name="doc">
            - document URI
            </param>
            <param name="id">
            - identifier of the node
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULTemplateBuilder">
            <summary>
            A template builder, given an input source of data, a template, and a
            reference point, generates a list of results from the input, and copies
            part of the template for each result. Templates may generate content
            recursively, using the same template, but with the previous iteration&apos;s
            results as the reference point. As an example, for an XML datasource the
            initial reference point would be a specific node in the DOM tree and a
            template might generate a list of all child nodes. For the next iteration,
            those children would be used to generate output for their child nodes and
            so forth.
            
            A template builder is attached to a single DOM node; this node is called
            the root node and is expected to contain a XUL template element as a direct
            child. Different template builders may be specialized in the manner in
            which they generate and display the resulting content from the template.
            
            The structure of a template is as follows:
            
            &lt;rootnode datasources=&quot;&quot; ref=&quot;&quot;&gt;
            &lt;template&gt;
            &lt;queryset&gt;
            &lt;query&gt;
            &lt;/query&gt;
            &lt;rule&gt;
            &lt;conditions&gt;...&lt;/conditions&gt;
            &lt;bindings&gt;...&lt;/bindings&gt;
            &lt;action&gt;...&lt;/action&gt;
            &lt;/rule&gt;
            &lt;/queryset&gt;
            &lt;/template&gt;
            &lt;/rootnode&gt;
            
            The datasources attribute on the root node is used to identify the source
            of data to be used. The ref attribute is used to specify the reference
            point for the query. Currently, the datasource will either be an
            nsIRDFDataSource or a DOM node. In the future, other datasource types may
            be used.
            
            The &lt;queryset&gt; element contains a single query and one or more &lt;rule&gt;
            elements. There may be more than one &lt;queryset&gt; if multiple queries are
            desired, and this element is optional if only one query is needed -- in
            that case the &lt;query&gt; and &lt;rule&gt;s are allowed to be children of the
            &lt;template&gt; node
            
            The contents of the query are processed by a separate component called a
            query processor. This query processor is expected to use this query to
            generate results when asked by the template builder. The template builder
            then generates output for each result based on the &lt;rule&gt; elements.
            
            This allows the query processor to be specific to a particular kind of
            input data or query syntax, while the template builder remains independent
            of the kind of data being used. Due to this, the query processor will be
            supplied with the datasource and query which the template builder handles
            in an opaque way, while the query processor handles these more
            specifically.
            
            Results implement the nsIXULTemplateResult interface and may be identified
            by an id which must be unique within a given set of query results.
            
            Each query may be accompanied by one or more &lt;rule&gt; elements. These rules
            are evaluated by the template builder for each result produced by the
            query. A rule consists of conditions that cause a rule to be either
            accepted or rejected. The condition syntax allows for common conditional
            handling; additional filtering may be applied by adding a custom filter
            to a rule with the builder&apos;s addRuleFilter method.
            
            If a result passes a rule&apos;s conditions, this is considered a match, and the
            content within the rule&apos;s &lt;action&gt; body is inserted as a sibling of the
            &lt;template&gt;, assuming the template builder creates real DOM content. Only
            one rule will match a result. For a tree builder, for example, the content
            within the action body is used to create the tree rows instead. A matching
            result must have its ruleMatched method called. When a result no longer
            matches, the result&apos;s hasBeenRemoved method must be called.
            
            Optionally, the rule may have a &lt;bindings&gt; section which may be used to
            define additional variables to be used within an action body. Each of these
            declared bindings must be supplied to the query processor via its
            addBinding method. The bindings are evaluated after a rule has matched.
            
            Templates may generate content recursively, using the previous iteration&apos;s
            results as reference point to invoke the same queries. Since the reference
            point is different, different output will typically be generated.
            
            The reference point nsIXULTemplateResult object for the first iteration is
            determined by calling the query processor&apos;s translateRef method using the
            value of the root node&apos;s ref attribute. This object may be retrieved later
            via the builder&apos;s rootResult property.
            
            For convenience, each reference point as well as all results implement the
            nsIXULTemplateResult interface, allowing the result objects from each
            iteration to be used directly as the reference points for the next
            iteration.
            
            When using multiple queries, each may generate results with the same id.
            More than one of these results may match one of the rules in their
            respective queries, however only the result for the earliest matching query
            in the template becomes the active match and generates output. The
            addResult, removeResult, replaceResult and resultBindingChanged methods may
            be called by the query processor to indicate that the set of valid results
            has changed, such that a different query may match. If a different match
            would become active, the content for the existing match is removed and the
            content for the new match is generated. A query processor is not required
            to provide any support for updating results after they have been generated.
            
            See http://wiki.mozilla.org/XUL:Templates_Plan for details about templates.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.GetRootAttribute">
            <summary>
            The root node in the DOM to which this builder is attached.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.GetDatasourceAttribute">
            <summary>
            The opaque datasource object that is used for the template. This object
            is created by the getDataSource method of the query processor. May be
            null if the datasource has not been loaded yet. Set this attribute to
            use a different datasource and rebuild the template.
            
            For an RDF datasource, this will be the same as the database. For XML
            this will be the nsIDOMNode for the datasource document or node for
            an inline reference (such as #name). Other query processors may use
            other types for the datasource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.GetDatabaseAttribute">
            <summary>
            The composite datasource that the template builder observes
            and uses to create content. This is used only for RDF queries and is
            maintained for backwards compatibility. It will be the same object as
            the datasource property. For non-RDF queries, it will always be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.GetRootResultAttribute">
            <summary>
            The virtual result representing the starting reference point,
            determined by calling the query processor&apos;s translateRef method
            with the root node&apos;s ref attribute as an argument.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.GetQueryProcessorAttribute">
            <summary>
            The query processor used to generate results.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.Rebuild">
            <summary>
            Force the template builder to rebuild its content. All existing content
            will be removed first. The query processor&apos;s done() method will be
            invoked during cleanup, followed by its initializeForBuilding method
            when the content is to be regenerated.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.Refresh">
            <summary>
            Reload any of our RDF datasources that support nsIRDFRemoteDatasource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.AddResult(Gecko.Interfaces.nsIXULTemplateResult,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Inform the template builder that a new result is available. The builder
            will add this result to the set of results. The query node that the
            new result applies to must be specified using the aQueryNode parameter.
            
            The builder will apply the rules associated with the query to the new
            result, unless a result with the same id from an earlier query
            supersedes it, and the result's RuleMatched method will be called if it
            matches.
            </summary>
            <param name="aResult">
            the result to add
            </param>
            <param name="aQueryNode">
            the query that the result applies to
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NULL_POINTER: if aResult or aQueryNode are null
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.RemoveResult(Gecko.Interfaces.nsIXULTemplateResult)">
            <summary>
            Inform the template builder that a result no longer applies. The builder
            will call the remove content generated for the result, if any. If a different
            query would then match instead, it will become the active match. This
            method will have no effect if the result isn't known to the builder.
            </summary>
            <param name="aResult">
            the result to remove
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NULL_POINTER: if aResult is null
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.ReplaceResult(Gecko.Interfaces.nsIXULTemplateResult,Gecko.Interfaces.nsIXULTemplateResult,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Inform the template builder that one result should be replaced with
            another. Both the old result (aOldResult) and the new result
            (aNewResult) must have the same id. The query node that the new result
            applies to must be specified using the aQueryNode parameter.
            
            This method is expected to have the same effect as calling both
            removeResult for the old result and addResult for the new result.
            </summary>
            <param name="aOldResult">
            the old result
            </param>
            <param name="aNewResult">
            the new result
            </param>
            <param name="aQueryNode">
            the query that the new result applies to
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NULL_POINTER: if either argument is null, or
            NS_ERROR_INVALID_ARG if the ids don't match
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.ResultBindingChanged(Gecko.Interfaces.nsIXULTemplateResult)">
            <summary>
            Inform the template builder that one or more of the optional bindings
            for a result has changed. In this case, the rules are not reapplied as
            it is expected that the same rule will still apply. The builder will
            resynchronize any variables that are referenced in the action body.
            </summary>
            <param name="aResult">
            the result to change
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NULL_POINTER: if aResult is null
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.GetResultForId(Gecko.nsAStringBase)">
            <summary>
            Return the result for a given id. Only one such result is returned and
            is always the result with that id associated with the active match.
            This method will return null is there is no result for the id.
            </summary>
            <param name="aId">
            the id to return the result for
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.GetResultForContent(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Retrieve the result corresponding to a generated element, or null is
            there isn&apos;t one.
            </summary>
            <param name="aContent">
            element to result the result of
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.HasGeneratedContent(Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIAtom)">
            <summary>
            Returns true if the node has content generated for it. This method is
            intended to be called only by the RDF query processor. If aTag is set,
            the content must have a tag name that matches aTag. aTag may be ignored
            for builders that don&apos;t generate real DOM content.
            </summary>
            <param name="aNode">
            node to check
            </param>
            <param name="aTag">
            tag that must match
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.AddRuleFilter(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIXULTemplateRuleFilter)">
            <summary>
            Adds a rule filter for a given rule, which may be used for specialized
            rule filtering. Any existing filter on the rule is removed. The default
            conditions specified inside the &lt;rule&gt; tag are applied before the
            rule filter is applied, meaning that the filter may be used to further
            filter out results but not reaccept results that have already been
            rejected.
            </summary>
            <param name="aRule">
            the rule to apply the filter to
            </param>
            <param name="aFilter">
            the filter to add
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.Init(System.IntPtr)">
            <summary>
            Called to initialize a XUL content builder on a particular root
            element. This element presumably has a ``datasources&apos;&apos;
            attribute, which the builder will parse to set up the template
            builder&apos;s datasources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.CreateContents(System.IntPtr,System.Boolean)">
            <summary>
            Invoked lazily by a XUL element that needs its child content built.
            If aForceCreation is true, then the contents of an element will be
            generated even if it is closed. If false, the element will only
            generate its contents if it is open. This behaviour is used with menus.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.AddListener(Gecko.Interfaces.nsIXULBuilderListener)">
            <summary>
            Add a listener to this template builder. The template builder
            holds a strong reference to the listener.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateBuilder.RemoveListener(Gecko.Interfaces.nsIXULBuilderListener)">
            <summary>
            Remove a listener from this template builder.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULTreeBuilderObserver">
            <summary>
            nsIXULTreeBuilderObserver
            This interface allows clients of the XULTreeBuilder to define domain
            specific handling of specific nsITreeView methods that
            XULTreeBuilder does not implement.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.CanDrop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Methods used by the drag feedback code to determine if a drag is allowable at
            the current location. To get the behavior where drops are only allowed on
            items, such as the mailNews folder pane, always return false whe
            the orientation is not DROP_ON.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnDrop(System.Int32,System.Int32,Gecko.Interfaces.nsIDOMDataTransfer)">
            <summary>
            Called when the user drops something on this view. The |orientation| param
            specifies before/on/after the given |row|.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnToggleOpenState(System.Int32)">
            <summary>
            Called when an item is opened or closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnCycleHeader(System.String,Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Called when a header is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnCycleCell(System.Int32,System.String)">
            <summary>
            Called when a cell in a non-selectable cycling column (e.g.
            unread/flag/etc.) is clicked.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnSelectionChanged">
            <summary>
            Called when selection in the tree changes
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnPerformAction(System.String)">
            <summary>
            A command API that can be used to invoke commands on the selection.
            The tree will automatically invoke this method when certain keys
            are pressed.  For example, when the DEL key is pressed, performAction
            will be called with the &quot;delete&quot; string.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnPerformActionOnRow(System.String,System.Int32)">
            <summary>
            A command API that can be used to invoke commands on a specific row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilderObserver.OnPerformActionOnCell(System.String,System.Int32,System.String)">
            <summary>
            A command API that can be used to invoke commands on a specific cell.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilder.GetResourceAtIndex(System.Int32)">
            <summary>
            Retrieve the RDF resource associated with the specified row.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilder.GetIndexOfResource(Gecko.Interfaces.nsIRDFResource)">
            <summary>
            Retrieve the index associated with specified RDF resource.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilder.AddObserver(Gecko.Interfaces.nsIXULTreeBuilderObserver)">
            <summary>
            Add a Tree Builder Observer to handle Tree View
            methods that the base builder does not implement.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilder.RemoveObserver(Gecko.Interfaces.nsIXULTreeBuilderObserver)">
            <summary>
            Remove an Tree Builder Observer.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTreeBuilder.Sort(Gecko.Interfaces.nsIDOMElement)">
            <summary>
            Sort the contents of the tree using the specified column.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULTemplateQueryProcessor">
            <summary>
            A query processor takes a template query and generates results for it given
            a datasource and a reference point. There is a one-to-one relationship
            between a template builder and a query processor. The template builder
            creates the query processor, and there is no other means to retrieve it.
            
            A template query is the contents inside a &lt;query&gt; element within the
            template. The actual syntax is opaque to the template builder and defined
            by a query processor. The query is expected to consist of either text or
            DOM nodes that, when executed by a call to the generateResults method, will
            allow the generation of a list of results.
            
            The template builder will supply two variables, the reference variable and
            the member variable to further indicate what part of the datasource is to
            be examined in addition to the query itself. The reference is always
            a placeholder for the starting point and the member is always a placeholder
            for the end points (the results).
            
            The reference point is important when generating output recursively, as
            the query will be the same for each iteration, however, the reference point
            will differ.
            
            For instance, when examining an XML source, an XML query processor might
            begin at the node referred by the reference variable and end at a list of
            that node&apos;s children.
            
            Some queries may not need the reference variable if the syntax or the form
            of the data implies the value. For instance, a datasource that holds a
            table that can only produce one set of results.
            
            The reference variable may be specified in a template by setting the
            &quot;container&quot; attribute on the &lt;template&gt; element to the variable to use. The
            member variable may be specified in a similar way using the &quot;member&quot;
            attribute, or it may be specified in the first &lt;action&gt; body in the
            template as the value of a uri attribute on an element. A breadth-first
            search of the first action is performed to find this element.
            
            If unspecified, the default value of the reference variable is ?uri.
            
            For example, a query might have the following syntax:
            
            (?id, ?name, ?url) from Bookmarks where parentfolder = ?start
            
            This query might generate a result for each bookmark within a given folder.
            The variable ?start would be the reference variable, while the variable ?id
            would be the member variable, since it is the unique value that identifies
            a result. Each result will have the four variables referred to defined for
            it and the values may be retrieved using the result&apos;s getBindingFor and
            getBindingObjectFor methods.
            
            The template builder must call initializeForBuilding before the other
            methods, except for translateRef. The builder will then call compileQuery
            for each query in the template to compile the queries. When results need
            to be generated, the builder will call generateResults. The
            initializeForBuilding, compileQuery and addBinding methods may not be
            called after generateResults has been called until the builder indicates
            that the generated output is being removed by calling the done method.
            
            Currently, the datasource supplied to the methods will always be an
            nsIRDFDataSource or a DOM node, and will always be the same one in between
            calls to initializeForBuilding and done.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.GetDatasource(Gecko.Interfaces.nsIArray,Gecko.Interfaces.nsIDOMNode,System.Boolean,Gecko.Interfaces.nsIXULTemplateBuilder,System.Boolean@)">
            <summary>
            Retrieve the datasource to use for the query processor. The list of
            datasources in a template is specified using the datasources attribute as
            a space separated list of URIs. This list is processed by the builder and
            supplied to the query processor in the aDataSources array as a list of
            nsIURI objects or nsIDOMNode objects. This method may return an object
            corresponding to these URIs and the builder will supply this object to
            other query processor methods. For example, for an XML source, the
            datasource might be an nsIDOMNode.
            
            All of these URIs are checked by the builder so it is safe to use them,
            however note that a URI that redirects may still needs to be checked to
            ensure that the document containing aRootNode may access it. This is the
            responsibility of the query processor if it needs to load the content of
            the URI.
            
            If the query processor needs to load the datasource asynchronously, it
            may set the aShouldDelayBuilding returned parameter to true to delay
            building the template content, and call the builder&apos;s Rebuild method when
            the data is available.
            </summary>
            <param name="aDataSources">
            the list of nsIURI objects and/or nsIDOMNode objects
            </param>
            <param name="aRootNode">
            the root node the builder is attached to
            </param>
            <param name="aIsTrusted">
            true if the template is in a trusted document
            </param>
            <param name="aBuilder">
            the template builder
            </param>
            <param name="aShouldDelayBuilding">
            [out] whether the builder should wait to
            build the content or not
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.InitializeForBuilding(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIXULTemplateBuilder,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Initialize for query generation. This will be called before the rules are
            processed and whenever the template is rebuilt. This method must be
            called once before any of the other query processor methods except for
            translateRef.
            </summary>
            <param name="aDatasource">
            datasource for the data
            </param>
            <param name="aBuilder">
            the template builder
            </param>
            <param name="aRootNode">
            the root node the builder is attached to
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if the datasource is not supported or
            NS_ERROR_UNEXPECTED if generateResults has already been called.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.Done">
            <summary>
            Called when the template builder is being destroyed so that the query
            processor can clean up any state. The query processor should remove as
            much state as possible, such as results or references to the builder.
            This method will also be called when the template is going to be rebuilt.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.CompileQuery(Gecko.Interfaces.nsIXULTemplateBuilder,Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIAtom,Gecko.Interfaces.nsIAtom)">
            <summary>
            Compile a query from a node. The result of this function will later be
            passed to generateResults for result generation. If null is returned,
            the query will be ignored.
            
            The template builder will call this method once for each query within
            the template, before any results can be generated using generateResults,
            but after initializeForBuilding has been called. This method should not
            be called again for the same query unless the template is rebuilt.
            
            The reference variable may be used by the query processor as a
            placeholder for the reference point, or starting point in the query.
            
            The member variable is determined from the member attribute on the
            template, or from the uri in the first action&apos;s rule if that attribute is
            not present. A rule processor may use the member variable as a hint to
            indicate what variable is expected to contain the results.
            </summary>
            <param name="aBuilder">
            the template builder
            </param>
            <param name="aQuery">
            &lt;query&gt; node to compile
            </param>
            <param name="aRefVariable">
            the reference variable
            </param>
            <param name="aMemberVariable">
            the member variable
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.GenerateResults(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIXULTemplateResult,Gecko.Interfaces.nsISupports)">
            <summary>
            Generate the results of a query and return them in an enumerator. The
            enumerator must contain nsIXULTemplateResult objects. If there are no
            results, an empty enumerator must be returned.
            
            The datasource will be the same as the one passed to the earlier
            initializeForBuilding method. The context reference (aRef) is a reference
            point used when calculating results.
            
            The value of aQuery must be the result of a previous call to compileQuery
            from this query processor. This method may be called multiple times,
            typically with different values for aRef.
            </summary>
            <param name="aDatasource">
            datasource for the data
            </param>
            <param name="aRef">
            context reference value used as a starting point
            </param>
            <param name="aQuery">
            the compiled query returned from query compilation
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if aQuery is invalid
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.AddBinding(Gecko.Interfaces.nsIDOMNode,Gecko.Interfaces.nsIAtom,Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase)">
            <summary>
            Add a variable binding for a particular rule. A binding allows an
            additional variable to be set for a result, outside of those defined
            within the query. These bindings are always optional, in that they will
            never affect the results generated.
            
            This function will never be called after generateResults. Any bindings
            that were added should be applied to each result when the result&apos;s
            ruleMatched method is called, since the bindings are different for each
            rule.
            
            The reference aRef may be used to determine the reference when
            calculating the value for the binding, for example when a value should
            depend on the value of another variable.
            
            The syntax of the expression aExpr is defined by the query processor. If
            the syntax is invalid, the binding should be ignored. Only fatal errors
            should be thrown, or NS_ERROR_UNEXPECTED if generateResults has already
            been called.
            
            As an example, if the reference aRef is the variable &apos;?count&apos; which
            holds the value 5, and the expression aExpr is the string &apos;+2&apos;, the value
            of the variable aVar would be 7, assuming the query processor considers
            the syntax &apos;+2&apos; to mean add two to the reference.
            </summary>
            <param name="aRuleNode">
            rule to add the binding to
            </param>
            <param name="aVar">
            variable that will be bound
            </param>
            <param name="aRef">
            variable that holds reference value
            </param>
            <param name="aExpr">
            expression used to compute the value to assign
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.TranslateRef(Gecko.Interfaces.nsISupports,Gecko.nsAStringBase)">
            <summary>
            Translate a ref attribute string into a result. This is used as the
            reference point by the template builder when generating the first level
            of content. For recursive generation, the result from the parent
            generation phase will be used directly as the reference so a translation
            is not needed. This allows all levels to be generated using objects that
            all implement the nsIXULTemplateResult interface.
            
            This method may be called before initializeForBuilding, so the
            implementation may use the supplied datasource if it is needed to
            translate the reference.
            </summary>
            <param name="aDatasource">
            datasource for the data
            </param>
            <param name="aRefString">
            the ref attribute string
            </param>
            <returns>
            the translated ref
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateQueryProcessor.CompareResults(Gecko.Interfaces.nsIXULTemplateResult,Gecko.Interfaces.nsIXULTemplateResult,Gecko.Interfaces.nsIAtom,System.UInt32)">
            <summary>
            Compare two results to determine their order, used when sorting results.
            This method should return -1 when the left result is less than the right,
            0 if both are equivalent, and 1 if the left is greater than the right.
            The comparison should only consider the values for the specified
            variable.
            
            If the comparison variable is null, the results may be
            sorted in a natural order, for instance, based on the order the data in
            stored in the datasource.
            
            The sort hints are the flags in nsIXULSortService.
            
            This method must only be called with results that were created by this
            query processor.
            </summary>
            <param name="aLeft">
            the left result to compare
            </param>
            <param name="aRight">
            the right result to compare
            </param>
            <param name="aVar">
            variable to compare
            </param>
            <param name="returns">
            -1 if less, 0 if equal, or 1 if greater
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULTemplateResult">
            <summary>
            A single result generated from a template query. Each result is identified
            by an id, which must be unique within the set of results produced from a
            query. The result may optionally be identified by an RDF resource.
            
            Generally, the result and its id will be able to uniquely identify a node
            in the source data, such as an RDF or XML node. In other contexts, such as
            a database query, a result would represent a particular record.
            
            A result is expected to only be created by a query processor.
            
            Each result also contains a set of variable bindings. The value for a
            particular variable may be retrieved using the getBindingFor and
            getBindingObjectFor methods.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetIsContainerAttribute">
            <summary>
            True if the result represents a container.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetIsEmptyAttribute">
            <summary>
            True if the result represents an empty container.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetMayProcessChildrenAttribute">
            <summary>
            True if the template builder may use this result as the reference point
            for additional recursive processing of the template. The template builder
            will reprocess the template using this result as the reference point and
            generate output content that is expected to be inserted as children of the
            output generated for this result. If false, child content is not
            processed. This property identifies only the default handling and may be
            overriden by syntax used in the template.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetIdAttribute(Gecko.nsAStringBase)">
            <summary>
            ID of the result. The DOM element created for this result, if any, will
            have its id attribute set to this value. The id must be unique for a
            query.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetResourceAttribute">
            <summary>
            Resource for the result, which may be null. If set, the resource uri
            must be the same as the ID property.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetTypeAttribute(Gecko.nsAStringBase)">
            <summary>
            The type of the object. The predefined value &apos;separator&apos; may be used
            for separators. Other values may be used for application specific
            purposes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetBindingFor(Gecko.Interfaces.nsIAtom,Gecko.nsAStringBase)">
            <summary>
            Get the string representation of the value of a variable for this
            result. This string will be used in the action body from a template as
            the replacement text. For instance, if the text ?name appears in an
            attribute within the action body, it will be replaced with the result
            of this method. The question mark is considered part of the variable
            name, thus aVar should be ?name and not simply name.
            </summary>
            <param name="aVar">
            the variable to look up
            </param>
            <returns>
            the value for the variable or a null string if it has no value
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.GetBindingObjectFor(Gecko.Interfaces.nsIAtom)">
            <summary>
            Get an object value for a variable such as ?name for this result.
            
            This method may return null for a variable, even if getBindingFor returns
            a non-null value for the same variable. This method is provided as a
            convenience when sorting results.
            </summary>
            <param name="aVar">
            the variable to look up
            </param>
            <returns>
            the value for the variable or null if it has no value
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.RuleMatched(Gecko.Interfaces.nsISupports,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Indicate that a particular rule of a query has matched and that output
            will be generated for it. Both the query as compiled by the query
            processor&apos;s compileQuery method and the XUL &lt;rule&gt; element are supplied.
            The query must always be one that was compiled by the query processor
            that created this result. The &lt;rule&gt; element must always be a child of
            the &lt;query&gt; element that was used to compile the query.
            </summary>
            <param name="aQuery">
            the query that matched
            </param>
            <param name="aRuleNode">
            the rule node that matched
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateResult.HasBeenRemoved">
            <summary>
            Indicate that the output for a result has beeen removed and that the
            result is no longer being used by the builder.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXULTemplateRuleFilter">
            <summary>
            A rule filter may be used to add additional filtering of results to a rule.
            The filter is used to further reject results from matching the template&apos;s
            rules, beyond what the template syntax can do itself, thus allowing for
            more complex result filtering. The rule filter is applied after the rule
            syntax within the template.
            
            Only one filter may apply to each rule within the template and may be
            assigned using the template builder&apos;s addRuleFilter method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULTemplateRuleFilter.Match(Gecko.Interfaces.nsIXULTemplateResult,Gecko.Interfaces.nsIDOMNode)">
            <summary>
            Evaluate a result and return true if the result is accepted by this
            filter, or false if it is rejected. Accepted results will have output
            generated for them for the rule. Rejected results will not, but they
            may still match another rule.
            </summary>
            <param name="aRef">
            the result to examine
            </param>
            <param name="aRule">
            the rule node
            </param>
            <returns>
            true if the rule matches
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.GetDocShellAttribute">
            <summary>
            The docshell owning the XUL for this window.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.GetIntrinsicallySizedAttribute">
            <summary>
            Indicates if this window is instrinsically sized.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.GetPrimaryContentShellAttribute">
            <summary>
            The primary content shell.
            
            Note that this is a docshell tree item and therefore can not be assured of
            what object it is. It could be an editor, a docshell, or a browser object.
            Or down the road any other object that supports being a DocShellTreeItem
            Query accordingly to determine the capabilities.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.GetPrimaryTabParentAttribute">
            <summary>
            In multiprocess case we may not have primaryContentShell but
            primaryTabParent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.GetContentShellById(System.String)">
            <summary>
            The content shell specified by the supplied id.
            
            Note that this is a docshell tree item and therefore can not be assured of
            what object it is.  It could be an editor, a docshell, or a browser object.
            Or down the road any other object that supports being a DocShellTreeItem
            Query accordingly to determine the capabilities.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.AddChildWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Tell this window that it has picked up a child XUL window
            </summary>
            <param name="aChild">
            the child window being added
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.RemoveChildWindow(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Tell this window that it has lost a child XUL window
            </summary>
            <param name="aChild">
            the child window being removed
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.Center(Gecko.Interfaces.nsIXULWindow,System.Boolean,System.Boolean)">
            <summary>
            Move the window to a centered position.
            </summary>
            <param name="aRelative">
            If not null, the window relative to which the window is
            moved. See aScreen parameter for details.
            </param>
            <param name="aScreen">
            PR_TRUE to center the window relative to the screen
            containing aRelative if aRelative is not null. If
            aRelative is null then relative to the screen of the
            opener window if it was initialized by passing it to
            nsWebShellWindow::Initialize. Failing that relative to
            the main screen.
            PR_FALSE to center it relative to aRelative itself.
            </param>
            <param name="aAlert">
            PR_TRUE to move the window to an alert position,
            generally centered horizontally and 1/3 down from the top.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.ShowModal">
            <summary>
            Shows the window as a modal window. That is, ensures that it is visible
            and runs a local event loop, exiting only once the window has been closed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.GetContextFlagsAttribute">
            <summary>
            contextFlags are from nsIWindowCreator2
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.AssumeChromeFlagsAreFrozen">
            <summary>
            Begin assuming |chromeFlags| don&apos;t change hereafter, and assert
            if they do change.  The state change is one-way and idempotent.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.CreateNewWindow(System.Int32,Gecko.Interfaces.nsITabParent,Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Create a new window.
            </summary>
            <param name="aChromeFlags">
            see nsIWebBrowserChrome
            </param>
            <param name="aOpeningTab">
            the TabParent that requested this new window be opened.
            Can be left null.
            </param>
            <param name="aOpener">
            The window which is requesting that this new window be opened.
            </param>
            <returns>
            the newly minted window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.ApplyChromeFlags">
            <summary>
            Back-door method to force application of chrome flags at a particular
            time.  Do NOT call this unless you know what you&apos;re doing!  In particular,
            calling this when this XUL window doesn&apos;t yet have a document in its
            docshell could cause problems.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXULWindow.SizeShellToWithLimit(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Given the dimensions of some content area held within this
            XUL window, and assuming that that content area will change
            its dimensions in linear proportion to the dimensions of this
            XUL window, changes the size of the XUL window so that the
            content area reaches a particular size.
            
            We need to supply the content area dimensions because sometimes
            the child&apos;s nsDocShellTreeOwner needs to propagate a SizeShellTo
            call to the parent. But the shellItem argument of the call will
            not be available on the parent side.
            
            Note: this is an internal method, other consumers should never call this.
            </summary>
            <param name="aDesiredWidth">
            The desired width of the content area in device pixels.
            </param>
            <param name="aDesiredHeight">
            The desired height of the content area in device pixels.
            </param>
            <param name="shellItemWidth">
            The current width of the content area.
            </param>
            <param name="shellItemHeight">
            The current height of the content area.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetCompressionAttribute">
            <summary>
            The type of compression used for the item.  The possible values and
            their meanings are defined in the zip file specification at
            http://www.pkware.com/business_and_developers/developer/appnote
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetSizeAttribute">
            <summary>
            The compressed size of the data in the item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetRealSizeAttribute">
            <summary>
            The uncompressed size of the data in the item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetCRC32Attribute">
            <summary>
            The CRC-32 hash of the file in the entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetIsDirectoryAttribute">
            <summary>
            True if the name of the entry ends with &apos;/&apos; and false otherwise.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetLastModifiedTimeAttribute">
            <summary>
            The time at which this item was last modified.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetIsSyntheticAttribute">
            <summary>
            Use this attribute to determine whether this item is an actual zip entry
            or is one synthesized for part of a real entry&apos;s path.  A synthesized
            entry represents a directory within the zip file which has no
            corresponding entry within the zip file.  For example, the entry for the
            directory foo/ in a zip containing exactly one entry for foo/bar.txt
            is synthetic.  If the zip file contains an actual entry for a directory,
            this attribute will be false for the nsIZipEntry for that directory.
            It is impossible for a file to be synthetic.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipEntry.GetPermissionsAttribute">
            <summary>
            The UNIX style file permissions of this item.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.Open(Gecko.Interfaces.nsIFile)">
            <summary>
            Opens a zip file for reading.
            It is allowed to open with another file,
            but it needs to be closed first with close().
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.OpenInner(Gecko.Interfaces.nsIZipReader,Gecko.nsAUTF8StringBase)">
            <summary>
            Opens a zip file inside a zip file for reading.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.OpenMemory(System.IntPtr,System.UInt32)">
            <summary>
            Opens a zip file stored in memory; the file attribute will be null.
            
            The ZipReader does not copy or take ownership of this memory; the
            caller must ensure that it is valid and unmodified until the
            ZipReader is closed or destroyed, and must free the memory as
            appropriate afterwards.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.GetFileAttribute">
            <summary>
            The file that represents the zip with which this zip reader was
            initialized.  This will be null if there is no underlying file.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.Close">
            <summary>
            Closes a zip reader. Subsequent attempts to extract files or read from
            its input stream will result in an error.
            
            Subsequent attempts to access a nsIZipEntry obtained from this zip
            reader will cause unspecified behavior.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.Test(Gecko.nsAUTF8StringBase)">
            <summary>
            Tests the integrity of the archive by performing a CRC check
            on each item expanded into memory.  If an entry is specified
            the integrity of only that item is tested.  If null (javascript)
            or EmptyCString() (c++) is passed in the integrity of all items
            in the archive are tested.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.Extract(Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIFile)">
            <summary>
            Extracts a zip entry into a local file specified by outFile.
            The entry must be stored in the zip in either uncompressed or
            DEFLATE-compressed format for the extraction to be successful.
            If the entry is a directory, the directory will be extracted
            non-recursively.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.GetEntry(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a nsIZipEntry describing a specified zip entry.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.HasEntry(Gecko.nsAUTF8StringBase)">
            <summary>
            Checks whether the zipfile contains an entry specified by entryName.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.FindEntries(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a string enumerator containing the matching entry names.
            </summary>
            <param name="aPattern">
            A regular expression used to find matching entries in the zip file.
            Set this parameter to null (javascript) or EmptyCString() (c++) or "*"
            to get all entries; otherwise, use the
            following syntax:
            
            o * matches anything
            o ? matches one character
            o $ matches the end of the string
            o [abc] matches one occurrence of a, b, or c. The only character that
            must be escaped inside the brackets is ].  ^ and - must never
            appear in the first and second positions within the brackets,
            respectively.  (In the former case, the behavior specified for
            '[^az]' will happen.)
            o [a-z] matches any character between a and z.  The characters a and z
            must either both be letters or both be numbers, with the
            character represented by 'a' having a lower ASCII value than
            the character represented by 'z'.
            o [^az] matches any character except a or z.  If ] is to appear inside
            the brackets as a character to not match, it must be escaped.
            o pat~pat2 returns matches to the pattern 'pat' which do not also match
            the pattern 'pat2'.  This may be used to perform filtering
            upon the results of one pattern to remove all matches which
            also match another pattern.  For example, because '*'
            matches any string and '*z*' matches any string containing a
            'z', '*~*z*' will match all strings except those containing
            a 'z'.  Note that a pattern may not use '~' multiple times,
            so a string such as '*~*z*~*y*' is not a valid pattern.
            o (foo|bar) will match either the pattern foo or the pattern bar.
            Neither of the patterns foo or bar may use the 'pat~pat2'
            syntax described immediately above.
            o \ will escape a special character.  Escaping is required for all
            special characters unless otherwise specified.
            o All other characters match case-sensitively.
            
            An aPattern not conforming to this syntax has undefined behavior.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ILLEGAL_VALUE: on many but not all invalid aPattern
            values.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.GetInputStream(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns an input stream containing the contents of the specified zip
            entry.
            </summary>
            <param name="zipEntry">
            the name of the entry to open the stream from
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.GetInputStreamWithSpec(Gecko.nsAUTF8StringBase,Gecko.nsAUTF8StringBase)">
            <summary>
            Returns an input stream containing the contents of the specified zip
            entry. If the entry refers to a directory (ends with &apos;/&apos;), a directory stream
            is opened, otherwise the contents of the file entry is returned.
            </summary>
            <param name="aJarSpec">
            the Spec of the URI for the JAR (only used for directory streams)
            </param>
            <param name="zipEntry">
            the name of the entry to open the stream from
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReader.GetSigningCert(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns an object describing the entity which signed
            an entry. parseManifest must be called first. If aEntryName is an
            entry in the jar, getInputStream must be called after parseManifest.
            If aEntryName is an external file which has meta-information
            stored in the jar, verifyExternalFile (not yet implemented) must
            be called before getPrincipal.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReaderCache.Init(System.UInt32)">
            <summary>
            Initializes a new zip reader cache.
            </summary>
            <param name="cacheSize">
            - the number of released entries to maintain before
            beginning to throw some out (note that the number of outstanding
            entries can be much greater than this number -- this is the count
            for those otherwise unused entries)
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReaderCache.GetZip(Gecko.Interfaces.nsIFile)">
            <summary>
            Returns a (possibly shared) nsIZipReader for an nsIFile.
            
            If the zip reader for given file is not in the cache, a new zip reader
            is created, initialized, and opened (see nsIZipReader::init and
            nsIZipReader::open). Otherwise the previously created zip reader is
            returned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReaderCache.IsCached(Gecko.Interfaces.nsIFile)">
            <summary>
            returns true if this zipreader already has this file cached
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReaderCache.GetInnerZip(Gecko.Interfaces.nsIFile,Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a (possibly shared) nsIZipReader for a zip inside another zip
            
            See getZip
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipReaderCache.GetFd(Gecko.Interfaces.nsIFile)">
            <summary>
            Returns the cached NSPR file descriptor of the file.
            Note: currently not supported on Windows platform.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIZipWriter">
            <summary>
            nsIZipWriter
            
            An interface for a zip archiver that can be used from script.
            
            The interface supports both a synchronous method of archiving data and a
            queueing system to allow operations to be prepared then run in sequence
            with notification after completion.
            
            Operations added to the queue do not get performed until performQueue is
            called at which point they will be performed in the order that they were
            added to the queue.
            
            Operations performed on the queue will throw any errors out to the
            observer.
            
            An attempt to perform a synchronous operation while the background queue
            is in progress will throw NS_ERROR_IN_PROGRESS.
            
            Entry names should use /&apos;s as path separators and should not start with
            a /.
            
            It is not generally necessary to add directory entries in order to add file
            entries within them, however it is possible that some zip programs may
            experience problems what that.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.GetCommentAttribute(Gecko.nsACStringBase)">
            <summary>
            Gets or sets the comment associated with the open zip file.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.GetInQueueAttribute">
            <summary>
            Indicates that operations on the background queue are being performed.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.GetFileAttribute">
            <summary>
            The file that the zipwriter is writing to.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.Open(Gecko.Interfaces.nsIFile,System.Int32)">
            <summary>
            Opens a zip file.
            </summary>
            <param name="aFile">
            the zip file to open
            </param>
            <param name="aIoFlags">
            the open flags for the zip file from prio.h
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_ALREADY_INITIALIZED: if a zip file is already open
            NS_ERROR_INVALID_ARG: if aFile is null
            NS_ERROR_FILE_NOT_FOUND: if aFile does not exist and flags did
            not allow for creation
            NS_ERROR_FILE_CORRUPTED: if the file does not contain zip markers
            &lt;other-error&gt;: on failure to open zip file (most likely corrupt
            or unsupported form)
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.GetEntry(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns a nsIZipEntry describing a specified zip entry or null if there
            is no such entry in the zip file
            </summary>
            <param name="aZipEntry">
            the path of the entry
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.HasEntry(Gecko.nsAUTF8StringBase)">
            <summary>
            Checks whether the zipfile contains an entry specified by zipEntry.
            </summary>
            <param name="aZipEntry">
            the path of the entry
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.AddEntryDirectory(Gecko.nsAUTF8StringBase,System.UInt64,System.Boolean)">
            <summary>
            Adds a new directory entry to the zip file. If aZipEntry does not end with
            "/" then it will be added.
            </summary>
            <param name="aZipEntry">
            the path of the directory entry
            </param>
            <param name="aModTime">
            the modification time of the entry in microseconds
            </param>
            <param name="aQueue">
            adds the operation to the background queue. Will be
            performed when processQueue is called.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            NS_ERROR_FILE_ALREADY_EXISTS: if the path already exists in the
            file
            NS_ERROR_IN_PROGRESS: if another operation is currently in progress
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.AddEntryFile(Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.nsIFile,System.Boolean)">
            <summary>
            Adds a new file or directory to the zip file. If the specified file is
            a directory then this will be equivalent to a call to
            addEntryDirectory(aZipEntry, aFile.lastModifiedTime, aQueue)
            </summary>
            <param name="aZipEntry">
            the path of the file entry
            </param>
            <param name="aCompression">
            the compression level, 0 is no compression, 9 is best
            </param>
            <param name="aFile">
            the file to get the data and modification time from
            </param>
            <param name="aQueue">
            adds the operation to the background queue. Will be
            performed when processQueue is called.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            NS_ERROR_FILE_ALREADY_EXISTS: if the path already exists in the zip
            NS_ERROR_IN_PROGRESS: if another operation is currently in progress
            NS_ERROR_FILE_NOT_FOUND: if file does not exist
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.AddEntryChannel(Gecko.nsAUTF8StringBase,System.UInt64,System.Int32,Gecko.Interfaces.nsIChannel,System.Boolean)">
            <summary>
            Adds data from a channel to the zip file. If the operation is performed
            on the queue then the channel will be opened asynchronously, otherwise
            the channel must support being opened synchronously.
            </summary>
            <param name="aZipEntry">
            the path of the file entry
            </param>
            <param name="aModTime">
            the modification time of the entry in microseconds
            </param>
            <param name="aCompression">
            the compression level, 0 is no compression, 9 is best
            </param>
            <param name="aChannel">
            the channel to get the data from
            </param>
            <param name="aQueue">
            adds the operation to the background queue. Will be
            performed when processQueue is called.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            NS_ERROR_FILE_ALREADY_EXISTS: if the path already exists in the zip
            NS_ERROR_IN_PROGRESS: if another operation is currently in progress
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.AddEntryStream(Gecko.nsAUTF8StringBase,System.UInt64,System.Int32,Gecko.Interfaces.nsIInputStream,System.Boolean)">
            <summary>
            Adds data from an input stream to the zip file.
            </summary>
            <param name="aZipEntry">
            the path of the file entry
            </param>
            <param name="aModTime">
            the modification time of the entry in microseconds
            </param>
            <param name="aCompression">
            the compression level, 0 is no compression, 9 is best
            </param>
            <param name="aStream">
            the input stream to get the data from
            </param>
            <param name="aQueue">
            adds the operation to the background queue. Will be
            performed when processQueue is called.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            NS_ERROR_FILE_ALREADY_EXISTS: if the path already exists in the zip
            NS_ERROR_IN_PROGRESS: if another operation is currently in progress
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.RemoveEntry(Gecko.nsAUTF8StringBase,System.Boolean)">
            <summary>
            Removes an existing entry from the zip file.
            </summary>
            <param name="aZipEntry">
            the path of the entry to be removed
            </param>
            <param name="aQueue">
            adds the operation to the background queue. Will be
            performed when processQueue is called.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            NS_ERROR_IN_PROGRESS: if another operation is currently in progress
            NS_ERROR_FILE_NOT_FOUND: if no entry with the given path exists
            &lt;other-error&gt;: on failure to update the zip file
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.ProcessQueue(Gecko.Interfaces.nsIRequestObserver,Gecko.Interfaces.nsISupports)">
            <summary>
            Processes all queued items until complete or some error occurs. The
            observer will be notified when the first operation starts and when the
            last operation completes. Any failures will be passed to the observer.
            The zip writer will be busy until the queue is complete or some error
            halted processing of the queue early. In the event of an early failure,
            remaining items will stay in the queue and calling processQueue will
            continue.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            NS_ERROR_IN_PROGRESS: if the queue is already in progress
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.Close">
            <summary>
            Closes the zip file.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_INITIALIZED: if no zip file has been opened
            NS_ERROR_IN_PROGRESS: if another operation is currently in progress
            &lt;other-error&gt;: on failure to complete the zip file
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsIZipWriter.AlignStoredFiles(System.UInt16)">
            <summary>
            Make all stored(uncompressed) files align to given alignment size.
            </summary>
            <param name="aAlignSize">
            is the alignment size, valid values from 2 to 32768, and
            must be power of 2.
            </param>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_INVALID_ARG: if aAlignSize is invalid
            &lt;other-error&gt;: on failure to update the zip file
            </exception>
        </member>
        <member name="T:Gecko.Interfaces.nsPIDNSService">
            <summary>
            This is a private interface used by the internals of the networking library.
            It will never be frozen.  Do not use it in external code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.AsyncResolve(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.Interfaces.nsIDNSListener,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            kicks off an asynchronous host lookup.
            </summary>
            <param name="aHostName">
            the hostname or IP-address-literal to resolve.
            </param>
            <param name="aFlags">
            a bitwise OR of the RESOLVE_ prefixed constants defined below.
            </param>
            <param name="aListener">
            the listener to be notified when the result is available.
            </param>
            <param name="aListenerTarget">
            optional parameter (may be null).  if non-null, this parameter
            specifies the nsIEventTarget of the thread on which the
            listener&apos;s onLookupComplete should be called.  however, if this
            parameter is null, then onLookupComplete will be called on an
            unspecified thread (possibly recursively).
            </param>
            <returns>
            An object that can be used to cancel the host lookup.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.CancelAsyncResolve(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.Interfaces.nsIDNSListener,System.Int32)">
            <summary>
            Attempts to cancel a previously requested async DNS lookup
            </summary>
            <param name="aHostName">
            the hostname or IP-address-literal to resolve.
            </param>
            <param name="aFlags">
            a bitwise OR of the RESOLVE_ prefixed constants defined below.
            </param>
            <param name="aListener">
            the original listener which was to be notified about the host lookup
            result - used to match request information to requestor.
            </param>
            <param name="aReason">
            nsresult reason for the cancellation
            </param>
            <returns>
            An object that can be used to cancel the host lookup.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.Resolve(Gecko.nsAUTF8StringBase,System.UInt32)">
            <summary>
            called to synchronously resolve a hostname.  warning this method may
            block the calling thread for a long period of time.  it is extremely
            unwise to call this function on the UI thread of an application.
            </summary>
            <param name="aHostName">
            the hostname or IP-address-literal to resolve.
            </param>
            <param name="aFlags">
            a bitwise OR of the RESOLVE_ prefixed constants defined below.
            </param>
            <returns>
            DNS record corresponding to the given hostname.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNKNOWN_HOST: if host could not be resolved.
            </exception>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.AsyncResolveExtended(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIDNSListener,Gecko.Interfaces.nsIEventTarget)">
            <summary>
            kicks off an asynchronous host lookup.
            
            This function is identical to asyncResolve except an additional
            parameter aNetwortInterface. If parameter aNetworkInterface is an empty
            string function will return the same result as asyncResolve.
            Setting aNetworkInterface value make only sense for gonk,because it
            an per networking interface query is possible.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.CancelAsyncResolveExtended(Gecko.nsAUTF8StringBase,System.UInt32,Gecko.nsAUTF8StringBase,Gecko.Interfaces.nsIDNSListener,System.Int32)">
            <summary>
            Attempts to cancel a previously requested async DNS lookup
            This is an extended versin with a additional parameter aNetworkInterface
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.GetDNSCacheEntries(System.IntPtr)">
            <summary>
            The method takes a pointer to an nsTArray
            and fills it with cache entry data
            Called by the networking dashboard
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.GetMyHostNameAttribute(Gecko.nsAUTF8StringBase)">
            <summary>
            
            </summary>
            <returns>
            the hostname of the operating system.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.Init">
            <summary>
            called to initialize the DNS service.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.Shutdown">
            <summary>
            called to shutdown the DNS service.  any pending asynchronous
            requests will be canceled, and the local cache of DNS records
            will be cleared.  NOTE: the operating system may still have
            its own cache of DNS records, which would be unaffected by
            this method.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIDNSService.GetPrefetchEnabledAttribute">
            <summary>
            Whether or not DNS prefetching (aka RESOLVE_SPECULATE) is enabled
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsPILoadGroupInternal">
            <summary>
            Dumping ground for load group experimental work.
            This interface will never be frozen.  If you are
            using any feature exposed by this interface, be aware that this interface
            will change and you will be broken.  You have been warned.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPILoadGroupInternal.OnEndPageLoad(Gecko.Interfaces.nsIChannel)">
            <summary>
            Called when the load group has loaded main page and
            subresources. (i.e.essentially DOMComplete)
            </summary>
            <param name="aDefaultChanel">
            The request channel for the base apge
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsPIPlacesDatabase">
            <summary>
            This is a private interface used by Places components to get access to the
            database.  If outside consumers wish to use this, they should only read from
            the database so they do not break any internal invariants.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIPlacesDatabase.GetDBConnectionAttribute">
            <summary>
            The database connection used by Places.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIPlacesDatabase.AsyncExecuteLegacyQueries(Gecko.Interfaces.nsINavHistoryQuery[],System.UInt32,Gecko.Interfaces.nsINavHistoryQueryOptions,Gecko.Interfaces.mozIStorageStatementCallback)">
            <summary>
            Asynchronously executes the statement created from queries.
            </summary>
            <remarks>
            See nsINavHistoryService::executeQueries
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsPIPlacesDatabase.GetShutdownClientAttribute">
            <summary>
            Hook for clients who need to perform actions during/by the end of
            the shutdown of the database.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsPISocketTransportService">
            <summary>
            This is a private interface used by the internals of the networking library.
            It will never be frozen.  Do not use it in external code.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.CreateTransport(System.IntPtr[],System.UInt32,Gecko.nsAUTF8StringBase,System.Int32,Gecko.Interfaces.nsIProxyInfo)">
            <summary>
            Creates a transport for a specified host and port.
            </summary>
            <param name="aSocketTypes">
            array of socket type strings.  null if using default socket type.
            </param>
            <param name="aTypeCount">
            specifies length of aSocketTypes.
            </param>
            <param name="aHost">
            specifies the target hostname or IP address literal of the peer
            for this socket.
            </param>
            <param name="aPort">
            specifies the target port of the peer for this socket.
            </param>
            <param name="aProxyInfo">
            specifies the transport-layer proxy type to use.  null if no
            proxy.  used for communicating information about proxies like
            SOCKS (which are transparent to upper protocols).
            </param>
            <remarks>
            See nsIProtocolProxyService::GetProxyInfo
            
            NOTE: this function can be called from any thread
            </remarks>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.CreateUnixDomainTransport(Gecko.Interfaces.nsIFile)">
            <summary>
            Create a transport built on a Unix domain socket, connecting to the
            given filename.
            
            Since Unix domain sockets are always local to the machine, they are
            not affected by the nsIIOService&apos;s &apos;offline&apos; flag.
            
            On systems that don&apos;t support Unix domain sockets at all, this
            returns NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED.
            
            The system-level socket API may impose restrictions on the length of
            the filename that are stricter than those of the underlying
            filesystem. If the file name is too long, this returns
            NS_ERROR_FILE_NAME_TOO_LONG.
            
            The |aPath| parameter must specify an existing directory entry.
            Otherwise, this returns NS_ERROR_FILE_NOT_FOUND.
            
            The program must have search permission on all components of the
            path prefix of |aPath|, and read and write permission on |aPath|
            itself. Without such permission, this returns
            NS_ERROR_CONNECTION_REFUSED.
            
            The |aPath| parameter must refer to a unix-domain socket. Otherwise,
            this returns NS_ERROR_CONNECTION_REFUSED. (POSIX specifies
            ECONNREFUSED when &quot;the target address was not listening for
            connections&quot;, and this is what Linux returns.)
            </summary>
            <param name="aPath">
            The file name of the Unix domain socket to which we should
            connect.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.AttachSocket(System.IntPtr,System.IntPtr)">
            <summary>
            Adds a new socket to the list of controlled sockets.
            
            This will fail with the error code NS_ERROR_NOT_AVAILABLE if the maximum
            number of sockets is already reached.
            In this case, the notifyWhenCanAttachSocket method should be used.
            </summary>
            <param name="aFd">
            Open file descriptor of the socket to control.
            </param>
            <param name="aHandler">
            Socket handler that will receive notifications when the socket is
            ready or detached.
            
            NOTE: this function may only be called from an event dispatch on the
            socket thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.NotifyWhenCanAttachSocket(Gecko.Interfaces.nsIRunnable)">
            <summary>
            if the number of sockets reaches the limit, then consumers can be
            notified when the number of sockets becomes less than the limit.  the
            notification is asynchronous, delivered via the given nsIRunnable
            instance on the socket transport thread.
            </summary>
            <param name="aEvent">
            Event that will receive the notification when a new socket can
            be attached
            
            NOTE: this function may only be called from an event dispatch on the
            socket thread.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.Init">
            <summary>
            init/shutdown routines.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.GetSendBufferSizeAttribute">
            <summary>
            controls the TCP sender window clamp
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.GetOfflineAttribute">
            <summary>
            Controls whether the socket transport service is offline.
            Setting it offline will cause non-local socket detachment.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.GetKeepaliveIdleTimeAttribute">
            <summary>
            Controls the default timeout (in seconds) for sending keepalive probes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.GetKeepaliveRetryIntervalAttribute">
            <summary>
            Controls the default interval (in seconds) between retrying keepalive probes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPISocketTransportService.GetKeepaliveProbeCountAttribute">
            <summary>
            Controls the default retransmission count for keepalive probes.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsPIWindowWatcher.AddWindow(Gecko.Interfaces.mozIDOMWindowProxy,Gecko.Interfaces.nsIWebBrowserChrome)">
            <summary>
            A window has been created. Add it to our list.
            </summary>
            <param name="aWindow">
            the window to add
            </param>
            <param name="aChrome">
            the corresponding chrome window. The DOM window
            and chrome will be mapped together, and the corresponding
            chrome can be retrieved using the (not private)
            method getChromeForWindow. If null, any extant mapping
            will be cleared.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsPIWindowWatcher.RemoveWindow(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            A window has been closed. Remove it from our list.
            </summary>
            <param name="aWindow">
            the window to remove
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsPIWindowWatcher.OpenWindow2(Gecko.Interfaces.mozIDOMWindowProxy,System.String,System.String,System.String,System.Boolean,System.Boolean,System.Boolean,Gecko.Interfaces.nsISupports,System.Boolean,System.Boolean,Gecko.Interfaces.nsIDocShellLoadInfo)">
            <summary>
            Like the public interface&apos;s open(), but can handle openDialog-style
            arguments and calls which shouldn&apos;t result in us navigating the window.
            </summary>
            <param name="aParent">
            parent window, if any. Null if no parent.  If it is
            impossible to get to an nsIWebBrowserChrome from aParent, this
            method will effectively act as if aParent were null.
            </param>
            <param name="aURL">
            url to which to open the new window. Must already be
            escaped, if applicable. can be null.
            </param>
            <param name="aName">
            window name from JS window.open. can be null.  If a window
            with this name already exists, the openWindow call may just load
            aUrl in it (if aUrl is not null) and return it.
            </param>
            <param name="aFeatures">
            window features from JS window.open. can be null.
            </param>
            <param name="aCalledFromScript">
            true if we were called from script.
            </param>
            <param name="aDialog">
            use dialog defaults (see nsIDOMWindow::openDialog)
            </param>
            <param name="aNavigate">
            true if we should navigate the new window to the
            specified URL.
            </param>
            <param name="aArgs">
            Window argument
            </param>
            <param name="aIsPopupSpam">
            true if the window is a popup spam window; used for
            popup blocker internals.
            </param>
            <param name="aForceNoOpener">
            If true, force noopener behavior.  This means not
            looking for existing windows with the given name,
            not setting an opener on the newly opened window,
            and returning null from this method.
            </param>
            <param name="aLoadInfo">
            if aNavigate is true, this allows the caller to pass in
            an nsIDocShellLoadInfo to use for the navigation.
            Callers can pass in null if they want the windowwatcher
            to just construct a loadinfo itself.  If aNavigate is
            false, this argument is ignored.
            </param>
            <returns>
            the new window
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsPIWindowWatcher.OpenWindowWithoutParent">
            <summary>
            Opens a new window using the most recent non-private browser
            window as its parent.
            </summary>
            <returns>
            the nsITabParent of the initial browser for the newly opened
            window.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsPIWindowWatcher.OpenWindowWithTabParent(Gecko.Interfaces.nsITabParent,Gecko.nsACStringBase,System.Boolean,System.Single)">
            <summary>
            Opens a new window so that the window that aOpeningTab belongs to
            is set as the parent window. The newly opened window will also
            inherit load context information from aOpeningTab.
            </summary>
            <param name="aOpeningTab">
            The nsITabParent that is requesting the new window be opened.
            </param>
            <param name="aFeatures">
            Window features if called with window.open or similar.
            </param>
            <param name="aCalledFromJS">
            True if called via window.open or similar.
            </param>
            <param name="aOpenerFullZoom">
            The current zoom multiplier for the opener tab. This is then
            applied to the newly opened window.
            </param>
            <returns>
            the nsITabParent of the initial browser for the newly opened
            window.
            </returns>
        </member>
        <member name="M:Gecko.Interfaces.nsPIWindowWatcher.FindItemWithName(Gecko.nsAStringBase,Gecko.Interfaces.nsIDocShellTreeItem,Gecko.Interfaces.nsIDocShellTreeItem)">
            <summary>
            Find a named docshell tree item amongst all windows registered
            with the window watcher.  This may be a subframe in some window,
            for example.
            </summary>
            <param name="aName">
            the name of the window.  Must not be null.
            </param>
            <param name="aRequestor">
            the tree item immediately making the request.
            We should make sure to not recurse down into its findItemWithName
            method.
            </param>
            <param name="aOriginalRequestor">
            the original treeitem that made the request.
            Used for security checks.
            </param>
            <returns>
            the tree item with aName as the name, or null if there
            isn&apos;t one.  &quot;Special&quot; names, like _self, _top, etc, will be
            treated specially only if aRequestor is null; in that case they
            will be resolved relative to the first window the windowwatcher
            knows about.
            </returns>
            <remarks>
            See findItemWithName methods on nsIDocShellTreeItem and
            nsIDocShellTreeOwner
            </remarks>
        </member>
        <member name="T:Gecko.Interfaces.rdfIDataSource">
            <summary>
            Interface used in RDF to describe data sources.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.rdfIDataSource.VisitAllSubjects(Gecko.Interfaces.rdfITripleVisitor)">
            <summary>
            Visit all the subject resources in the datasource. The order is
            intederminate and may change from one invocation to the next.
            The subjects will be in the aSubject argument in calls into
            aVisitor, aPredicate and aObject will be null.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.rdfIDataSource.VisitAllTriples(Gecko.Interfaces.rdfITripleVisitor)">
            <summary>
            Visit all the triples in the datasource. The order is
            intederminate and may change from one invocation to the next.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.rdfISerializer">
            <summary>
            Interface used to serialize RDF.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.rdfISerializer.Serialize(Gecko.Interfaces.rdfIDataSource,Gecko.Interfaces.nsIOutputStream)">
            <summary>
            Synchronously serialize the given datasource to the outputstream.
            
            Implementations are not required to implement any buffering or
            other stream-based optimizations.
            </summary>
            <param name="aDataSource">
            The RDF data source to be serialized.
            </param>
            <param name="aOut">
            The output stream to use.
            </param>
        </member>
        <member name="T:Gecko.Interfaces.rdfITripleVisitor">
            <summary>
            Interface used in RDF to enumerate triples.
            Also used by rdfIDataSource::getAllSubjects, then aPredicate,
            aObject and aTruthValue are ignored.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.rdfITripleVisitor.Visit(Gecko.Interfaces.nsIRDFNode,Gecko.Interfaces.nsIRDFResource,Gecko.Interfaces.nsIRDFNode,System.Boolean)">
            <summary>
            Callback function for returning query results.
            </summary>
            <param name="aSubject,">
            aPredicate, aObject describe the (sub-)arc
            </param>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_InterfacesByID">
            <summary>
            interface of Components.interfacesByID
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_Interfaces">
            <summary>
            interface of Components.interfaces
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_Classes">
            <summary>
            interface of Components.classes
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_ClassesByID">
            <summary>
            interface of Components.classesByID
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_Results">
            <summary>
            interface of Components.results
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_ID">
            <summary>
            interface of Components.ID
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_Exception">
            <summary>
            interface of Components.Exception
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_Constructor">
            <summary>
            interface of Components.Constructor
            (interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCConstructor">
            <summary>
            interface of object returned by Components.Constructor
            (additional interesting stuff only reflected into JavaScript)
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_utils_Sandbox">
            <summary>
            interface of object returned by Components.utils.Sandbox.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.ScheduledGCCallback">
            <summary>
            interface for callback to be passed to Cu.schedulePreciseGC
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponents_Utils">
            <summary>
            interface of Components.utils
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.IsModuleLoaded(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns true if the js file located at &apos;registryLocation&apos; location has
            been loaded previously via the import method above. Returns false
            otherwise.
            </summary>
            <param name="resourceURI">
            A resource:// URI string representing the location of
            the js file to be checked if it is already loaded or not.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.IsDeadWrapper(SpiderMonkey.JSVal@)">
            <summary>
            Determines whether this object is backed by a DeadObjectProxy.
            
            Dead-wrapper objects hold no other objects alive (they have no outgoing
            reference edges) and will throw if you touch them (e.g. by
            reading/writing a property).
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.IsCrossProcessWrapper(SpiderMonkey.JSVal@)">
            <summary>
            Determines whether this object is a cross-process wrapper.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.GetCrossProcessWrapperTag(SpiderMonkey.JSVal@,Gecko.nsACStringBase)">
            <summary>
            CPOWs can have user data attached to them. This data originates
            in the local process via the
            nsIRemoteTagService.getRemoteObjectTag method. It&apos;s sent along
            with the CPOW to the remote process, where it can be fetched
            with this function, getCrossProcessWrapperTag.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.PermitCPOWsInScope(SpiderMonkey.JSVal@)">
            <summary>
            If CPOWs are disabled for browser code via the
            dom.ipc.cpows.forbid-unsafe-from-browser preferences, then only
            add-ons can use CPOWs. This function allows a non-addon scope
            to opt into CPOWs. It&apos;s necessary for the implementation of
            RemoteAddonsParent.jsm.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.IsXrayWrapper(SpiderMonkey.JSVal@)">
            <summary>
            Check whether the given object is an XrayWrapper.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.WaiveXrays(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Waive Xray on a given value. Identity op for primitives.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.UnwaiveXrays(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Strip off Xray waivers on a given value. Identity op for primitives.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.GetClassName(SpiderMonkey.JSVal@,System.Boolean,System.IntPtr)">
            <summary>
            Gets the name of the JSClass of the object.
            
            if |aUnwrap| is true, all wrappers are unwrapped first. Unless you&apos;re
            specifically trying to detect whether the object is a proxy, this is
            probably what you want.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.GetDOMClassInfo(Gecko.nsAStringBase)">
            <summary>
            Get a DOM classinfo for the given classname.  Only some class
            names are supported.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.GetIncumbentGlobal(SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Gets the incument global for the execution of this function. For internal
            and testing use only.
            
            If |callback| is passed, it is invoked with the incumbent global as its
            sole argument. This allows the incumbent global to be measured in callback
            environments with no scripted frames on the stack.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.GenerateXPCWrappedJS(SpiderMonkey.JSVal@,SpiderMonkey.JSVal@,System.IntPtr)">
            <summary>
            Forces the generation of an XPCWrappedJS for a given object. For internal
            and testing use only. This is only useful to set up wrapper map conditions
            for a testcase. The return value is not an XPCWrappedJS itself, but an
            opaque nsISupports holder that keeps the underlying XPCWrappedJS alive.
            
            if |scope| is passed, the XPCWrappedJS is generated in the scope of that object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.nsIXPCComponents_Utils.GetWatchdogTimestamp(Gecko.nsAStringBase)">
            <summary>
            Retrieve the last time, in microseconds since epoch, that a given
            watchdog-related event occured.
            
            Valid categories:
            &quot;ContextStateChange&quot;      - Context switching between active and inactive states
            &quot;WatchdogWakeup&quot;          - Watchdog waking up from sleeping
            &quot;WatchdogHibernateStart&quot;  - Watchdog begins hibernating
            &quot;WatchdogHibernateStop&quot;   - Watchdog stops hibernating
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsIXPCComponentsBase">
            <summary>
            Interface for the &apos;Components&apos; object.
            
            The first interface contains things that are available to non-chrome XBL code
            that runs in a scope with an nsExpandedPrincipal. The second interface
            includes members that are only exposed to chrome.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.xpcIJSGetFactory">
            <summary>
            Every JS module exports a single NSGetFactory symbol which is converted into this
            functional interface type.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.xpcIJSModuleLoader.Import(Gecko.nsAUTF8StringBase,SpiderMonkey.JSVal@,System.IntPtr,System.Byte)">
            <summary>
            To be called from JavaScript only.
            
            Synchronously loads and evaluates the js file located at
            aResourceURI with a new, fully privileged global object.
            
            If &apos;targetObj&apos; is specified and equal to null, returns the
            module&apos;s global object. Otherwise (if &apos;targetObj&apos; is not
            specified, or &apos;targetObj&apos; is != null) looks for a property
            &apos;EXPORTED_SYMBOLS&apos; on the new global object. &apos;EXPORTED_SYMBOLS&apos;
            is expected to be an array of strings identifying properties on
            the global object.  These properties will be installed as
            properties on &apos;targetObj&apos;, or, if &apos;targetObj&apos; is not specified,
            on the caller&apos;s global object. If &apos;EXPORTED_SYMBOLS&apos; is not
            found, an error is thrown.
            </summary>
            <param name="resourceURI">
            A resource:// URI string to load the module from.
            </param>
            <param name="targetObj">
            the object to install the exported properties on.
            If this parameter is a primitive value, this method throws
            an exception.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.xpcIJSModuleLoader.ImportInto(Gecko.nsAUTF8StringBase,System.IntPtr,System.IntPtr)">
            <summary>
            Imports the JS module at aResourceURI to the JS object
            &apos;targetObj&apos; (if != null) as described for importModule() and
            returns the module&apos;s global object.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.xpcIJSModuleLoader.Unload(Gecko.nsAUTF8StringBase)">
            <summary>
            Unloads the JS module at aResourceURI. Existing references to the module
            will continue to work but any subsequent import of the module will
            reload it and give new reference. If the JS module hasn&apos;t yet been imported
            then this method will do nothing.
            </summary>
        </member>
        <member name="M:Gecko.Interfaces.xpcIJSModuleLoader.IsModuleLoaded(Gecko.nsAUTF8StringBase)">
            <summary>
            Returns true if the js file located at &apos;registryLocation&apos; location has
            been loaded previously via the import method above. Returns false
            otherwise.
            </summary>
            <param name="resourceURI">
            A resource:// URI string representing the location of
            the js file to be checked if it is already loaded or not.
            </param>
        </member>
        <member name="M:Gecko.Interfaces.xpcIJSWeakReference.Get(System.IntPtr)">
            <summary>
            To be called from JS only.
            
            Returns the referenced JS object or null if the JS object has
            been garbage collected.
            </summary>
        </member>
        <member name="T:Gecko.GeckoMoveFocusType">
            <summary>
            Move focus type.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.Forward">
            <summary>
            Move focus forward one element, used when pressing TAB.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.Backward">
            <summary>
            Move focus backward one element, used when pressing Shift+TAB.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.ForwardDocument">
            <summary>
            Move focus forward to the next frame document, used when pressing F6.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.BackwardDocument">
            <summary>
            Move focus backward to the previous frame document, used when pressing Shift+F6.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.First">
            <summary>
            Move focus to the first focusable element.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.Last">
            <summary>
            Move focus to the last focusable element.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.Root">
            <summary>
            Move focus to the root element in the document.
            </summary>
        </member>
        <member name="F:Gecko.GeckoMoveFocusType.Caret">
            <summary>
            Move focus to a link at the position of the caret. This is a special value
            used to focus links as the caret moves over them in caret browsing mode.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.BeginInputTransaction(Gecko.DOM.GeckoWindow,Gecko.Interfaces.nsITextInputProcessorCallback)">
            <summary>
            When you create an instance, you must call beginInputTransaction() first
            except when you created the instance for automated tests.
            </summary>
            <param name="window">
            A DOM window. The instance will look for a top level widget from this.
            </param>
            <param name="callback">
            Callback interface which handles requests to IME and notifications to IME.
            This must not be null.
            </param>
            <returns>
            If somebody uses internal text input service for a composition, this returns
            false. Otherwise, returns true. I.e., only your TIP can create composition
            when this returns true. If this returns false, your TIP should wait next chance.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.StartComposition(Gecko.DOM.GeckoKeyboardEvent)">
            <summary>
            Dispatches compositionstart event explicitly.
            IME does NOT need to call this typically since compositionstart event
            is automatically dispatched by sendPendingComposition() if
            compositionstart event hasn&apos;t been dispatched yet.  If this is called
            when compositionstart has already been dispatched, this throws an
            exception.
            </summary>
            <param name="keyboardEvent">
            Key event which causes starting composition.
            If its type value is &quot;keydown&quot;, this method
            dispatches only keydown event first.  Otherwise,
            dispatches keydown first and keyup at last.
            </param>
            <returns>
            Returns true if composition starts normally.
            Otherwise, returns false because it might be
            canceled by the web application.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.StartComposition(Gecko.DOM.GeckoKeyboardEvent,System.UInt32)">
            <summary>
            Dispatches compositionstart event explicitly.
            IME does NOT need to call this typically since compositionstart event
            is automatically dispatched by sendPendingComposition() if
            compositionstart event hasn&apos;t been dispatched yet.  If this is called
            when compositionstart has already been dispatched, this throws an
            exception.
            </summary>
            <param name="keyboardEvent">
            Key event which causes starting composition.
            If its type value is &quot;keydown&quot;, this method
            dispatches only keydown event first.  Otherwise,
            dispatches keydown first and keyup at last.
            </param>
            <param name="keyFlags">
            See KEY_* constants.
            </param>
            <returns>
            Returns true if composition starts normally.
            Otherwise, returns false because it might be
            canceled by the web application.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.SetPendingCompositionString(System.String)">
            <summary>
            Set new composition string. Pending composition will be flushed by
            a call of flushPendingComposition(). However, if the new composition
            string isn&apos;t empty, you need to call appendClauseToPendingComposition() to
            fill all characters of compositionString with one or more clauses before flushing.
            Note that if you need to commit or cancel composition, use
            commitComposition(), commitCompositionWith() or cancelComposition().
            </summary>
            <param name="compositionString">New pending composition string.</param>
            <remarks>This must be called before every call of flushPendingComposition().</remarks>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.AppendClauseToPendingComposition(System.Int32,System.UInt32)">
            <summary>
            Appends a clause to the pending composition string which is set
            by setPendingCompositionString(). Sum of length must be same as
            the length of compositionString of setPendingCompositionString().
            </summary>
            <param name="length">
            The length of appending clause.
            </param>
            <param name="attribute">
            The attribute of appending clause. Must be one of ATTR_* constants.
            </param>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.SetCaretInPendingComposition(System.Int32)">
            <summary>
            Sets caret position in the composition string set by setPendingCompositionString().
            This is optional, i.e., you may not call this before flushPendingComposition().
            </summary>
            <param name="offset">
            Caret offset in the composition string. This value must be between 0 and
            the length of compositionString of setPendingCompositionString().
            </param>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.FlushPendingComposition(Gecko.DOM.GeckoKeyboardEvent)">
            <summary>
            Flushes the pending composition which are set by setPendingCompositionString(),
            appendClauseToPendingComposition(), and setCaretInPendingComposition() on
            the focused editor.
            </summary>
            <param name="keyboardEvent">
            When the modifying composition is caused by a key operation, this should be specified.
            If this is specified, keyboard events may be dispatched when Gecko thinks that they
            should be.
            </param>
            <returns>
            When there is no composition which was created by the instance and if compositionstart
            is consumed by web contents, i.e., failed to start new composition, this returns false.
            Otherwise, it returns true.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.FlushPendingComposition(Gecko.DOM.GeckoKeyboardEvent,System.UInt32)">
            <summary>
            Flushes the pending composition which are set by setPendingCompositionString(),
            appendClauseToPendingComposition(), and setCaretInPendingComposition() on
            the focused editor.
            </summary>
            <param name="keyboardEvent">
            When the modifying composition is caused by a key operation, this should be specified.
            If this is specified, keyboard events may be dispatched when Gecko thinks that they
            should be.
            </param>
            <param name="keyFlags">
            See KEY_* constants. If this is not specified, the value is assumed as 0.
            </param>
            <returns>
            When there is no composition which was created by the instance and if compositionstart
            is consumed by web contents, i.e., failed to start new composition, this returns false.
            Otherwise, it returns true.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.CommitComposition(Gecko.DOM.GeckoKeyboardEvent)">
            <summary>
            Commits the composition with the last composition string. If you call this
            when there is no composition, this throws an exception.
            </summary>
            <param name="keyboardEvent">
            When the committing composition is caused by a key operation, this should be specified.
            If this is specified, keyboard events may be dispatched when Gecko thinks that they should be.
            </param>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.CommitComposition(Gecko.DOM.GeckoKeyboardEvent,System.UInt32)">
            <summary>
            Commits the composition with the last composition string. If you call this
            when there is no composition, this throws an exception.
            </summary>
            <param name="keyboardEvent">
            When the committing composition is caused by a key operation, this should be specified.
            If this is specified, keyboard events may be dispatched when Gecko thinks that they should be.
            </param>
            <param name="keyFlags">
            See KEY_* constants. If this is not specified, the value is assumed as 0.
            </param>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.CommitCompositionWith(System.String,Gecko.DOM.GeckoKeyboardEvent)">
            <summary>
            Commits the composition with the specified string. If you call this when there
            is no composition, this starts composition automatically and commits the
            composition with specified string immediately.
            </summary>
            <param name="commitString">
            The commit string.
            </param>
            <param name="keyboardEvent">
            When the committing composition is caused by a key operation, this should be
            specified. If this is specified, keyboard events may be dispatched when Gecko
            thinks that they should be.
            </param>
            <returns>
            If this couldn't insert the string when there is no composition (e.g., compositionstart
            is consumed by the web contents), it returns false. The other cases return true.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.CommitCompositionWith(System.String,Gecko.DOM.GeckoKeyboardEvent,System.UInt32)">
            <summary>
            Commits the composition with the specified string. If you call this when there
            is no composition, this starts composition automatically and commits the
            composition with specified string immediately.
            </summary>
            <param name="commitString">
            The commit string.
            </param>
            <param name="keyboardEvent">
            When the committing composition is caused by a key operation, this should be
            specified. If this is specified, keyboard events may be dispatched when Gecko
            thinks that they should be.
            </param>
            <param name="keyFlags">
            See KEY_* constants. If this is not specified, the value is assumed as 0.
            </param>
            <returns>
            If this couldn't insert the string when there is no composition (e.g., compositionstart
            is consumed by the web contents), it returns false. The other cases return true.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.CancelComposition(Gecko.DOM.GeckoKeyboardEvent)">
            <summary>
            Cancels the composition which was created by the instance. If you call this
            when there is no composition, this throws an exception.
            </summary>
            <param name="keyboardEvent">
            When the committing composition is caused by a key operation, this should be
            specified. If this is specified, keyboard events may be dispatched when Gecko
            thinks that they should be.
            </param>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.CancelComposition(Gecko.DOM.GeckoKeyboardEvent,System.UInt32)">
            <summary>
            Cancels the composition which was created by the instance. If you call this
            when there is no composition, this throws an exception.
            </summary>
            <param name="keyboardEvent">
            When the committing composition is caused by a key operation, this should be
            specified. If this is specified, keyboard events may be dispatched when Gecko
            thinks that they should be.
            </param>
            <param name="keyFlags">
            See KEY_* constants. If this is not specified, the value is assumed as 0.
            </param>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.KeyDown(Gecko.DOM.GeckoKeyboardEvent)">
            <summary>
            Dispatches a keydown event and some keypress event when all of
            or some of them are necessary.
            </summary>
            <param name="keyboardEvent">
            The KeyboardEvent which is initialized with its constructor.
            </param>
            <returns>
            KEYEVENT_NOT_CONSUMED, if the keydown event nor
            the following keypress event(s) are consumed.
            KEYDOWN_IS_CONSUMED, if the keydown event is
            consumed. No keypress event will be dispatched in
            this case.
            KEYPRESS_IS_CONSUMED, if the keypress event(s) is
            consumed when dispatched.
            Note that keypress event is always consumed by
            native code for the printable keys (indicating the
            default action has been taken).
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.KeyDown(Gecko.DOM.GeckoKeyboardEvent,System.UInt32)">
            <summary>
            Dispatches a keydown event and some keypress event when all of
            or some of them are necessary.
            </summary>
            <param name="keyboardEvent">
            The GeckoKeyboardEvent which is initialized with its constructor.
            </param>
            <param name="keyFlags">
            See KEY_* constants. If this is not specified, the value is assumed as 0.
            </param>
            <returns>
            KEYEVENT_NOT_CONSUMED, if the keydown event nor
            the following keypress event(s) are consumed.
            KEYDOWN_IS_CONSUMED, if the keydown event is
            consumed. No keypress event will be dispatched in
            this case.
            KEYPRESS_IS_CONSUMED, if the keypress event(s) is
            consumed when dispatched.
            Note that keypress event is always consumed by
            native code for the printable keys (indicating the
            default action has been taken).
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.KeyUp(Gecko.DOM.GeckoKeyboardEvent)">
            <summary>
            Dispatches a keyup event when it's necessary.
            </summary>
            <param name="keyboardEvent">
            The GeckoKeyboardEvent which is initialized with its constructor.
            </param>
            <returns>
            Returns true if keyup event isn't consumed by a call of preventDefault().
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.KeyUp(Gecko.DOM.GeckoKeyboardEvent,System.UInt32)">
            <summary>
            Dispatches a keyup event when it's necessary.
            </summary>
            <param name="keyboardEvent">
            The GeckoKeyboardEvent which is initialized with its constructor.
            </param>
            <param name="keyFlags">
            See KEY_* constants. If this is not specified, the value is assumed as 0.
            </param>
            <returns>
            Returns true if keyup event isn't consumed by a call of preventDefault().
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.GetModifierState(System.String)">
            <summary>
            
            </summary>
            <param name="modifierKeyName">
            A modifier key name which is defined by DOM Level 3 KeyboardEvents key Values.
            </param>
            <returns>
            Returns true if the modifier state is active. Otherwise, false.
            </returns>
        </member>
        <member name="M:Gecko.GeckoTextInputProcessor.ShareModifierStateOf(Gecko.GeckoTextInputProcessor)">
            <summary>
            Shares modifier state of another instance. After sharing modifier state
            between two or more instances, modifying modifier state on of this affects
            other instances. Therefore, this is useful if you want to create
            TextInputProcessor instance in every DOM window or something.
            </summary>
            <param name="textInputProcessor">
            Another instance. If this is null, the instance stops sharing modifier
            state with other instances and clears all modifier state.
            </param>
        </member>
        <member name="P:Gecko.GeckoTextInputProcessor.HasComposition">
            <summary>
            Gets true if this instance was dispatched compositionstart but hasn&apos;t
            dispatched compositionend yet.
            </summary>
        </member>
        <member name="T:Gecko.ReferrerPolicy">
            <summary>
            The Referrer Policy
            </summary>
        </member>
        <member name="F:Gecko.ReferrerPolicy.Default">
            <summary>
            This is a user agent&apos;s default behavior. Same as the NoReferrerWhenDowngrade value.
            </summary>
        </member>
        <member name="F:Gecko.ReferrerPolicy.NoReferrerWhenDowngrade">
            <summary>
            The No Referrer When Downgrade policy sends a full URL along with requests from
            TLS-protected settings object to a non-a priori insecure origin, and requests
            from settings objects which are not TLS-protected to any origin.
            Requests from TLS-protected settings objects to a priori insecure origins,
            on the other hand, will contain no referrer information. A Referer HTTP header
            will not be sent.
            </summary>
        </member>
        <member name="F:Gecko.ReferrerPolicy.NoReferrer">
            <summary>
            The simplest policy is No Referrer, which specifies that no referrer information is
            to be sent along with requests made from a particular settings object to any origin.
            </summary>
        </member>
        <member name="F:Gecko.ReferrerPolicy.Origin">
            <summary>
            The Origin Only policy specifies that only the ASCII serialization of the origin
            of the settings object from which a request is made is sent as referrer information
            when making both same-origin requests and cross-origin requests from a particular
            settings object.
            </summary>
        </member>
        <member name="F:Gecko.ReferrerPolicy.OriginWhenCrossOrigin">
            <summary>
            The Origin When Cross-Origin policy specifies that a full URL, stripped for use
            as a referrer, is sent as referrer information when making same-origin requests
            from a particular settings object, and only the ASCII serialization of the origin
            of the settings object from which a request is made is sent as referrer information
            when making cross-origin requests from a particular settings object.
            </summary>
        </member>
        <member name="F:Gecko.ReferrerPolicy.UnsafeUrl">
            <summary>
            The Unsafe URL policy specifies that a full URL, stripped for use as a referrer,
            is sent along with both cross-origin requests and same-origin requests made from
            a particular settings object.
            </summary>
        </member>
        <member name="T:Gecko.Services.FocusService">
            <summary>
            The focus manager deals with all focus related behaviour. Only one element
            in the entire application may have the focus at a time; this element
            receives any keyboard events. While there is only one application-wide
            focused element, each GeckoWindow maintains a reference to the element
            that would be focused if the window was active.
            
            If the window&apos;s reference is to a frame element (iframe, browser,
            editor), then the child window contains the element that is currently
            focused. If the window&apos;s reference is to a root element, then the root is
            focused. If a window&apos;s reference is null, then no element is focused, yet
            the window is still focused.
            
            The blur event is fired on an element when it loses the application focus.
            After this blur event, if the focus is moving away from a document, two
            additional blur events are fired on the old document and window containing
            the focus respectively.
            
            When a new document is focused, two focus events are fired on the new
            document and window respectively. Then the focus event is fired on an
            element when it gains the application focus.
            
            A special case is that the root element may be focused, yet does not
            receive the element focus and blur events. Instead a focus outline may be
            drawn around the document.
            
            Blur and focus events do not bubble as per the W3C DOM Events spec.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.GetLastFocusMethod(Gecko.DOM.GeckoWindow)">
            <summary>
            Returns the method that was used to focus the element in window. This
            will either be 0, FLAG_BYMOUSE or FLAG_BYKEY. If window is null, then
            the current focusedWindow will be used by default. This has the result
            of retrieving the method that was used to focus the currently focused
            element.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.SetFocus(Gecko.DOM.GeckoElement,Gecko.GeckoFocusFlags)">
            <summary>
            Changes the focused element reference within the window containing
            element to element.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.MoveFocus(Gecko.DOM.GeckoWindow,Gecko.DOM.GeckoElement,Gecko.GeckoMoveFocusType,Gecko.GeckoFocusFlags)">
            <summary>
            Move the focus to another element. If a startElement is specified, then
            movement is done relative to a startElement. If a startElement is null,
            then movement is done relative to the currently focused element. If no
            element is focused, focus the first focusable element within the
            document (or the last focusable element if aType is MOVEFOCUS_END). This
            method is equivalent to setting the focusedElement to the new element.
            
            Specifying a startElement and using MOVEFOCUS_LAST is not currently
            implemented.
            
            If no element is found, and a type is either MOVEFOCUS_ROOT or
            MOVEFOCUS_CARET, then the focus is cleared. If a type is any other value,
            the focus is not changed.
            
            Returns the element that was focused.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.ClearFocus(Gecko.DOM.GeckoWindow)">
            <summary>
            Clears the focused element within window. If the current focusedWindow
            is a descendant of window, sets the current focusedWindow to window.
            </summary>
            <exception cref="T:System.ArgumentNullException">The window is null.</exception>
        </member>
        <member name="M:Gecko.Services.FocusService.GetFocusedElementForWindow(Gecko.DOM.GeckoWindow,System.Boolean,Gecko.DOM.GeckoWindow@)">
            <summary>
            Returns the currently focused element within a window. If a window is equal
            to the current value of focusedWindow, then the returned element will be
            the application-wide focused element (the value of focusedElement). The
            return value will be null if no element is focused.
            
            If deep is true, then child frames are traversed and the return value
            may be the element within a child descendant window that is focused. If
            deep if false, then the return value will be the frame element if the
            focus is in a child frame.
            
            The focusedWindow will be set to the currently focused descendant window of
            window, or to window if deep is false. This will be set even if no
            element is focused.
            </summary>
            <exception cref="T:System.ArgumentNullException">The window is null.</exception>
        </member>
        <member name="M:Gecko.Services.FocusService.MoveCaretToFocus(Gecko.DOM.GeckoWindow)">
            <summary>
            Moves the selection caret within aWindow to the current focus.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.ElementIsFocusable(Gecko.DOM.GeckoElement,Gecko.GeckoFocusFlags)">
            <summary>
            Check if given element is focusable.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.WindowRaised(Gecko.DOM.GeckoWindow)">
            <summary>
            Called when a window has been raised.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.WindowLowered(Gecko.DOM.GeckoWindow)">
            <summary>
            Called when a window has been lowered.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.WindowShown(Gecko.DOM.GeckoWindow,System.Boolean)">
            <summary>
            Called when a new document in a window is shown.
            
            If needsFocus is true, then focus events are expected to be fired on the
            window if this window is in the focused window chain.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.WindowHidden(Gecko.DOM.GeckoWindow)">
            <summary>
            Called when a document in a window has been hidden or otherwise can no
            longer accept focus.
            </summary>
        </member>
        <member name="M:Gecko.Services.FocusService.ParentActivated(Gecko.DOM.GeckoWindow,System.Boolean)">
            <summary>
            Used in a child process to indicate that the parent window is now
            active or deactive.
            </summary>
        </member>
        <member name="P:Gecko.Services.FocusService.ActiveWindow">
            <summary>
            The most active (frontmost) window, or null if no window that is part of
            the application is active. Setting the activeWindow raises it, and
            focuses the current child window's current element, if any.
            </summary>
            <exception cref="T:System.ArgumentNullException">The window cannot be NULL.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The window is not a non-top-level window.</exception>
        </member>
        <member name="P:Gecko.Services.FocusService.FocusedWindow">
            <summary>
            The child window within the activeWindow that is focused. This will
            always be activeWindow, a child window of activeWindow or null if no
            child window is focused. Setting the focusedWindow changes the focused
            window and raises the toplevel window it is in. If the current focus
            within the new focusedWindow is a frame element, then the focusedWindow
            will actually be set to the child window and the current element within
            that set as the focused element. This process repeats downwards until a
            non-frame element is found.
            </summary>
        </member>
        <member name="P:Gecko.Services.FocusService.FocusedElement">
            <summary>
            The element that is currently focused. This will always be an element
            within the document loaded in focusedWindow or null if no element in that
            document is focused.
            </summary>
        </member>
        <member name="T:Gecko.WebAPI.GeckoPerformanceTiming">
            <summary>
            The PerformanceTiming
            </summary>
        </member>
        <member name="T:Gecko.WebAPI.GeckoPerformance">
            <summary>
            The Web Performance API
            </summary>
        </member>
        <member name="M:Gecko.WebAPI.GeckoPerformance.Now">
            <summary>
            Returns the number of milliseconds, accurate to a thousandth of a millisecond,
            from the start of document navigation to the time the now method was called.
            </summary>
        </member>
        <member name="M:Gecko.WebAPI.GeckoPerformance.Mark(System.String)">
            <summary>
            Records a performance mark, which is a time value associated with a name.
            </summary>
            <param name="name">Name associated with the performance mark.</param>
        </member>
        <member name="T:Gecko.Interfaces.nsIXulfxDOMWindowHelper">
             <summary>
             The nsIXulfxDOMWindowHelper interface is the helper interface for
            
             a DOM window object. It represents a single window object that may
            
             contain child windows if the document in the window contains a
            
             HTML frameset document or if the document contains iframe elements.
             </summary>
             <remarks>
             See http://www.whatwg.org/html/#window
             </remarks>
        </member>
        <member name="M:Gecko.Cache.CacheStorageConsumptionObserverBase.OnNetworkCacheDiskConsumption(System.Int64)">
            <summary>
            Callback invoked to answer asyncGetDiskConsumption call. Always triggered on the main thread.
            </summary>
            <param name="aDiskSize">
            The disk consumption in bytes.
            </param>
        </member>
        <member name="M:Gecko.CacheStorageService.GetDiskCacheStorage(Gecko.Interfaces.nsILoadContextInfo,System.Boolean)">
            <summary>
            Get storage where entries will be written to disk when not forbidden by
            response headers.
            </summary>
            <param name="lookupAppCache">
            When set true (for top level document loading channels) app cache will
            be first to check on to find entries in.
            </param>
        </member>
        <member name="M:Gecko.CacheStorageService.GetMemoryCacheStorage(Gecko.Interfaces.nsILoadContextInfo)">
            <summary>
            Get storage where entries will only remain in memory, never written
            to the disk.
            
            NOTE: Any existing disk entry for [URL|id-extension] will be doomed
            prior opening an entry using this memory-only storage.  Result of
            AsyncOpenURI will be a new and empty memory-only entry.  Using
            OPEN_READONLY open flag has no effect on this behavior.
            </summary>
            <param name="loadContextInfo">
            Information about the loading context, this focuses the storage JAR and
            respects separate storage for private browsing.
            </param>
        </member>
        <member name="M:Gecko.CacheStorageService.GetAppCacheStorage(Gecko.Interfaces.nsILoadContextInfo,Gecko.Interfaces.nsIApplicationCache)">
            <summary>
            Get storage for a specified application cache obtained using some different
            mechanism.
            </summary>
            <param name="loadContextInfo">
            Mandatory reference to a load context information.
            </param>
            <param name="applicationCache">
            Optional reference to an existing appcache.  When left null, this will
            work with offline cache as a whole.
            </param>
        </member>
        <member name="M:Gecko.CacheStorageService.PurgeFromMemory(System.UInt32)">
            <summary>
            Purges data we keep warmed in memory. Use for tests and for saving memory.
            </summary>
        </member>
        <member name="M:Gecko.CacheStorageService.Clear">
            <summary>
            Evict the whole cache.
            </summary>
        </member>
        <member name="M:Gecko.CacheStorageService.AsyncGetDiskConsumption(Gecko.Cache.CacheStorageConsumptionObserverBase)">
            <summary>
            Asynchronously determine how many bytes of the disk space the cache takes.
            </summary>
            <param name="aObserver">
            A mandatory observer.
            </param>
        </member>
        <member name="T:Gecko.GeckoNode">
            <summary>
            Provides a base class for DOM nodes.
            </summary>
        </member>
        <member name="M:Gecko.GeckoNode.Contains(Gecko.GeckoNode)">
            <summary>
            Returns a value indicating whether a node is a descendant of a given node or not.
            </summary>
            <param name="node"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.GeckoNode.CompareDocumentPosition(Gecko.GeckoNode)">
            <summary>
            Compares the position of the current node against another node in any other document.
            </summary>
            <param name="node"></param>
            <returns></returns>
        </member>
        <member name="P:Gecko.GeckoNode.TextContent">
            <summary>
            Gets the text contents of the node.
            </summary>
        </member>
        <member name="P:Gecko.GeckoNode.NodeValue">
            <summary>
            Gets or sets the value of the node.
            </summary>
        </member>
        <member name="P:Gecko.GeckoNode.ChildNodes">
            <summary>
            Gets a collection containing all child nodes of this node.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.GetAttribute(System.String)">
            <summary>
            Gets the value of an attribute on this element with the specified name.
            </summary>
            <param name="attributeName"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.HasAttribute(System.String)">
            <summary>
            Check if Element contains specified attribute.
            </summary>
            <param name="attributeName">The name of the attribute to look for</param>
            <returns>true if attribute exists false otherwise</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.SetAttribute(System.String,System.String)">
            <summary>
            Sets the value of an attribute on this element with the specified name.
            </summary>
            <param name="attributeName"></param>
            <param name="value"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.RemoveAttribute(System.String)">
            <summary>
            Removes an attribute from this element.
            </summary>
            <param name="attributeName"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.GetAttributeNS(System.String,System.String)">
            <summary>
            Gets the value of an attribute on this element with the specified name and namespace.
            </summary>
            <param name="attributeName"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.SetAttributeNS(System.String,System.String,System.String)">
            <summary>
            Sets the value of an attribute on this element with the specified name and namespace.
            </summary>
            <param name="attributeName"></param>
            <param name="value"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.GetElementsByTagName(System.String)">
            <summary>
            Returns a collection containing the child elements of this element with a given tag name.
            </summary>
            <param name="tagName"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoElement.GetElementsByClassName(System.String)">
            <summary>
            Retrieve elements matching all classes listed in a space-separated string.
            </summary>
            <param name="tagName"></param>
            <returns></returns>
        </member>
        <member name="P:Gecko.DOM.GeckoElement.TagName">
            <summary>
            Gets the name of the tag.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoElement.ComputedStyle">
            <summary>
            Gets style of the GeckoElement. 
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoHTMLElement.Parent">
            <summary>
            Gets the parent element of this one.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoHTMLElement.Id">
            <summary>
            Gets the value of the id attribute.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoHTMLElement.ClassName">
            <summary>
            Gets the value of the class attribute.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoHTMLElement.ContentEditable">
            <summary>
            Get the value of the ContentEditable Attribute
            </summary>
        </member>
        <member name="T:Gecko.DOM.GeckoTreeWalker">
            <summary>
            The GeckoTreeWalker object represents the nodes of a document subtree and a position within them.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.Create(Gecko.Interfaces.nsIDOMTreeWalker)">
            <summary>
            Creates a wrapper of TreeWalker
            </summary>
            <param name="instance">Instance of TreeWalker</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.GetFilter">
            <summary>
            Returns a NodeFilter used to select the relevant nodes.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.MoveToParentNode">
            <summary>
            Moves the current Node to the first visible ancestor node in the document order, and returns the found node. It also moves the current node to this one.
            </summary>
            <returns>If no such node exists, or if it is before that the root node defined at the object construction, returns null and the current node is not changed.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.MoveToFirstChild">
            <summary>
            Moves the current Node to the first visible child of the current node, and returns the found child. It also moves the current node to this child.
            </summary>
            <returns>If no such child exists, returns null and the current node is not changed.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.MoveToLastChild">
            <summary>
            Moves the current Node to the last visible child of the current node, and returns the found child. It also moves the current node to this child.
            </summary>
            <returns>If no such child exists, returns null and the current node is not changed.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.MoveToPreviousSibling">
            <summary>
            Moves the current Node to its previous sibling, if any, and returns the found sibling.
            </summary>
            <returns>If no such child exists, returns null and the current node is not changed.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.MoveToNextSibling">
            <summary>
            Moves the current Node to its next sibling, if any, and returns the found sibling.
            </summary>
            <returns>If no such child exists, returns null and the current node is not changed.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.MoveToPreviousNode">
            <summary>
            Moves the current Node to the previous visible node in the document order, and returns the found node. It also moves the current node to this one.
            </summary>
            <returns>If no such node exists,or if it is before that the root node defined at the object construction, returns null and the current node is not changed.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoTreeWalker.MoveToNextNode">
            <summary>
            Moves the current Node to the next visible node in the document order, and returns the found node. It also moves the current node to this one.
            </summary>
            <returns>If no such child exists, returns null and the current node is not changed.</returns>
        </member>
        <member name="P:Gecko.DOM.GeckoTreeWalker.Root">
            <summary>
            Gets a Node representing the root node as specified when the TreeWalker was created.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoTreeWalker.WhatToShow">
            <summary>
            Gets a value being a bitmask made of constants describing the types of Node that must to be presented. Non-matching nodes are skipped, but their children may be included, if relevant.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoTreeWalker.CurrentNode">
            <summary>
            Gets and sets the Node on which the GeckoTreeWalker is currently pointing at.
            </summary>
        </member>
        <member name="P:Gecko.DownloadRequestEvent.WebNavigation">
            <summary>
            Gets the nsIWebNavigation object. May be null for popup windows.
            </summary>
        </member>
        <member name="P:Gecko.DownloadRequestEvent.DownloadHelper">
            <summary>
            A helper app launcher to be invoked when a file is selected.
            </summary>
        </member>
        <member name="P:Gecko.DownloadRequestEvent.Reason">
            <summary>
            It indicates why the download request has been called.
            </summary>
        </member>
        <member name="T:Gecko.GeckoDownloadState">
            <summary>
            The state of the download.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.NotStarted">
            <summary>
            The download has not been started yet.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Downloading">
            <summary>
            The download is in the process of being downloaded.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Finished">
            <summary>
            Download completed including any processing of the target file.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Failed">
            <summary>
            The download failed due to error.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Canceled">
            <summary>
            The user canceled the download.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Paused">
            <summary>
            The download is currently paused.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Queued">
            <summary>
            The download is in the queue but is not presently downloading.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.BlockedParental">
            <summary>
            The download has been blocked, either by parental controls or the virus scanner determining that a file is infected and cannot be cleaned.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Scanning">
            <summary>
            The download is being scanned by a virus checking utility.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.Dirty">
            <summary>
            A virus was detected in the download. The target will most likely no longer exist.
            </summary>
        </member>
        <member name="F:Gecko.GeckoDownloadState.BlockedPolicy">
            <summary>
            Request was blocked by zone policy settings.
            </summary>
        </member>
        <member name="T:Gecko.GeckoDownloadReason">
            <summary>
            It indicates why the download request has been called.
            </summary>
        </member>
        <member name="T:Gecko.GeckoDownload">
            <summary>
            Represents a download object.
            </summary>
        </member>
        <member name="M:Gecko.GeckoDownload.Create(Gecko.Interfaces.nsIDownload)">
            <summary>
            Creates a wrapper for a download object.
            </summary>
        </member>
        <member name="M:Gecko.GeckoDownload.Cancel">
            <summary>
            Cancel this download if it&apos;s currently in progress.
            </summary>
        </member>
        <member name="M:Gecko.GeckoDownload.Pause">
            <summary>
            Pause this download if it is in progress.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if it cannot be paused.
            </exception>
        </member>
        <member name="M:Gecko.GeckoDownload.Resume">
            <summary>
            Resume this download if it is paused.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_UNEXPECTED: if it cannot be resumed or is not paused.
            </exception>
        </member>
        <member name="M:Gecko.GeckoDownload.Retry">
            <summary>
            Instruct the download manager to retry this failed download
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_NOT_AVAILABLE: if the download is not known.
            NS_ERROR_FAILURE: if the download is not in the following states:
            nsIDownloadManager::DOWNLOAD_CANCELED
            nsIDownloadManager::DOWNLOAD_FAILED
            </exception>
        </member>
        <member name="M:Gecko.GeckoDownload.Remove">
            <summary>
            Instruct the download manager to remove this download. Whereas
            cancel simply cancels the transfer, but retains information about it,
            remove removes all knowledge of it.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_ERROR_FAILURE: if the download is active.
            </exception>
            <remarks>
            See nsIDownloadManager.removeDownload for more detail
            </remarks>
        </member>
        <member name="P:Gecko.GeckoDownload.PercentComplete">
            <summary>
            The percentage of transfer completed.
            If the file size is unknown it&apos;ll be -1 here.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.AmountTransferred">
            <summary>
            The amount of bytes downloaded so far.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.Size">
            <summary>
            The size of file in bytes.
            Unknown size is represented by -1.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.Speed">
            <summary>
            The speed of the transfer in bytes/sec.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.StartTime">
            <summary>
            The time a transfer was started.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.DisplayName">
            <summary>
            The user-readable description of the transfer.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.State">
            <summary>
            The state of the download.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.Source">
            <summary>
            The source of the transfer.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.Filename">
            <summary>
            Gets a target file name
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.IsResumable">
            <summary>
            Indicates if the download can be resumed after being paused or not.  This
            is only the case if the download is over HTTP/1.1 or FTP and if the
            server supports it.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDownload.IsPrivate">
            <summary>
            Indicates if the download was initiated from a context marked as private,
            controlling whether it should be stored in a permanent manner or not.
            </summary>
        </member>
        <member name="T:Gecko.GeckoHelperAppLauncher">
            <summary>
            A helper app launcher is a small object created to handle the launching
            of an external application.
            </summary>
        </member>
        <member name="M:Gecko.GeckoHelperAppLauncher.Create(Gecko.Interfaces.nsIHelperAppLauncher)">
            <summary>
            Creates a wrapper for a helper app launcher
            </summary>
            <param name="instance">A helper app launcher</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.GeckoHelperAppLauncher.Cancel">
            <summary>
            Call this method to request that this object abort whatever operation it
            may be performing.
            </summary>
        </member>
        <member name="M:Gecko.GeckoHelperAppLauncher.Cancel(System.Int32)">
            <summary>
            Call this method to request that this object abort whatever operation it
            may be performing.
            </summary>
            <param name="aReason">
            Pass a failure code to indicate the reason why this operation is
            being canceled.  It is an error to pass a success code.
            </param>
        </member>
        <member name="P:Gecko.GeckoHelperAppLauncher.Source">
            <summary>
            Gets the source uri
            </summary>
        </member>
        <member name="P:Gecko.GeckoHelperAppLauncher.SuggestedFileName">
            <summary>
            Gets the suggested name for a file
            </summary>
        </member>
        <member name="P:Gecko.GeckoHelperAppLauncher.TargetFileName">
            <summary>
            The name of the file we are saving to
            </summary>
        </member>
        <member name="P:Gecko.GeckoHelperAppLauncher.TargetFileIsExecutable">
            <summary>
            Gets a value indicating whether the target file is executable.
            </summary>
            <exception cref="T:System.Runtime.InteropServices.COMException">Throws NS_ERROR_FILE_NOT_FOUND.</exception>
        </member>
        <member name="P:Gecko.GeckoHelperAppLauncher.StartTime">
            <summary>
            Get a time when the download started
            </summary>
        </member>
        <member name="P:Gecko.GeckoHelperAppLauncher.ContentLength">
            <summary>
            The download content length, or -1 if the length is not available.
            </summary>
        </member>
        <member name="M:Gecko.DownloadManager.Init">
            <summary>
            Initialize the DownloadManager.
            </summary>
            <remarks>
            Uses lazy initialization. Can cause hangs on Xpcom.Shutdown() if the event loop never existed. 
            </remarks>
        </member>
        <member name="F:Gecko.gfxGraphicsFilter.Fast">
            <summary>
            FILTER_FAST
            </summary>
        </member>
        <member name="F:Gecko.gfxGraphicsFilter.Good">
            <summary>
            FILTER_GOOD
            </summary>
        </member>
        <member name="F:Gecko.gfxGraphicsFilter.Best">
            <summary>
            FILTER_BEST
            </summary>
        </member>
        <member name="F:Gecko.gfxGraphicsFilter.Nearest">
            <summary>
            FILTER_NEAREST
            </summary>
        </member>
        <member name="F:Gecko.gfxGraphicsFilter.Bilinear">
            <summary>
            FILTER_BILINEAR
            </summary>
        </member>
        <member name="F:Gecko.gfxGraphicsFilter.Gaussian">
            <summary>
            FILTER_GAUSSIAN
            </summary>
        </member>
        <member name="T:Gecko.nscolor">
            <summary>
            nscolor is 32 bit integer value
            </summary>
        </member>
        <member name="T:Gecko.CustomMarshalers.ACStringMarshaler">
            <summary>
            Custom Marshaler for xpcom/xulrunner native type nsACString
            
            To use managed type nsAStringBase as parameter and apply attribute:
            [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Gecko.CustomMarshalers.ACStringMarshaler))] nsACStringBase
            </summary>
        </member>
        <member name="M:Gecko.CustomMarshalers.ACStringMarshaler.MarshalManagedToNative(System.Object)">
            <summary>
            Convert the passed string to Utf16 encoded string 
            written to memory allocated by xpcom/xulrunner itself.
            </summary>
            <param name="ManagedObj"></param>
            <returns>ptr to native memory containing utf16 encoded string + null term</returns>
        </member>
        <member name="M:Gecko.CustomMarshalers.ACStringMarshaler.MarshalNativeToManaged(System.IntPtr)">
            <summary>
            Convert 
            </summary>
            <param name="pNativeData"></param>
            <returns>copy of native ut16 string as managed nsAString.</returns>
        </member>
        <member name="T:Gecko.CustomMarshalers.AStringMarshaler">
            <summary>
            Custom Marshaler for xpcom/xulrunner native type nsAString
            
            To use managed type nsAStringBase as parameter and apply attribute:
            [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Gecko.CustomMarshalers.AStringMarshaler))] nsAStringBase
            </summary>
        </member>
        <member name="M:Gecko.CustomMarshalers.AStringMarshaler.MarshalManagedToNative(System.Object)">
            <summary>
            Convert the passed string to Utf16 encoded string 
            written to memory allocated by xpcom/xulrunner itself.
            </summary>
            <param name="ManagedObj"></param>
            <returns>ptr to native memory containing utf16 encoded string + null term</returns>
        </member>
        <member name="M:Gecko.CustomMarshalers.AStringMarshaler.MarshalNativeToManaged(System.IntPtr)">
            <summary>
            Convert 
            </summary>
            <param name="pNativeData"></param>
            <returns>copy of native ut16 string as managed nsAString.</returns>
        </member>
        <member name="T:Gecko.CustomMarshalers.AUTF8StringMarshaler">
            <summary>
            Custom Marshaler for xpcom/xulrunner native type nsAUTF8String
            
            To use managed type nsAStringBase as parameter and apply attribute:
            [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Gecko.CustomMarshalers.AUTF8StringMarshaler))] nsAUTF8StringBase
            </summary>
        </member>
        <member name="M:Gecko.CustomMarshalers.AUTF8StringMarshaler.MarshalManagedToNative(System.Object)">
            <summary>
            Convert the passed string to Utf16 encoded string 
            written to memory allocated by xpcom/xulrunner itself.
            </summary>
            <param name="ManagedObj"></param>
            <returns>ptr to native memory containing utf16 encoded string + null term</returns>
        </member>
        <member name="M:Gecko.CustomMarshalers.AUTF8StringMarshaler.MarshalNativeToManaged(System.IntPtr)">
            <summary>
            Convert 
            </summary>
            <param name="pNativeData"></param>
            <returns>copy of native ut16 string as managed nsAString.</returns>
        </member>
        <member name="T:Gecko.CustomMarshalers.StringMarshaler">
            <summary>
            Custom Marshaler for xpcom/xulrunner native type string string
            Introduced to marshal return values from preference service (fix AccessViolationException)
            
            To use managed type string as parameter and apply attribute:
            [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Gecko.CustomMarshalers.StringMarshaler))] string
            or for string return types use:
            [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Gecko.CustomMarshalers.StringMarshaler))]
            </summary>
        </member>
        <member name="M:Gecko.CustomMarshalers.StringMarshaler.MarshalNativeToManaged(System.IntPtr)">
            <summary>
            Convert 
            </summary>
            <param name="pNativeData"></param>
            <returns>copy of native ASCII string as managed string.</returns>
        </member>
        <member name="M:Gecko.CustomMarshalers.StringMarshaler.MarshalManagedToNative(System.Object)">
            <summary>
            Convert the passed string to ASCII encoded string 
            written to memory allocated by xpcom/xulrunner itself.
            </summary>
            <param name="ManagedObj"></param>
            <returns>ptr to native memory containing ansi encoded string + null term</returns>
        </member>
        <member name="M:Gecko.Services.BaseNsFactory`1.ReadContractIdAttribute">
            <summary>
            Helper method that return the value of the ContractID attribute on this class if it exists.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Gecko.Services.BaseNsFactory`1.Register">
            <summary>
            Registration by default (using ContractIDAttribute)
            </summary>
        </member>
        <member name="M:Gecko.Services.BaseNsFactory`1.Register(System.String)">
            <summary>
            Registration with given contractID
            </summary>
            <param name="contractID"></param>
        </member>
        <member name="M:Gecko.Services.BaseNsFactory`1.Register(Gecko.Services.BaseNsFactory{`0}.FactoryDetails)">
            <summary>
            Registration with given Factory details
            </summary>
            <param name="factory"></param>
        </member>
        <member name="M:Gecko.Services.BaseNsFactory`1.Unregister">
            <summary>
            If an existing factory already exists, unregister it and return its details.
            Returns null if 
            </summary>
        </member>
        <member name="M:Gecko.Services.BaseNsFactory`1.GetContractID">
            <summary>
            Returns ContractID if registered or null if not registered.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Gecko.DefaultPromptFactory">
            <summary>
            A wrapper of XULRunner's default nsIPromptFactory implementation, i.e. @mozilla.org/prompter;1
            </summary>
        </member>
        <member name="M:Gecko.DefaultPromptFactory.GetPrompt``1(Gecko.Interfaces.mozIDOMWindowProxy)">
            <summary>
            Wrapper of nsIPromptFactory.GetPrompt(nsIDOMWindow aParent, ref Guid iid)
            </summary>
            <typeparam name="TPrompt">prompt type, may be nsIPrompt, nsIAuthPrompt, or nsIAuthPrompt2</typeparam>
            <param name="aParent">window object</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetRealElementFromPoint(Gecko.DOM.GeckoDocument,System.Single,System.Single)">
            <summary>
            Find an element from the given coordinates. This method descends through
            frames to find the element the user clicked inside frames.
            </summary>
            <param name="document">The document to look into.</param>
            <param name="x"></param>
            <param name="y"></param>
            <returns>The element found at the given coordinates or null.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetRealElementFromPoint(Gecko.DOM.GeckoDocument,System.Single,System.Single,System.Single@,System.Single@)">
            <summary>
            Find an element from the given coordinates. This method descends through
            frames to find the element the user clicked inside frames.
            </summary>
            <param name="document">The document to look into.</param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="cx">The x-coordinate of specify the point to check, in CSS pixels, relative to the left-most point in the window or frame containing the element that has been found.</param>
            <param name="cy">The y-coordinate of specify the point to check, in CSS pixels, relative to the top-most point in the window or frame containing the element that has been found.</param>
            <returns>The element found at the given coordinates or null.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetIframeContentOffset(Gecko.DOM.HTML.GeckoHTMLIFrameElement,System.Single@,System.Single@)">
            <summary>
            Returns iframe content offset (iframe border + padding).
            Note: this function shouldn't need to exist, had the platform provided a
            suitable API for determining the offset between the iframe's content and
            its bounding client rect. Bug 626359 should provide us with such an API.
            </summary>
            <param name="iframe">The iframe.</param>
            <param name="offsetleft">The distance from the top of the iframe and the top of the content document.</param>
            <param name="offsetTop">The distance from the left of the iframe and the left of the content document.</param>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetNodes(Gecko.GeckoNode,System.String)">
            <summary>
            Get nodes from give xpath expression.
            </summary>
            <param name="node"></param>
            <param name="xpathExpression">The xpath expression.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetSingleNode(Gecko.GeckoNode,System.String)">
            <summary>
            Get a node from give xpath expression.
            </summary>
            <param name="node"></param>
            <param name="xpathExpression">The xpath expression.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetWebBrowserGlue(Gecko.Interfaces.nsIWebBrowserChrome)">
            <summary>
            Get a WebBrowserGlueBase from give nsIWebBrowserChrome.
            </summary>
            <param name="chrome"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetWebView(Gecko.GeckoWebNavigation)">
            <summary>
            Get a IWebView from give GeckoWebNavigation.
            </summary>
            <param name="navigation"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetWebView(Gecko.DOM.GeckoWindow)">
            <summary>
            Get a IWebView from give GeckoWindow.
            </summary>
            <param name="window"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDOMExtensions.GetWebBrowserGlue(Gecko.DOM.GeckoWindow)">
            <summary>
            Get a IWebView from give GeckoWindow.
            </summary>
            <param name="window"></param>
            <returns></returns>
        </member>
        <member name="P:Gecko.Security.CertOverrideEventArgs.OverrideResult">
            <summary>
            The errors we want to be overriden
            </summary>
        </member>
        <member name="M:Gecko.GeckoDOMEventArgs.PreventDefault">
            <summary>
            If an event is cancelable, the preventDefault method is used to
            signify that the event is to be canceled, meaning any default action
            normally taken by the implementation as a result of the event will
            not occur. If, during any stage of event flow, the preventDefault
            method is called the event is canceled. Any default action associated
            with the event will not occur. Calling this method for a
            non-cancelable event has no effect. Once preventDefault has been
            called it will remain in effect throughout the remainder of the
            event's propagation. This method may be used during any stage of
            event flow.
            </summary>
        </member>
        <member name="M:Gecko.GeckoDOMEventArgs.StopPropagation">
            <summary>
            The stopPropagation method is used prevent further propagation of an
            event during event flow. If this method is called by any
            EventListener the event will cease propagating through the tree. The
            event will complete dispatch to all listeners on the current
            EventTarget before event flow stops. This method may be used during
            any stage of event flow.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMEventArgs.Target">
            <summary>
            Gets the final destination of the event.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.ClientX">
            <summary>
            The X coordinate of the mouse pointer in local (DOM content) coordinates.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.ClientY">
            <summary>
            The Y coordinate of the mouse pointer in local (DOM content) coordinates.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.ScreenX">
            <summary>
            The X coordinate of the mouse pointer in global (screen) coordinates.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.ScreenY">
            <summary>
            The Y coordinate of the mouse pointer in global (screen) coordinates.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.Button">
            <summary>
            The button number that was pressed when the mouse event was fired.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.AltKey">
            <summary>
            true if the alt key was down when the mouse event was fired.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.CtrlKey">
            <summary>
            true if the control key was down when the mouse event was fired.
            </summary>
        </member>
        <member name="P:Gecko.GeckoDOMMouseEventArgs.ShiftKey">
            <summary>
            true if the shift key was down when the mouse event was fired.
            </summary>
        </member>
        <member name="F:Gecko.GeckoHistoryEventArgs.Url">
            <summary>
            Gets the URL of the history entry.
            </summary>
        </member>
        <member name="M:Gecko.GeckoHistoryEventArgs.#ctor(System.Uri)">
            <summary>Creates a new instance of a <see cref="T:Gecko.GeckoHistoryEventArgs"/> object.</summary>
            <param name="url"></param>
        </member>
        <member name="T:Gecko.GeckoHistoryGotoIndexEventArgs">
            <summary>Provides data for event.</summary>
        </member>
        <member name="F:Gecko.GeckoHistoryGotoIndexEventArgs.Index">
            <summary>
            Gets the index in history of the document to be loaded.
            </summary>
        </member>
        <member name="M:Gecko.GeckoHistoryGotoIndexEventArgs.#ctor(System.Uri,System.Int32)">
            <summary>Creates a new instance of a <see cref="T:Gecko.GeckoHistoryGotoIndexEventArgs"/> object.</summary>
            <param name="url"></param>
            <param name="index"></param>
        </member>
        <member name="F:Gecko.GeckoHistoryPurgeEventArgs.Count">
            <summary>
            Gets the number of entries to be purged from the history.
            </summary>
        </member>
        <member name="M:Gecko.GeckoHistoryPurgeEventArgs.#ctor(System.Int32)">
            <summary>Creates a new instance of a <see cref="T:Gecko.GeckoHistoryPurgeEventArgs"/> object.</summary>
            <param name="count"></param>
        </member>
        <member name="M:Gecko.GeckoNavigatingEventArgs.#ctor(System.Uri,Gecko.Net.GeckoRequest,Gecko.DOM.GeckoWindow)">
            <summary>Creates a new instance of a <see cref="T:Gecko.GeckoNavigatingEventArgs"/> object.</summary>
            <param name="value"></param>
        </member>
        <member name="T:Gecko.GeckoProgressEventArgs">
            <summary>
            Provides data for the WebView.ProgressChanged event.
            </summary>
        </member>
        <member name="M:Gecko.GeckoProgressEventArgs.#ctor(System.Int64,System.Int64)">
            <summary>Creates a new instance of a <see cref="T:Gecko.GeckoProgressEventArgs"/> object.</summary>
        </member>
        <member name="M:Gecko.GeckoProgressEventArgs.#ctor(System.Int64,System.Int64,System.Int64)">
            <summary>Creates a new instance of a <see cref="T:Gecko.GeckoProgressEventArgs"/> object.</summary>
        </member>
        <member name="P:Gecko.GeckoProgressEventArgs.CurrentProgress">
            <summary>
            Gets the number of bytes that have been downloaded.
            </summary>
        </member>
        <member name="P:Gecko.GeckoProgressEventArgs.MaximumProgress">
            <summary>
            Gets the estimated number of bytes in the document being loaded.
            </summary>
        </member>
        <member name="P:Gecko.GeckoProgressEventArgs.RealMaximumProgress">
            <summary>
            Gets the total number of bytes in the document being loaded.
            </summary>
        </member>
        <member name="F:Gecko.GeckoError.NS_ERROR_MODULE_XPCOM">
            @name Standard Module Offset Code. Each Module should identify a unique number
                  and then all errors associated with that module become offsets from the
                  base associated with that module id. There are 16 bits of code bits for
                  each module.
        </member>
        <member name="F:Gecko.GeckoError.NS_ERROR_SEVERITY_SUCCESS">
            @name Severity Code.  This flag identifies the level of warning
        </member>
        <member name="F:Gecko.GeckoError.NS_ERROR_MODULE_BASE_OFFSET">
            @name Mozilla Code.  This flag separates consumers of mozilla code
                  from the native platform
        </member>
        <member name="F:Gecko.GeckoError.NS_STATE_PROPERTY_EXISTS">
            Return codes for nsPresState::GetProperty() 
        </member>
        <member name="M:Gecko.GeckoWebNavigation.LoadURI(System.String,Gecko.GeckoLoadFlags,System.String,Gecko.IO.MimeInputStream,Gecko.IO.MimeInputStream)">
            <summary>
            Loads a given URL. This will give priority to loading the requested URL
            in the object implementing	this interface.  If it can't be loaded here
            however, the URL dispatcher will go through its normal process of content
            loading.
            </summary>
            <param name="url">
            The URL string to load. For HTTP and FTP URLs and possibly others,
            characters above U+007F will be converted to UTF-8 and then URL-escaped
            per the rules of RFC 2396.
            </param>
            <param name="loadFlags">Flags modifying load behaviour.</param>
            <param name="referrer">The referring URL.</param>
            <param name="postData">
            If the URL corresponds to a HTTP request, then this stream is
            appended directly to the HTTP request headers. It may be prefixed
            with additional HTTP headers. This stream must contain a &quot;\r\n&quot;
            sequence separating any HTTP headers from the HTTP request body.
            This parameter is optional and may be null.
            </param>
            <param name="headers">
            If the URI corresponds to a HTTP request, then any HTTP headers
            contained in this stream are set on the HTTP request. The HTTP
            header stream is formatted as: ( HEADER &quot;\r\n&quot; )*.
            This parameter is optional and may be null.
            </param>
        </member>
        <member name="M:Gecko.GeckoWebNavigation.LoadURIWithOptions(System.String,Gecko.GeckoLoadFlags,System.String,Gecko.ReferrerPolicy,Gecko.IO.MimeInputStream,Gecko.IO.MimeInputStream,System.String)">
            <summary>
            Loads a given URL. This will give priority to loading the requested URL
            in the object implementing	this interface.  If it can't be loaded here
            however, the URL dispatcher will go through its normal process of content
            loading.
            </summary>
            <param name="url">
            The URL string to load. For HTTP and FTP URLs and possibly others,
            characters above U+007F will be converted to UTF-8 and then URL-escaped
            per the rules of RFC 2396.
            </param>
            <param name="loadFlags">Flags modifying load behaviour.</param>
            <param name="referrer">The referring URL.</param>
            <param name="referrerPolicy">The Referrer Policy.</param>
            <param name="postData">
            If the URL corresponds to a HTTP request, then this stream is
            appended directly to the HTTP request headers. It may be prefixed
            with additional HTTP headers. This stream must contain a &quot;\r\n&quot;
            sequence separating any HTTP headers from the HTTP request body.
            This parameter is optional and may be null.
            </param>
            <param name="headers">
            If the URI corresponds to a HTTP request, then any HTTP headers
            contained in this stream are set on the HTTP request. The HTTP
            header stream is formatted as: ( HEADER &quot;\r\n&quot; )*.
            This parameter is optional and may be null.
            </param>
        </member>
        <member name="M:Gecko.GeckoGraphics.CopyGraphicsElementToBase64String(Gecko.DOM.GeckoHTMLElement,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat)">
            <summary>
            Creates the copy of the content of the element as an image and returns its equivalent string representation that is encoded with base-64 digits.
            </summary>
            <param name="image">An element to copy into the base64-string; the specification permits any image element (that is, &lt;img&gt;, &lt;canvas&gt;, and &lt;video&gt;).</param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="width">The width of the sub-rectangle of the source image.</param>
            <param name="height">The height of the sub-rectangle of the source image.</param>
            <param name="format">The type for the image format to return.</param>
            <returns>A BASE64-encoded image string.</returns>
        </member>
        <member name="M:Gecko.GeckoGraphics.CopyGraphicsElementToBase64String(Gecko.DOM.GeckoHTMLElement,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat,System.Single)">
            <summary>
            Creates the copy of the content of the element as an image and returns its equivalent string representation that is encoded with base-64 digits.
            </summary>
            <param name="image">An element to copy into the base64-string; the specification permits any image element (that is, &lt;img&gt;, &lt;canvas&gt;, and &lt;video&gt;).</param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="width">The width of the sub-rectangle of the source image.</param>
            <param name="height">The height of the sub-rectangle of the source image.</param>
            <param name="format">The type for the image format to return.</param>
            <param name="imageQuality">A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp.</param>
            <returns>A BASE64-encoded image string.</returns>
        </member>
        <member name="M:Gecko.GeckoGraphics.TryCopyGraphicsElementToStream(Gecko.DOM.GeckoHTMLElement,System.IO.Stream,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat)">
            <summary>
            Creates the copy of the content of the element as an image and writes its binary representation into the output stream.
            </summary>
            <param name="image">An element to copy into the stream; the specification permits any image element (that is, &lt;img&gt;, &lt;canvas&gt;, and &lt;video&gt;).</param>
            <param name="outputStream"></param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="width">The width of the sub-rectangle of the source image.</param>
            <param name="height">The height of the sub-rectangle of the source image.</param>
            <param name="format">The type for the image format to return.</param>
            <returns>true if the operation is successful; otherwise, false.</returns>
        </member>
        <member name="M:Gecko.GeckoGraphics.TryCopyGraphicsElementToStream(Gecko.DOM.GeckoHTMLElement,System.IO.Stream,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat,System.Single)">
            <summary>
            Creates the copy of the content of the element as an image and writes its binary representation into the output stream.
            </summary>
            <param name="image">An element to copy into the stream; the specification permits any image element (that is, &lt;img&gt;, &lt;canvas&gt;, and &lt;video&gt;).</param>
            <param name="outputStream"></param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source image.</param>
            <param name="width">The width of the sub-rectangle of the source image.</param>
            <param name="height">The height of the sub-rectangle of the source image.</param>
            <param name="format">The type for the image format to return.</param>
            <param name="imageQuality">A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp.</param>
            <returns>true if the operation is successful; otherwise, false.</returns>
        </member>
        <member name="M:Gecko.GeckoGraphics.CopyWindowToBase64String(Gecko.DOM.GeckoWindow,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat)">
            <summary>
            Creates the copy of the content of the window as an image and returns its equivalent string representation that is encoded with base-64 digits.
            </summary>
            <param name="window">An window to copy into the base64-string.</param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="width">The width of the sub-rectangle of the source window.</param>
            <param name="height">The height of the sub-rectangle of the source window.</param>
            <param name="format">The type for the image format to return.</param>
        </member>
        <member name="M:Gecko.GeckoGraphics.CopyWindowToBase64String(Gecko.DOM.GeckoWindow,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat,System.Single)">
            <summary>
            Creates the copy of the content of the window as an image and returns its equivalent string representation that is encoded with base-64 digits.
            </summary>
            <param name="window">An window to copy into the base64-string.</param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="width">The width of the sub-rectangle of the source window.</param>
            <param name="height">The height of the sub-rectangle of the source window.</param>
            <param name="imageQuality">A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp.</param>
            <param name="format">The type for the image format to return.</param>
        </member>
        <member name="M:Gecko.GeckoGraphics.TryCopyWindowToStream(Gecko.DOM.GeckoWindow,System.IO.Stream,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat)">
            <summary>
            Creates the copy of the content of the window as an image and writes its binary representation into the output stream.
            </summary>
            <param name="window">An window to copy into the output stream.</param>
            <param name="outputStream"></param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="width">The width of the sub-rectangle of the source window.</param>
            <param name="height">The height of the sub-rectangle of the source window.</param>
            <param name="format">The type for the image format to return.</param>
            <returns>true if the operation is successful; otherwise, false.</returns>
        </member>
        <member name="M:Gecko.GeckoGraphics.TryCopyWindowToStream(Gecko.DOM.GeckoWindow,System.IO.Stream,System.Single,System.Single,System.Single,System.Single,Gecko.GeckoGraphicsImageFormat,System.Single)">
            <summary>
            Creates the copy of the content of the window as an image and writes its binary representation into the output stream.
            </summary>
            <param name="window">An window to copy into the output stream.</param>
            <param name="outputStream"></param>
            <param name="x">The X coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="y">The Y coordinate of the top left corner of the sub-rectangle of the source window.</param>
            <param name="width">The width of the sub-rectangle of the source window.</param>
            <param name="height">The height of the sub-rectangle of the source window.</param>
            <param name="format">The type for the image format to return.</param>
            <param name="imageQuality">A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp.</param>
            <returns>true if the operation is successful; otherwise, false.</returns>
        </member>
        <member name="M:Gecko.Services.ObserverService.AddObserver(Gecko.Interfaces.nsIObserver,System.String,System.Boolean)">
            <summary>
            Registers a given listener for a notifications regarding the specified topic.
            </summary>
            <param name="observer">
            The interface pointer which will receive notifications.
            </param>
            <param name="topic">
            The notification topic or subject.
            </param>
            <param name="ownsWeak">
            If set to false, the <see cref="T:Gecko.Interfaces.nsIObserverService"/>
            will hold a strong reference to observer.  If set to true and observer
            supports the <see cref="T:Gecko.Interfaces.nsIWeakReference"/> interface,
            a weak reference will be held. Otherwise an error will be returned.
            </param>
        </member>
        <member name="M:Gecko.Services.ObserverService.RemoveObserver(Gecko.Interfaces.nsIObserver,System.String)">
            <summary>
            Unregisters a given listener from notifications regarding the specified topic.
            </summary>
            <param name="observer">
            The interface pointer which will stop recieving notifications.
            </param>
            <param name="topic">
            The notification topic or subject.
            </param>
        </member>
        <member name="M:Gecko.Services.ObserverService.NotifyObservers(Gecko.Interfaces.nsISupports,System.String,System.String)">
            <summary>
            Notifies all registered listeners of the given topic.
            </summary>
            <param name="subject">
            Notification specific interface pointer.
            </param>
            <param name="topic">
            The notification topic or subject.
            </param>
            <param name="someData">
            Notification specific wide string.
            </param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnNavigating(Gecko.GeckoNavigatingEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.Navigating"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnNavigated(Gecko.GeckoNavigatedEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.Navigated"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnRedirecting(Gecko.GeckoNavigatingEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.Redirecting"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnFrameNavigating(Gecko.GeckoNavigatingEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.FrameNavigating"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnFrameNavigated(Gecko.GeckoNavigatedEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.FrameNavigated"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDocumentCompleted(Gecko.GeckoDocumentCompletedEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DocumentCompleted"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnHistoryNewEntry(Gecko.GeckoHistoryEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.HistoryNewEntry"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnHistoryGoBack(Gecko.GeckoHistoryEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.HistoryGoBack"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnHistoryGoForward(Gecko.GeckoHistoryEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.HistoryGoForward"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnHistoryReload(Gecko.GeckoHistoryEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.HistoryReload"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnHistoryGotoIndex(Gecko.GeckoHistoryGotoIndexEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.HistoryGotoIndex"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnHistoryPurge(Gecko.GeckoHistoryPurgeEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.HistoryPurge"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnCreateWindow(Gecko.GeckoCreateWindowEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.CreateWindow"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomKeyDown(Gecko.GeckoDOMKeyEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomKeyDown"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomKeyUp(Gecko.GeckoDOMKeyEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomKeyUp"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomKeyPress(Gecko.GeckoDOMKeyEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomKeyPress"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomMouseDown(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomMouseDown"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomMouseUp(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomMouseUp"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomMouseOver(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomMouseOver"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomMouseOut(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomMouseOut"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomMouseMove(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomMouseMove"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomContextMenu(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomContextMenu"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomMouseScroll(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomMouseScroll"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomSubmit(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomSubmit"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomCompositionStart(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomCompositionStart"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomCompositionEnd(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomCompositionEnd"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomFocus(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomFocus"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomBlur(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomBlur"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnLoad(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="F:Gecko.WindowlessWebView.LoadEvent"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDOMContentLoaded(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="F:Gecko.WindowlessWebView.LoadEvent"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnReadyStateChange(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="F:Gecko.WindowlessWebView.LoadEvent"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnHashChange(Gecko.GeckoDOMHashChangeEventArgs)">
            <summary>Raises the <see cref="F:Gecko.WindowlessWebView.HashChangeEvent"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDragStart(Gecko.GeckoDOMDragEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDragStart"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDragEnter(Gecko.GeckoDOMDragEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDragEnter"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDragOver(Gecko.GeckoDOMDragEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDragOver"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDragLeave(Gecko.GeckoDOMDragEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDragLeave"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDrag(Gecko.GeckoDOMDragEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDrag"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDrop(Gecko.GeckoDOMDragEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDrop"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDragEnd(Gecko.GeckoDOMDragEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDragEnd"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomContentChanged(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomContentChanged"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomClick(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomClick"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomDoubleClick(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomDoubleClick"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomScroll(Gecko.GeckoDOMUIEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomScroll"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDomWheel(Gecko.GeckoDOMMouseEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomScroll"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDOMWindowCreated(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DomScroll"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnFullscreenChange(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="F:Gecko.WindowlessWebView.FullscreenChangeEvent"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnNSSError(Gecko.GeckoNSSErrorEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.NSSError"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.Navigate(System.String)">
            <summary>
            Loads the document at the specified Uniform Resource Locator (URL) into the WebView control, replacing the previous document.
            </summary>
            <param name="urlString">The URL of the document to load.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.Navigate(System.Uri)">
            <summary>
            Loads the document at the location indicated by the specified Uri into the WebBrowser control, replacing the previous document.
            </summary>
            <param name="url">The URL of the document to load.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.Reload">
            <summary>
            Reloads the document currently displayed in the WebView control by checking the server for an updated version.
            </summary>
        </member>
        <member name="M:Gecko.WindowlessWebView.Reload(Gecko.GeckoLoadFlags)">
            <summary>
            Reloads the document currently displayed in the WebView control using the specified reload flags.
            </summary>
        </member>
        <member name="M:Gecko.WindowlessWebView.GoBack">
            <summary>
            Navigates the WebView control to the previous page in the navigation history, if one is available.
            </summary>
            <returns>true if the navigation succeeds; false if a previous page in the navigation history is not available.</returns>
        </member>
        <member name="M:Gecko.WindowlessWebView.GoForward">
            <summary>
            Navigates the WebView control to the next page in the navigation history, if one is available.
            </summary>
            <returns>true if the navigation succeeds; false if a subsequent page in the navigation history is not available.</returns>
        </member>
        <member name="M:Gecko.WindowlessWebView.GoHome">
            <summary>
            Navigates the WebView control to the home page of the current user.
            </summary>
        </member>
        <member name="M:Gecko.WindowlessWebView.GoSearch">
            <summary>
            Navigates the WebView control to the default search page of the current user.
            </summary>
        </member>
        <member name="M:Gecko.WindowlessWebView.Stop">
            <summary>
            Cancels any pending navigation and stops any dynamic page elements, such as background sounds and animations.
            </summary>
        </member>
        <member name="M:Gecko.WindowlessWebView.Navigate(System.String,Gecko.GeckoLoadFlags,System.String,Gecko.IO.MimeInputStream,Gecko.IO.MimeInputStream)">
            <summary>
             Navigates to the specified URL using the given load flags, referrer and post data
             In order to find out when Navigate has finished attach a handler to NavigateFinishedNotifier.NavigateFinished.
            </summary>
            <param name="url">The url to navigate to.  If the url is empty or null, the browser does not navigate and the method returns false.</param>
            <param name="loadFlags">Flags which specify how the page is loaded.</param>
            <param name="referrer">The referring URL, or null.</param>
            <param name="postData">post data and headers, or null</param>
            <param name="headers">headers, or null</param>
            <returns>true if Navigate started. false otherwise.</returns>
        </member>
        <member name="M:Gecko.WindowlessWebView.Navigate(System.String,Gecko.GeckoLoadFlags,System.String,Gecko.ReferrerPolicy,Gecko.IO.MimeInputStream,Gecko.IO.MimeInputStream)">
            <summary>
             Navigates to the specified URL using the given load flags, referrer and post data
             In order to find out when Navigate has finished attach a handler to NavigateFinishedNotifier.NavigateFinished.
            </summary>
            <param name="url">The url to navigate to.  If the url is empty or null, the browser does not navigate and the method returns false.</param>
            <param name="loadFlags">Flags which specify how the page is loaded.</param>
            <param name="referrer">The referring URL, or null.</param>
            <param name="referrerPolicy">The referrer policy.</param>
            <param name="postData">post data and headers, or null</param>
            <param name="headers">headers, or null</param>
            <returns>true if Navigate started. false otherwise.</returns>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnCanGoBackChanged(System.EventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.CanGoBackChanged"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnCanGoForwardChanged(System.EventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.CanGoForwardChanged"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnProgressChanged(Gecko.GeckoProgressEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.ProgressChanged"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnWindowClose(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.WindowClosed"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnWindowClosed(Gecko.GeckoDOMEventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.WindowClosed"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnStatusTextChanged(System.EventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.StatusTextChanged"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="M:Gecko.WindowlessWebView.OnDocumentTitleChanged(System.EventArgs)">
            <summary>Raises the <see cref="E:Gecko.WindowlessWebView.DocumentTitleChanged"/> event.</summary>
            <param name="e">The data for the event.</param>
        </member>
        <member name="E:Gecko.WindowlessWebView.Navigating">
            <summary>
            Occurs before the browser navigates to a new page.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.Navigated">
            <summary>
            Occurs after the browser has navigated to a new page.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.Redirecting">
            <summary>
            Occurs before the browser redirects to a new page.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.FrameNavigating">
            <summary>
            Occurs before the browser navigates to a new frame.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.FrameNavigated">
            <summary>
            Occurs after the browser has navigated to a new frame.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.DocumentCompleted">
            <summary>
            Occurs after the browser has finished parsing a new page and updated the <see cref="P:Gecko.WindowlessWebView.Document"/> property.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.NSSError">
            <summary>
            Occurs when the control has updated progress information.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.CanGoBackChanged">
            <summary>
            Occurs when the value of the <see cref="P:Gecko.WindowlessWebView.CanGoBack"/> property is changed.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.CanGoForwardChanged">
            <summary>
            Occurs when the value of the <see cref="P:Gecko.WindowlessWebView.CanGoForward"/> property is changed.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.ProgressChanged">
            <summary>
            Occurs when the control has updated progress information.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.StatusTextChanged">
            <summary>
            Occurs when the value of the <see cref="P:Gecko.WindowlessWebView.StatusText"/> property is changed.
            </summary>
        </member>
        <member name="E:Gecko.WindowlessWebView.DocumentTitleChanged">
            <summary>
            Occurs when the value of the <see cref="P:Gecko.WindowlessWebView.DocumentTitle"/> property is changed.
            </summary>
        </member>
        <member name="P:Gecko.WindowlessWebView.Url">
            <summary>
            Gets or sets the URL of the current document.
            </summary>
        </member>
        <member name="P:Gecko.WindowlessWebView.CanGoBack">
            <summary>
            Gets a value indicating whether a previous page in navigation history is available, which allows the GoBack method to succeed.
            </summary>
        </member>
        <member name="P:Gecko.WindowlessWebView.CanGoForward">
            <summary>
            Gets a value indicating whether a subsequent page in navigation history is available, which allows the GoForward method to succeed.
            </summary>
        </member>
        <member name="P:Gecko.WindowlessWebView.StatusText">
            <summary>
            Gets the status text of the WebView control.
            </summary>
        </member>
        <member name="T:Gecko.HistoryService">
            <summary>
            Global history. It adds functions used by the basic browser like,
            marking pages as typed in the URL bar, and removing pages as from the history.
            </summary>
        </member>
        <member name="M:Gecko.HistoryService.RemoveAllPages">
            <summary>
            Removes all existing pages from global history.
            Visits are removed synchronously, but pages are expired asynchronously
            off the main-thread.
            </summary>
        </member>
        <member name="M:Gecko.HistoryService.RemovePage(System.Uri)">
            <summary>
            Removes a page from global history.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.None">
            <summary>
            This is the default value for the load flags parameter.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.IsRefresh">
            <summary>
            This flag specifies that the load should have the semantics of an HTML
            META refresh (i.e., that the cache should be validated).  This flag is
            only applicable to loadURI.
            XXX the meaning of this flag is poorly defined.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.IsLink">
            <summary>
            This flag specifies that the load should have the semantics of a link
            click.  This flag is only applicable to loadURI.
            XXX the meaning of this flag is poorly defined.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.BypassHistory">
            <summary>
            This flag specifies that history should not be updated.  This flag is only
            applicable to loadURI.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.ReplaceHistory">
            <summary>
            This flag specifies that any existing history entry should be replaced.
            This flag is only applicable to loadURI.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.BypassCache">
            <summary>
            This flag specifies that the local web cache should be bypassed, but an
            intermediate proxy cache could still be used to satisfy the load.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.BypassProxy">
            <summary>
            This flag specifies that any intermediate proxy caches should be bypassed
            (i.e., that the content should be loaded from the origin server).
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.CharsetChange">
            <summary>
            This flag specifies that a reload was triggered as a result of detecting
            an incorrect character encoding while parsing a previously loaded
            document.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.StopContent">
            <summary>
            If this flag is set, Stop() will be called before the load starts
            and will stop both content and network activity (the default is to
            only stop network activity).  Effectively, this passes the
            STOP_CONTENT flag to Stop(), in addition to the STOP_NETWORK flag.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.FromExternal">
            <summary>
            A hint this load was prompted by an external program: take care!
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.AllowThirdPartyFixup">
            <summary>
            This flag specifies that the URI may be submitted to a third-party
            server for correction. This should only be applied to non-sensitive
            URIs entered by users.
            </summary>
        </member>
        <member name="F:Gecko.GeckoLoadFlags.FirstLoad">
            <summary>
            This flag specifies that this is the first load in this object.
            Set with care, since setting incorrectly can cause us to assume that
            nothing was actually loaded in this object if the load ends up being
            handled by an external application.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.IsSelected(System.Int32)">
            <summary>
            Indicates whether or not the row at the specified index is
            part of the selection.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.Select(System.Int32)">
            <summary>
            Deselect all rows and select the row at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.TimedSelect(System.Int32,System.Int32)">
            <summary>
            Perform a timed select.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.ToggleSelect(System.Int32)">
            <summary>
            Toggle the selection state of the row at the specified index.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.RangedSelect(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Select the range specified by the indices.  If augment is true,
            then we add the range to the selection without clearing out anything
            else.  If augment is false, everything is cleared except for the specified range.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.ClearRange(System.Int32,System.Int32)">
            <summary>
            Clears the range.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.ClearSelection">
            <summary>
            Clears the selection.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.InvertSelection">
            <summary>
            Inverts the selection.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.SelectAll">
            <summary>
            Selects all rows.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.GetRangeAt(System.Int32,System.Int32@,System.Int32@)">
            <summary>Member GetRangeAt </summary>
            <param name='i'> </param>
            <param name='min'> </param>
            <param name='max'> </param>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.InvalidateSelection">
            <summary>
            Can be used to invalidate the selection.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeSelection.AdjustSelection(System.Int32,System.Int32)">
            <summary>
            Called when the row count changes to adjust selection indices.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.Tree">
            <summary>
            The tree widget for this selection.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.Single">
            <summary>
            Boolean indicating single selection.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.Count">
            <summary>
            The number of rows currently selected in this tree.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.RangeCount">
            <summary>
            Iterate the selection using these methods.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.SelectEventsSuppressed">
            <summary>
            This attribute is a boolean indicating whether or not the
            "select" event should fire when the selection is changed using
            one of our methods.  A view can use this to temporarily suppress
            the selection while manipulating all of the indices, e.g., on
            a sort.
            Note: setting this attribute to false will fire a select event.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.CurrentIndex">
            <summary>
            The current item (the one that gets a focus rect in addition to being
            selected).
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.CureentColumn">
            <summary>
            The current column.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeSelection.ShiftSelectPivot">
            <summary>
            The selection "pivot".  This is the first item the user selected as
            part of a ranged select.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.IsContainer(System.Int32)">
            <summary>
            Methods that can be used to test whether or not a twisty should be drawn,
            and if so, whether an open or closed twisty should be used.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.IsContainerOpen(System.Int32)">
            <summary>Member IsContainerOpen </summary>
            <param name='index'> </param>
            <returns>A System.Boolean</returns>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.IsContainerEmpty(System.Int32)">
            <summary>Member IsContainerEmpty </summary>
            <param name='index'> </param>
            <returns>A System.Boolean</returns>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.IsSeparator(System.Int32)">
            <summary>
            isSeparator is used to determine if the row at index is a separator.
            A value of true will result in the tree drawing a horizontal separator.
            The tree uses the ::moz-tree-separator pseudoclass to draw the separator.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.GetParentIndex(System.Int32)">
            <summary>
            Methods used by the tree to draw thread lines in the tree.
            getParentIndex is used to obtain the index of a parent row.
            If there is no parent row, getParentIndex returns -1.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.HasNextSibling(System.Int32,System.Int32)">
            <summary>
            hasNextSibling is used to determine if the row at rowIndex has a nextSibling
            that occurs *after* the index specified by afterIndex.  Code that is forced
            to march down the view looking at levels can optimize the march by starting
            at afterIndex+1.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.GetLevel(System.Int32)">
            <summary>
            The level is an integer value that represents
            the level of indentation.  It is multiplied by the width specified in the
            :moz-tree-indentation pseudoelement to compute the exact indendation.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.GetImageSrc(System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            The image path for a given cell. For defining an icon for a cell.
            If the empty string is returned, the :moz-tree-image pseudoelement
            will be used.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.GetProgressMode(System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            The progress mode for a given cell. This method is only called for
            columns of type |progressmeter|.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.GetCellValue(System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            The value for a given cell. This method is only called for columns
            of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.GetCellText(System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            The text for a given cell.  If a column consists only of an image, then
            the empty string is returned.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.SetTree(Gecko.GeckoTreeBoxObject)">
            <summary>
            Called during initialization to link the view to the front end box object.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.ToggleOpenState(System.Int32)">
            <summary>
            Called on the view when an item is opened or closed.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.CycleHeader(Gecko.GeckoTreeColumn)">
            <summary>
            Called on the view when a header is clicked.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.SelectionChanged">
            <summary>
            Should be called from a XUL onselect handler whenever the selection changes.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.CycleCell(System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            Called on the view when a cell in a non-selectable cycling column (e.g., unread/flag/etc.) is clicked.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.IsEditable(System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            isEditable is called to ask the view if the cell contents are editable.
            A value of true will result in the tree popping up a text field when
            the user tries to inline edit the cell.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.IsSelectable(System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            isSelectable is called to ask the view if the cell is selectable.
            This method is only called if the selection style is |cell| or |text|.
            XXXvarga shouldn't this be called isCellSelectable?
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.SetCellValue(System.Int32,Gecko.GeckoTreeColumn,System.String)">
            <summary>
            setCellValue is called when the value of the cell has been set by the user.
            This method is only called for columns of type other than |text|.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.SetCellText(System.Int32,Gecko.GeckoTreeColumn,System.String)">
            <summary>
            setCellText is called when the contents of the cell have been edited by the user.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.PerformAction(System.String)">
            <summary>
            A command API that can be used to invoke commands on the selection.  The tree
            will automatically invoke this method when certain keys are pressed.  For example,
            when the DEL key is pressed, performAction will be called with the "delete" string.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.PerformActionOnRow(System.String,System.Int32)">
            <summary>
            A command API that can be used to invoke commands on a specific row.
            </summary>
        </member>
        <member name="M:Gecko.GeckoTreeView`1.PerformActionOnCell(System.String,System.Int32,Gecko.GeckoTreeColumn)">
            <summary>
            A command API that can be used to invoke commands on a specific cell.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeView`1.RowCount">
            <summary>
            The total number of rows in the tree (including the offscreen rows).
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeView`1.Selection">
            <summary>
            The selection for this view.
            </summary>
        </member>
        <member name="P:Gecko.GeckoTreeView`1.IsSorted">
            <summary>
            Specifies if there is currently a sort on any column. Used mostly by dragdrop
            to affect drop feedback.
            </summary>
        </member>
        <member name="M:Gecko.Interop.NativeArray`1.#ctor(System.IntPtr,System.UInt32,Gecko.Interop.NativeArrayItemType,System.Func{System.IntPtr,System.Object},System.Func{System.Object,System.IntPtr})">
            <summary>
            An indexed collection of elements. Provides basic functionality for
            retrieving elements at a specific position, searching for
            elements. Indexes are zero-based, such that the last element in the
            array is stored at the index length-1.
            </summary>
            <param name="mem">Address of array (pointer to first element in array).</param>
            <param name="count">The number of elements in the array.</param>
            <param name="itemType"></param>
            <param name="nativeToManagedFun"><see cref="T:System.IntPtr"/> to T marshaler.</param>
            <param name="managedToNativeFun">T to <see cref="T:System.IntPtr"/> marshaler.</param>
        </member>
        <member name="T:Gecko.IO.ByteArrayInputStream">
            <summary>
            Streams a byte array using nsIInputStream.
            </summary>
        </member>
        <member name="T:Gecko.CustomMarshalers.WStringMarshaler">
            <summary>
            Custom Marshaler for xpcom/xulrunner native type wstring wstring
            
            To use managed type string as parameter and apply attribute:
            [MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "Gecko.CustomMarshalers.WStringMarshaler")] string
            or for string return types use:
            [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "Gecko.CustomMarshalers.WStringMarshaler")]
            </summary>
        </member>
        <member name="M:Gecko.CustomMarshalers.WStringMarshaler.MarshalManagedToNative(System.Object)">
            <summary>
            Convert the passed string to Utf16 encoded string 
            written to memory allocated by xpcom/xulrunner itself.
            </summary>
            <param name="ManagedObj"></param>
            <returns>ptr to native memory containing utf16 encoded string + null term</returns>
        </member>
        <member name="M:Gecko.CustomMarshalers.WStringMarshaler.MarshalNativeToManaged(System.IntPtr)">
            <summary>
            Convert 
            </summary>
            <param name="pNativeData"></param>
            <returns>copy of native ut16 string as managed string.</returns>
        </member>
        <member name="T:Gecko.DirectoryServiceProvider">
            <summary>
            A simple nsIDirectoryServiceProvider which provides the profile directory, etc.
            This is still an incomplete implementation and can cause issues -- if this happens, add the missing item.
            For lists of items in DirectoryService, see
            https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O#Getting_files_in_special_directories
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.CreateElement(System.String)">
            <summary>
            In an HTML document creates the specified HTML element or HTMLUnknownElement if the element is not known.
            In a XUL document creates the specified XUL element.
            In other documents creates an element with a null namespaceURI.
            </summary>
            <param name="tagName">a string that specifies the type of element to be created.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.GetElementsByTagName(System.String)">
            <summary>
            Returns a collection containing all elements in the document with a given tag name.
            </summary>
            <param name="tagName"></param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Gecko.DOM.GeckoDocument.GetElementsByTagNameNS(System.String,System.String)" -->
        <member name="M:Gecko.DOM.GeckoDocument.GetElementById(System.String)">
            <summary>
            Searches for and returns the element in the document with the given id.
            </summary>
            <param name="id"></param>
            <returns>Found element or null if element does not exist</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.CreateRange">
            <summary>
            <see cref="!:http://html5.org/specs/dom-range.html#dom-document-createrange"/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.HasFocus">
            <summary>
            <see cref="!:http://www.whatwg.org/html/#dom-document-hasfocus"/>
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.GetElementsByClassName(System.String)">
            <summary>
            Returns a set of elements with the given class name. When called on the document object, the complete document is searched, including the root node.
            </summary>
            <param name="classes"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.EnableStyleSheetsForSet(System.String)">
            <summary>
            <see cref="!:http://dev.w3.org/csswg/cssom/#dom-document-enableStyleSheetsForSet"/>
            </summary>
            <param name="name"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.ElementFromPoint(System.Single,System.Single)">
            <summary>
            Returns the element visible at the given point, relative to the upper-left-most visible point in the document.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.ReleaseCapture">
            <summary>
            <see cref="!:https://developer.mozilla.org/en/DOM/document.releaseCapture"/>
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.MozCancelFullScreen">
            <summary>
            Causes the document to leave DOM full-screen mode, if it's in
            full-screen mode, as per the DOM full-screen api.
            <see cref="!:https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI"/>
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.QuerySelector(System.String)">
            <summary>
            Returns the first element within the document (using depth-first pre-order traversal of the document's nodes) that matches the specified group of selectors.
            </summary>
            <param name="selector">A string containing one or more CSS selectors separated by commas.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.QuerySelectorAll(System.String)">
            <summary>
            Returns a list of the elements within the document (using depth-first pre-order traversal of the document's nodes) that match the specified group of selectors.
            </summary>
            <param name="selector">A string containing one or more CSS selectors separated by commas.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.CreateTreeWalker(Gecko.GeckoNode,Gecko.DOM.NodeFilterFlags,Gecko.Interfaces.nsIDOMNodeFilter)">
            <summary>
            Create the TreeWalker object.
            </summary>
            <param name="root">Is the root Node of this TreeWalker traversal. Typically this will be an element owned by the document.</param>
            <param name="whatToShow">The bitmask that describing way of filtering for certain types of node.</param>
            <param name="filter">Is an optional NodeFilter, that is an object with a method acceptNode, which is called by the TreeWalker to determine whether or not to accept a node that has passed the whatToShow check.</param>
            <returns>Returns a newly created TreeWalker object.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.Evaluate(System.String,Gecko.GeckoNode,Gecko.DOM.GeckoXPathResultType)">
            <summary>
            Returns an XPathResult based on an XPath expression and other given parameters.
            </summary>
            <param name="xpathExpression">A string representing the XPath to be evaluated.</param>
            <param name="contextNode">The contextNode specifies the context node for the query (see the [http://www.w3.org/TR/xpath XPath specification). It's common to pass document as the context node.</param>
            <param name="resultType">The type of result XPathResult to return.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.GetAnonymousElementByAttribute(Gecko.DOM.GeckoElement,System.String,System.String)">
            <summary>
            Retrieves an anonymous descendant with a specified attribute value.
            Typically used with an (arbitrary) anonid attribute to retrieve a specific anonymous child in an XBL binding.
            </summary>
            <param name="element">The element to retrieve anonymous children for.</param>
            <param name="attrName">The attribute name to look up.</param>
            <param name="attrValue">The attribute value to match.</param>
            <returns>Returns an anonymous descendant of the given element with matching attribute name and value.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.GetAnonymousNodes(Gecko.DOM.GeckoElement)">
            <summary>
            Retrieves the anonymous children of the specified element.
            </summary>
            <param name="element">The element to retrieve anonymous children for.</param>
            <returns>
            Returns a NodeList that represents the children of an element after insertion points from its
            own binding have been applied. This means that, depending on the details regarding the insertion
            points of the binding, it&apos;s possible that some non-anonymous nodes appear in the list.
            </returns>
        </member>
        <member name="M:Gecko.DOM.GeckoDocument.GetBindingParent(Gecko.GeckoNode)">
            <summary>
            Obtains the bound element with the binding attached that is responsible for the generation
            of the specified anonymous node. This method enables an author to determine the scope of
            any content node. When content at the document-level scope is passed in as an argument,
            the property&apos;s value is null.
            </summary>
            <param name="anonymousNode">The node for which the bound element responsible for generation is desired.</param>
            <returns>Returns the element responsible for the given anonymous node.</returns>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.DocumentElement">
            <summary>
            Gets the top-level document element (for HTML documents, this is the html tag).
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.DefaultView">
            <summary>
            The window associated with this document.
            <see cref="!:http://www.whatwg.org/html/#dom-document-defaultview"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.CharacterSet">
            <summary>
            <see cref="!:http://www.whatwg.org/html/#dom-document-characterset"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.Dir">
            <summary>
            <see cref="!:http://www.whatwg.org/html/#dom-document-dir"/>
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:Gecko.DOM.GeckoDocument.Location" -->
        <member name="P:Gecko.DOM.GeckoDocument.Title">
            <summary>
            Gets the document title.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.ReadyState">
            <summary>
            <see cref="!:http://www.whatwg.org/html/#dom-document-readystate"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.LastModified">
            <summary>
            Returns a string containing the date and time on which the current document was last modified.
            <see cref="!:https://developer.mozilla.org/en-US/docs/Web/API/document.lastModified"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.Referrer">
            <summary>
            Returns the URI of the page that linked to this page.
            <see cref="!:https://developer.mozilla.org/en-US/docs/Web/API/document.referrer"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.ActiveElement">
            <summary>
            Gets the currently focused element.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.PreferredStyleSheetSet">
            <summary>
            <see cref="!:http://dev.w3.org/csswg/cssom/#dom-document-preferredStyleSheetSet"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.SelectedStyleSheetSet">
            <summary>
            <see cref="!:http://dev.w3.org/csswg/cssom/#dom-document-selectedStyleSheetSet"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.LastStyleSheetSet">
            <summary>
            <see cref="!:http://dev.w3.org/csswg/cssom/#dom-document-lastStyleSheetSet"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.StyleSheets">
            <summary>
            Gets a list of stylesheets explicitly linked into or embedded in a document.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.MozSyntheticDocument">
            <summary>
            True if this document is synthetic : stand alone image, video, audio file,
            etc.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.CurrentScript">
            <summary>
            Returns the script element whose script is currently being processed.
            <see cref="!:https://developer.mozilla.org/en/DOM/document.currentScript"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.MozFullScreen">
            <summary>
            Denotes whether this document is in DOM full-screen mode, as per the DOM
            full-screen api.
            <see cref="!:https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.MozFullScreenEnabled">
            <summary>
            Denotes whether the full-screen-api.enabled is true, no windowed
            plugins are present, and all ancestor documents have the
            mozallowfullscreen attribute set.
            <see cref="!:https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.Hidden">
            <summary>
            Visibility API implementation.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocument.VisibilityState">
            <summary>
             Gets the visibility of the document, that is in which context this element
             is now visible. It is useful to know if the document is in the background or
             an invisible tab, or only loaded for pre-rendering.
             <see cref="!:https://developer.mozilla.org/ru/docs/Web/API/Document/visibilityState"/>
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoCSSRule.CssText">
            <summary>
            Gets this rule formatted as CSS text.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoCSSRule.ParentStyleSheet">
            <summary>
            Gets the <see cref="T:Gecko.DOM.GeckoCSSStyleSheet"/> which contains this rule.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoCSSRule.Type">
            <summary>
            Gets the <see cref="T:Gecko.DOM.GeckoCSSRuleType"/> of this rule.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoCSSRuleList.GetEnumerator">
            <summary>
            Returns an IEnumerator which can enumerate through the rules in the collection.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Gecko.DOM.GeckoCSSRuleList.Count">
            <summary>
            Gets the number of items in the collection.
            </summary>
        </member>
        <member name="T:Gecko.DOM.GeckoCSSRuleType">
            <summary>
            Specifies the various types of rules for a <see cref="!:GeckoStyleRule"/>.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoDocumentType.Name">
             <summary>
             Each Document has a doctype attribute whose value is either null
             or a DocumentType object.
             The nsIDOMDocumentType interface in the DOM Core provides an
             interface to the list of entities that are defined for the document.
            
             For more information on this interface please see
             http://www.w3.org/TR/DOM-Level-2-Core/
             </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoCSSStyleDeclaration.GetPropertyValue(System.String)">
            <summary>
            Get the value of a specfic Css Property.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoCSSStyleDeclaration.SetPropertyValue(System.String,System.String)">
            <summary>
            Set the value of a specfic Css Property.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoCSSStyleDeclaration.SetPropertyValue(System.String,System.String,System.String)">
            <summary>
            Set the value of a specfic Css Property.
            </summary>          
        </member>
        <member name="P:Gecko.DOM.GeckoCSSStyleDeclaration.CssText">
            <summary>
            Get and sets the CssText.
            For example: "background-color: green; color: red;"
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoCSSStyleDeclaration.Length">
            <summary>
            Get the number of CSS properties. 
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoCSSStyleDeclaration.Item(System.Int32)">
            <summary>
            Get property name by index
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoCSSStyleSheet.OwnerRule">
            <summary>
            Gets the <see cref="!:GeckoStyleRule"/> which imported this style sheet.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoCSSStyleSheet.CssRules">
            <summary>
            Gets the collection of rules in the style sheet.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoMediaList.AppendMedium(System.String)">
            <summary>
            Appends the specified medium to the list.
            </summary>
            <param name="medium"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoMediaList.DeleteMedium(System.String)">
            <summary>
            Deletes the specified medium from the list.
            </summary>
            <param name="medium"></param>
        </member>
        <member name="P:Gecko.DOM.GeckoMediaList.Count">
            <summary>
            Gets the number of mediums in the list.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoMediaList.Item(System.Int32)">
            <summary>
            Returns the medium at the given index in the list.
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="P:Gecko.DOM.GeckoMediaList.MediaText">
            <summary>
            Gets or sets the complete list of mediums as a single string.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoMozNamedAttrMap.Length">
            <summary>
            Gets the number of items in the map.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoParser.Parse(System.String,System.String)">
            <summary>
            It is working!
            </summary>
            <param name="str"></param>
            <param name="contentType"></param>
            <returns></returns>
        </member>
        <member name="T:Gecko.DOM.GeckoAttribute">
            <summary>
            Represents a DOM attribute.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoAttribute.Name">
            <summary>
            Gets the name of the attribute.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoAttribute.OwnerElement">
            <summary>
            Gets the <see cref="T:Gecko.DOM.GeckoElement"/> which contains this attribute.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoAttribute.Specified">
            <summary>
            Gets a value indicating whether the attribute is specified.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoAttribute.Value">
            <summary>
            Gets the value of the attribute.
            </summary>
        </member>
        <member name="T:Gecko.DOM.GeckoNodeCollection">
            <summary>
            Represents a collection of <see cref="!:GeckoHtmlElement"/> objects.
            </summary>
        </member>
        <member name="T:Gecko.Interfaces.nsWriteSegmentFun">
            <summary>
            The signature of the writer function passed to ReadSegments. This
            is the &quot;consumer&quot; of data that gets read from the stream's buffer.
            </summary>
            <param name="aInStream">The stream being read.</param>
            <param name="aClosure">The opaque parameter passed to ReadSegments</param>
            <param name="aFromSegment">
            The pointer to memory owned by the input stream.
            This is where the writer function should start consuming data.
            </param>
            <param name="aToOffset">The amount of data already consumed by
            this writer during this ReadSegments call. This is also the sum
            of the aWriteCount returns from this writer over the previous
            invocations of the writer by this ReadSegments call.
            </param>
            <param name="aCount">Number of bytes available to be read starting at aFromSegment.</param>
            <param name="aWriteCount">Number of bytes read by this writer function call.</param>
            <returns>
            NS_OK and (*aWriteCount &gt; 0) if consumed some data.
            &lt;any-error&gt; if not interested in consuming any data.
            </returns>
            <remarks>
            Errors are never passed to the caller of ReadSegments.
            Returning NS_OK and (*aWriteCount = 0) has undefined behavior.
            </remarks>
        </member>
        <member name="T:Gecko.DOM.GeckoSelection">
            <summary>
            Manipulates and queries the current selected range of nodes within the document.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.GetRangeAt(System.Int32)">
            <summary>
            Returns the range at the specified index.
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.Collapse(Gecko.GeckoNode,System.Int32)">
            <summary>
            Collapses the selection to a single point, at the specified offset in the given DOM node. When the selection is collapsed, and the content is focused and editable, the caret will blink there.
            </summary>
            <param name="parentNode"></param>
            <param name="offset"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.Extend(Gecko.GeckoNode,System.Int32)">
            <summary>
            Extends the selection by moving the selection end to the specified node and offset, preserving the selection begin position. The new selection end result will always be from the anchorNode to the new focusNode, regardless of direction.
            </summary>
            <param name="parentNode">The node where the selection will be extended to.</param>
            <param name="offset">Where in node to place the offset in the new selection end.</param>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.CollapseToStart">
            <summary>
            Collapses the whole selection to a single point at the start of the current selection (irrespective of direction). If content is focused and editable, the caret will blink there.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.CollapseToEnd">
            <summary>
            Collapses the whole selection to a single point at the end of the current selection (irrespective of direction). If content is focused and editable, the caret will blink there.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.ContainsNode(Gecko.GeckoNode,System.Boolean)">
            <summary>
            Returns whether the specified node is part of the Instance.
            </summary>
            <param name="node"></param>
            <param name="partlyContained">True if the function should return true when some part of the node is contained with the selection; when false, the function only returns true when the entire node is contained within the Instance.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.SelectAllChildren(Gecko.GeckoNode)">
            <summary>
            Adds all children of the specified node to the Instance.
            </summary>
            <param name="parentNode"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.AddRange(Gecko.DOM.GeckoRange)">
            <summary>
            Adds a range to the current Instance.
            </summary>
            <param name="range"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.RemoveRange(Gecko.DOM.GeckoRange)">
            <summary>
            Removes a range from the current Instance.
            </summary>
            <param name="range"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.RemoveAllRanges">
            <summary>
            Removes all ranges from the current Instance.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.DeleteFromDocument">
            <summary>
            Deletes this selection from the document.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.StartBatchChanges">
            <summary>
            Match this up with EndbatchChanges. Will stop ui updates while multiple selection methods are called.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.EndBatchChanges">
            <summary>
            Match this up with startBatchChanges
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.ScrollIntoView(System.Int16,System.Boolean,System.Int16,System.Int16)">
             <summary>
             Scrolls a region of the selection, so that it is visible in
             the scrolled view.
            
             @param aRegion - the region inside the selection to scroll into view
             (see selection region constants defined in
             nsISelectionController).
             @param aIsSynchronous - when true, scrolls the selection into view
             before returning. If false, posts a request which
             is processed at some point after the method returns.
             @param aVPercent - how to align the frame vertically. A value of 0
             means the frame's upper edge is aligned with the top edge
             of the visible area. A value of 100 means the frame's
             bottom edge is aligned with the bottom edge of
             the visible area. For values in between, the point
             "aVPercent" down the frame is placed at the point
             "aVPercent" down the visible area. A value of 50 centers
             the frame vertically. A value of -1 means move
             the frame the minimum amount necessary in order for
             the entire frame to be visible vertically (if possible).
             @param aHPercent - how to align the frame horizontally. A value of 0
             means the frame's left edge is aligned with the left
             edge of the visible area. A value of 100 means the
             frame's right edge is aligned with the right edge of
             the visible area. For values in between, the point
             "aHPercent" across the frame is placed at the point
             "aHPercent" across the visible area. A value of 50
             centers the frame horizontally . A value of -1 means
             move the frame the minimum amount necessary in order
             for the entire frame to be visible horizontally
             (if possible).
             </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoSelection.ToString">
            <summary>
            Returns the whole selection as a plain text string.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Gecko.DOM.GeckoSelection.AnchorNode">
            <summary>
            Gets the node in which the selection begins.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoSelection.AnchorOffset">
            <summary>
            Gets the offset within the (text) node where the selection begins.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoSelection.FocusNode">
            <summary>
            Gets the node in which the selection ends.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoSelection.FocusOffset">
            <summary>
            Gets the offset within the (text) node where the selection ends.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoSelection.IsCollapsed">
            <summary>
            Gets whether the selection is collapsed or not.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoSelection.RangeCount">
            <summary>
            Gets the number of ranges in the Instance.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoWindow.Stop">
            <summary>
            This method stops window loading.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoWindow.Evaluate(System.String)">
            <summary>
            Evaluate javascript in the window.
            </summary>
            <param name="scriptCode">The script to evaluate in the window.</param>
            <exception cref="T:Gecko.GeckoException"></exception>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.GeckoWindow.GetDefaultComputedStyle(Gecko.DOM.GeckoElement,System.String)">
            <summary>
            The Window.getDefaultComputedStyle() gives the default computed values of all the CSS
            properties of an element, ignoring author styling.  That is, only user-agent and
            user styles are taken into account.
            </summary>
            <param name="element">The element for which to get the computed style.</param>
            <param name="pseudoElement">A string specifying the pseudo-element to match. Must be omitted (or null) for regular elements.</param>
        </member>
        <member name="M:Gecko.DOM.GeckoWindow.GetComputedStyle(Gecko.DOM.GeckoElement,System.String)">
            <summary>
            The Window.getComputedStyle() method gives the values of all the CSS properties
            of an element after applying the active stylesheets and resolving any basic
            computation those values may contain.
            </summary>
            <param name="element">The element for which to get the computed style.</param>
            <param name="pseudoElement">A string specifying the pseudo-element to match. Must be omitted (or null) for regular elements.</param>
        </member>
        <member name="M:Gecko.DOM.GeckoWindow.Open(System.String,System.String,System.String)">
            <summary>
            Opens a new window and loads the document specified by a given URL.
            </summary>
            <param name="url">The URL to be loaded in the newly opened window. strUrl can be an HTML document on the web, image file or any resource supported by the browser.</param>
            <param name="name">A string name for the new window.</param>
            <param name="options">An optional parameter listing the features (size, position, scrollbars, etc.) of the new window as a string.
            The string must not contain any whitespace, and each feature name and its value must be separated by a comma.</param>
            <returns>The newly created window. If the call failed, it will be null.</returns>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.Window">
            <summary>
            Gets the window property of a window object points to the window object itself.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.Document">
            <summary>
            Gets the document displayed in the window.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.WindowRoot">
            <summary>
            Get the window root for this window. This is useful for hooking
            up event listeners to this window and every other window nested
            in the window root.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.Opener">
            <summary>
            Returns a reference to the window that opened this current window.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.Parent">
            <summary>
            Returns a reference to the parent of the current window or subframe.
            If a window does not have a parent, its parent property is a reference to itself.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.Content">
            <summary>
            Returns a Window object for the primary content window. This is useful in XUL windows that have
            a &lt;browser&gt; (or tabbrowser or &lt;iframe&gt;) with type=&quot;content-primary&quot; attribute
            on it - the most famous example is Firefox main window, browser.xul. In such cases, content
            returns a reference to the Window object for the document currently displayed in the browser.\
            In unprivileged content (webpages), content is normally equivalent to top.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.FrameElement">
            <summary>
            Gets this window&apos;s &lt;iframe&gt; or &lt;frame&gt; element, if it has one.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.Screen">
            <summary>
            Returns a reference to the screen object associated with the window. The screen object is a special object for inspecting properties of the screen on which the current window is being rendered.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.Location">
            <summary>
            Returns a <see cref="T:Gecko.DOM.GeckoLocation"/> object with information about the current location of the document.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.AllowDNSPrefetch">
            <summary>
            Gets or sets a value that determines whether DNS prefetch is allowed for this subtree
            of the window tree. Defaults to true. Setting this will make it take
            effect starting with the next document loaded in the window.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.AllowImages">
            <summary>
            Gets or sets a value that indicating whether or not images should be loaded.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.AllowJavascript">
            <summary>
            Gets or sets a value that indicating whether to allow Javascript execution.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.AllowMedia">
            <summary>
            Gets or sets a value that indicating whether or not media (audio/video) should be loaded.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.AllowMetaRedirects">
            <summary>
            Gets or sets a value that stating if refresh based redirects can be allowed.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.AllowPlugins">
            <summary>
            Gets or sets a value that indicating whether to allow plugin execution.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.AllowSubframes">
            <summary>
            Gets or sets a value that stating if it should allow subframes (framesets/iframes) or not.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoWindow.PluginsAllowedInCurrentDoc">
            <summary>
            Gets or sets a value that indicating are plugins allowed in the current
            document loaded in this docshell (if there is one). This depends on whether
            plugins are allowed by this window itself or if the document is sandboxed
            and hence plugins should not be allowed.
            </summary>
        </member>
        <member name="T:Gecko.DOM.GeckoXPathResult">
            <summary>
            Represents the result of the evaluation of an XPath 1.0 expression within the context of a particular node.
            Since evaluation of an XPath expression can result in various result types, this object makes it possible
            to discover and manipulate the type and value of the result.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoXPathResult.#ctor(Gecko.Interfaces.nsIXulfxDOMXPathResult)">
            <summary>
            Creates a GeckoXPathResult wrapper 
            </summary>
            <param name="instance"></param>
        </member>
        <member name="M:Gecko.DOM.GeckoXPathResult.IterateNext">
            <summary>
            Iterates and returns the next node from the node set or nullif there are no more nodes.
            </summary>
            <returns>Returns the next node.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoXPathResult.SnapshotItem(System.UInt32)">
            <summary>
            Returns the indexth item in the snapshot collection. If index is greater than or equal
            to the number of nodes in the list, this method returns null. Unlike the iterator result,
            the snapshot does not become invalid, but may not correspond to the current document if it is mutated.
            </summary>
            <param name="index">Index into the snapshot collection.</param>
            <returns>The node at the indexth position in the NodeList, or null if that is not a valid index.</returns>
        </member>
        <member name="M:Gecko.DOM.GeckoXPathResult.AsEnumerable">
            <summary>
            Converts GeckoXPathResult to IEnumerable&lt;GeckoNode&gt;.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Gecko.DOM.GeckoXPathResult.ResultType">
            <summary>
            A value representing the type of this result.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoXPathResult.NumberValue">
            <summary>
            The value of this number result. If the native double type of the DOM binding does not directly
            support the exact IEEE 754 result of the XPath expression, then it is up to the definition of
            the binding to specify how the XPath number is converted to the native binding number.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoXPathResult.StringValue">
            <summary>
            The value of this string result.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoXPathResult.BooleanValue">
            <summary>
            The value of this boolean result.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoXPathResult.SingleNodeValue">
            <summary>
            The value of this single node result, which may be null.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoXPathResult.InvalidIteratorState">
            <summary>
            Signifies that the iterator has become invalid.
            </summary>
        </member>
        <member name="P:Gecko.DOM.GeckoXPathResult.SnapshotLength">
            <summary>
            The number of nodes in the result snapshot.
            </summary>
        </member>
        <member name="M:Gecko.DOM.HTML.GeckoHTMLDocument.GetElementsByName(System.String)">
            <summary>
            Returns a collection containing all elements in the document with a given name.		
            </summary>
            <param name="name">This is NOT the tagname but the name attribute.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.HTML.GeckoHTMLDocument.CreateElement(System.String)">
            <summary>
            Creates the specified HTML element.
            </summary>
            <param name="tagName">a string that specifies the type of element to be created</param>
        </member>
        <member name="M:Gecko.DOM.HTML.GeckoHTMLDocument.GetElementsByTagName(System.String)">
            <summary>
            Returns a collection containing all elements in the document with a given tag name.
            </summary>
            <param name="tagName"></param>
            <returns></returns>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLDocument.Head">
            <summary>
            Gets the HTML head element.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLDocument.Body">
            <summary>
            Gets the HTML body element.
            </summary>
        </member>
        <member name="M:Gecko.DOM.HTML.GeckoHTMLInputElement.SetFiles(System.String[])">
            <summary>
            Sets the names of the files that selected on an HTML input element.
            </summary>
            <param name="fileNames">The array of file names to apply to the element.</param>
        </member>
        <member name="M:Gecko.DOM.HTML.GeckoHTMLInputElement.GetFiles">
            <summary>
            Gets the names of the files that selected on an HTML input element.
            </summary>
        </member>
        <member name="T:Gecko.DOM.HTML.GeckoHTMLImageElement">
            <summary>
            Provides special properties and methods (beyond the regular HTMLElement interface it also
            has available to it by inheritance) for manipulating the layout and presentation of &lt;img&gt; elements.
            </summary>
        </member>
        <member name="M:Gecko.DOM.HTML.GeckoHTMLImageElement.Create(Gecko.Interfaces.nsIDOMHTMLImageElement)">
            <summary>
            
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.DOM.HTML.GeckoHTMLImageElement.#ctor(Gecko.Interfaces.nsIDOMHTMLImageElement)">
            <summary>
            
            </summary>
            <param name="element"></param>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Name">
            <summary>
            
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Align">
            <summary>
            Gets and sets a string indicating the alignment of the image with respect to the surrounding context.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Alt">
            <summary>
            Gets and sets a string that reflects the alt HTML attribute, indicating fallback context for the image.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Border">
            <summary>
            Gets and sets a string that gives the width of the border around the image. This is now deprecated and the CSS border property should be used instead.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Height">
            <summary>
            Gets and sets a value that reflects the height HTML attribute, indicating the rendered height of the image in CSS pixels.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Hspace">
            <summary>
            Gets and sets a value representing the space to the left and right of the image.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.IsMap">
            <summary>
            Gets and sets a value that reflects the ismap HTML attribute, indicating that the image is part of a server-side image map.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.LongDesc">
            <summary>
            Gets and sets a string representing the URI of a long description of the image.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Src">
            <summary>
            Gets and sets a string that reflects the src HTML attribute, containing the full URL of the image including base URI.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.UseMap">
            <summary>
            Gets and sets a string that reflects the usemap HTML attribute, containing a partial URL of a map element.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Vspace">
            <summary>
            Gets and sets a value representing the space above and below the image
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Width">
            <summary>
            Gets and sets a value that reflects the width HTML attribute, indicating the rendered width of the image in CSS pixels.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.NaturalWidth">
            <summary>
            Gets a value representing the intrinsic width of the image in CSS pixels, if it is available; otherwise, 0.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.NaturalHeight">
            <summary>
            Gets a value representing the intrinsic height of the image in CSS pixels, if it is available; otherwise, 0.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Complete">
            <summary>
            Gets a value that is true if the browser has finished fetching the image,
            whether successful or not. Also returns true if the image has no src value.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.CurrentSrc">
            <summary>
            
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Lowsrc">
            <summary>
            Gets a string representing a reference to a low-quality (but faster to load) copy of the image.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Sizes">
            <summary>
            
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.SrcSet">
            <summary>
            Gets and sets a string reflecting the srcset HTML attribute, containing a list of candidate images,
            separated by a comma (&quot;,&quot;, U+002C COMMA). A candidate image is a URL followed by a &quot;w&quot;
            with the width of the images, or an &quot;x&quot; followed by the pixel density.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.X">
            <summary>
            Gets a value representing the horizontal offset from the nearest layer. This property mimics an old Netscape 4 behavior.
            </summary>
        </member>
        <member name="P:Gecko.DOM.HTML.GeckoHTMLImageElement.Y">
            <summary>
            Gets a value representing the vertical offset from the nearest layer. This property mimics an old Netscape 4 behavior.
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetCursorType">
            <summary>
            Get current cursor type from this window
            @return the current value of nsCursor
            </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetDocumentMetadata(System.String)">
             <summary>
             Function to get metadata associated with the window's current document
             @param aName the name of the metadata.  This should be all lowercase.
             @return the value of the metadata, or the empty string if it's not set
            
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.Redraw(System.UInt32)">
            <summary>
            Force an immediate redraw of this window.  The parameter specifies
            the number of times to redraw, and the return value is the length,
            in milliseconds, that the redraws took.  If aCount is not specified
            or is 0, it is taken to be 1.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SetDisplayPortForElement(System.Single,System.Single,System.Single,System.Single,Gecko.DOM.GeckoElement,System.UInt32)">
             <summary>
             For any scrollable element, this allows you to override the
             visible region and draw more than what is visible, which is
             useful for asynchronous drawing. The "displayport" will be
             &lt;xPx, yPx, widthPx, heightPx&gt; in units of CSS pixels,
             regardless of the size of the enclosing container.  This
             will *not* trigger reflow.
            
             For the root scroll area, pass in the root document element.
             For scrollable elements, pass in the container element (for
             instance, the element with overflow: scroll).
            
             &lt;x, y&gt; is relative to the top-left of what would normally be
             the visible area of the element. This means that the pixels
             rendered to the displayport take scrolling into account,
             for example.
            
             It's legal to set a displayport that extends beyond the overflow
             area in any direction (left/right/top/bottom).
            
             It's also legal to set a displayport that extends beyond the
             area's bounds.  No pixels are rendered outside the area bounds.
            
             The caller of this method must have UniversalXPConnect
             privileges.
             </summary>		
        </member>
        <!-- Badly formed XML comment ignored for member "M:Gecko.DOM.GeckoWindowUtils.SetResolution(System.Single)" -->
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendMouseEvent(System.String,System.Single,System.Single,Gecko.GeckoMouseButton,System.Int32,System.Int32,System.Boolean,System.Single,System.UInt16,System.Boolean,System.Boolean,System.Int32)">
             <summary>
            Synthesize a mouse event. The event types supported are:
             mousedown, mouseup, mousemove, mouseover, mouseout, contextmenu
            
             Events are sent in coordinates offset by aX and aY from the window.
            
             Note that additional events may be fired as a result of this call. For
             instance, typically a click event will be fired as a result of a
             mousedown and mouseup in sequence.
            
             Normally at this level of events, the mouseover and mouseout events are
             only fired when the window is entered or exited. For inter-element
             mouseover and mouseout events, a movemove event fired on the new element
             should be sufficient to generate the correct over and out events as well.
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
            
             The event is dispatched via the toplevel window, so it could go to any
             window under the toplevel window, in some cases it could never reach this
             window at all.
            
             @param aType event type
             @param aX x offset in CSS pixels
             @param aY y offset in CSS pixels
             @param aButton button to synthesize
             @param aClickCount number of clicks that have been performed
             @param aModifiers modifiers pressed, using constants defined in nsIDOMNSEvent
             @param aIgnoreRootScrollFrame whether the event should ignore viewport bounds
             during dispatch
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendMouseEventToWindow(System.String,System.Single,System.Single,Gecko.GeckoMouseButton,System.Int32,System.Int32,System.Boolean,System.Single,System.UInt16,System.Boolean,System.Boolean,System.Int32)">
             <summary>
            The same as sendMouseEvent but ensures that the event is dispatched to
             this DOM window or one of its children.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendKeyEvent(System.String,System.Int32,System.Int32,System.Int32,System.Boolean)">
             <summary>
             Synthesize a key event to the window. The event types supported are:
             keydown, keyup, keypress
            
             Key events generally end up being sent to the focused node.
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
            
             @param aType event type
             @param aKeyCode key code
             @param aCharCode character code
             @param aModifiers modifiers pressed, using constants defined in nsIDOMNSEvent
             @param aPreventDefault if true, preventDefault() the event before dispatch
            
             @return false if the event had preventDefault() called on it,
             true otherwise.  In other words, true if and only if the
             default action was taken.
             </summary>
             	
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendNativeKeyEvent(System.Int32,System.Int32,System.Int32,System.String,System.String,Gecko.Interfaces.nsIObserver)">
             <summary>
             See nsIWidget::SynthesizeNativeKeyEvent
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendNativeMouseEvent(System.Int32,System.Int32,System.Int32,System.Int32,Gecko.DOM.GeckoElement,Gecko.Interfaces.nsIObserver)">
             <summary>
             See nsIWidget::SynthesizeNativeMouseEvent
            
             Will be called on the widget that contains aElement.
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
             </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.ActivateNativeMenuItemAt(System.String)">
             <summary>
             See nsIWidget::ActivateNativeMenuItemAt
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.ForceUpdateNativeMenuAt(System.String)">
             <summary>
             See nsIWidget::ForceUpdateNativeMenuAt
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
             </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.Focus(Gecko.DOM.GeckoElement)">
             <summary>
             Focus the element aElement. The element should be in the same document
             that the window is displaying. Pass null to blur the element, if any,
             that currently has focus, and focus the document.
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
            
             @param aElement the element to focus
            
             Do not use this method. Just use element.focus if available or
             nsIFocusManager::SetFocus instead.
            
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GarbageCollect(Gecko.Interfaces.nsICycleCollectorListener,System.Int32)">
             <summary>
             Force a garbage collection followed by a cycle collection.
            
             Will throw a DOM security error if called without UniversalXPConnect
             privileges in non-debug builds. Available to all callers in debug builds.
            
             @param aListener listener that receives information about the CC graph
             (see @mozilla.org/cycle-collector-logger;1 for a logger
             component)
             @param aExtraForgetSkippableCalls indicates how many times
             nsCycleCollector_forgetSkippable will
             be called before running cycle collection.
             -1 prevents the default
             nsCycleCollector_forgetSkippable call
             which happens after garbage collection.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.CycleCollect(Gecko.Interfaces.nsICycleCollectorListener,System.Int32)">
             <summary>
             Force a cycle collection without garbage collection.
            
             Will throw a DOM security error if called without UniversalXPConnect
             privileges in non-debug builds. Available to all callers in debug builds.
            
             @param aListener listener that receives information about the CC graph
             (see @mozilla.org/cycle-collector-logger;1 for a logger
             component)
             @param aExtraForgetSkippableCalls indicates how many times
             nsCycleCollector_forgetSkippable will
             be called before running cycle collection.
             -1 prevents the default
             nsCycleCollector_forgetSkippable call
             which happens after garbage collection.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendSimpleGestureEvent(System.String,System.Single,System.Single,System.UInt32,System.Double,System.Int32)">
             <summary>
            Synthesize a simple gesture event for a window. The event types
             supported are: MozSwipeGesture, MozMagnifyGestureStart,
             MozMagnifyGestureUpdate, MozMagnifyGesture, MozRotateGestureStart,
             MozRotateGestureUpdate, MozRotateGesture, MozPressTapGesture, and
             MozTapGesture.
            
             Cannot be accessed from unprivileged context (not
             content-accessible) Will throw a DOM security error if called
             without UniversalXPConnect privileges.
            
             @param aType event type
             @param aX x offset in CSS pixels
             @param aY y offset in CSS pixels
             @param aDirection direction, using constants defined in nsIDOMSimpleGestureEvent
             @param aDelta  amount of magnification or rotation for magnify and rotation events
             @param aModifiers modifiers pressed, using constants defined in nsIDOMNSEvent
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.ElementFromPoint(System.Single,System.Single,System.Boolean,System.Boolean)">
             <summary>
             Retrieve the element at point aX, aY in the window's document.
            
             @param aIgnoreRootScrollFrame whether or not to ignore the root scroll
             frame when retrieving the element. If false, this method returns
             null for coordinates outside of the viewport.
             @param aFlushLayout flushes layout if true. Otherwise, no flush occurs.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.NodesFromRect(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean,System.Boolean)">
             <summary>
             Retrieve all nodes that intersect a rect in the window's document.
            
             @param aX x reference for the rectangle in CSS pixels
             @param aY y reference for the rectangle in CSS pixels
             @param aTopSize How much to expand up the rectangle
             @param aRightSize How much to expand right the rectangle
             @param aBottomSize How much to expand down the rectangle
             @param aLeftSize How much to expand left the rectangle
             @param aIgnoreRootScrollFrame whether or not to ignore the root scroll
             frame when retrieving the element. If false, this method returns
             null for coordinates outside of the viewport.
             @param aFlushLayout flushes layout if true. Otherwise, no flush occurs.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SuppressEventHandling(System.Boolean)">
             <summary>
             Suppresses/unsuppresses user initiated event handling in window's document
             and subdocuments.
            
             @throw NS_ERROR_DOM_SECURITY_ERR if called without UniversalXPConnect
             privileges and NS_ERROR_FAILURE if window doesn't have a document.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.DisableNonTestMouseEvents(System.Boolean)">
             <summary>
             Disable or enable non synthetic test mouse events on *all* windows.
            
             Cannot be accessed from unprivileged context (not content-accessible).
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
            
             @param disable  If true, disable all non synthetic test mouse events
             on all windows.  Otherwise, enable them.
             </summary>
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetScrollXY(System.Boolean,System.Int32@,System.Int32@)">
            <summary>
            Returns the scroll position of the window's currently loaded document.
            @see nsIDOMWindow::scrollX/Y
            </summary>
            <param name="flushLayout">flushes layout if true. Otherwise, no flush occurs.</param>
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.DispatchDOMEventViaPresShell(Gecko.GeckoNode,Gecko.DOM.GeckoEvent,System.Boolean)">
             <summary>
             Dispatches aEvent via the nsIPresShell object of the window's document.
             The event is dispatched to aTarget, which should be an object
             which implements nsIContent interface (#element, #text, etc).
            
             Cannot be accessed from unprivileged context (not
             content-accessible) Will throw a DOM security error if called
             without UniversalXPConnect privileges.
            
             @note Event handlers won't get aEvent as parameter, but a similar event.
             Also, aEvent should not be reused.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetClassName(SpiderMonkey.JSVal,System.IntPtr)">
            <summary>
            Returns the real classname (possibly of the mostly-transparent security
            wrapper) of aObj.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendContentCommandEvent(System.String,Gecko.Interfaces.nsITransferable)">
             <summary>
             Generate a content command event.
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
            
             @param aType Type of command content event to send.  Can be one of "cut",
             "copy", "paste", "delete", "undo", "redo", or "pasteTransferable".
             @param aTransferable an instance of nsITransferable when aType is
             "pasteTransferable"
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendCompositionEvent(System.String,System.String,System.String)">
             <summary>
             Synthesize a composition event to the window.
            
             Cannot be accessed from unprivileged context (not content-accessible)
             Will throw a DOM security error if called without UniversalXPConnect
             privileges.
            
             @param aType     The event type: "compositionstart", "compositionend" or
             "compositionupdate".
             @param aData     The data property value.  Note that this isn't applied
             for compositionstart event because its value is the
             selected text which is automatically computed.
             @param aLocale   The locale property value.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendTextEvent(System.String,System.Int32,System.UInt32,System.Int32,System.UInt32,System.Int32,System.UInt32,System.Int32,System.Int32)">
            <summary>
            NOTE: These values must be same to NS_TEXTRANGE_* in nsGUIEvent.h
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendQueryContentEvent(System.UInt32,System.UInt32,System.UInt32,System.Int32,System.Int32)">
             <summary>
             Synthesize a query content event.
            
             @param aType  On of the following const values.  And see also each comment
             for the other parameters and the result.
             </summary>				
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SendSelectionSetEvent(System.UInt32,System.UInt32,System.Boolean)">
             <summary>
             Synthesize a selection set event to the window.
            
             This sets the selection as the specified information.
            
             @param aOffset  The caret offset of the selection start.
             @param aLength  The length of the selection.  If this is too long, the
             extra length is ignored.
             @param aReverse If true, the selection set from |aOffset + aLength| to
             |aOffset|.  Otherwise, set from |aOffset| to
             |aOffset + aLength|.
             @return True, if succeeded.  Otherwise, false.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetVisitedDependentComputedStyle(Gecko.DOM.GeckoElement,System.String,System.String)">
             <summary>
             Perform the equivalent of:
             window.getComputedStyle(aElement, aPseudoElement).
             getPropertyValue(aPropertyName)
             except that, when the link whose presence in history is allowed to
             influence aElement's style is visited, get the value the property
             would have if allowed all properties to change as a result of
             :visited selectors (except for cases where getComputedStyle uses
             data from the frame).
            
             This is easier to implement than adding our property restrictions
             to this API, and is sufficient for the present testing
             requirements (which are essentially testing 'color').
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetParent(SpiderMonkey.JSVal,System.IntPtr)">
             <summary>
             Returns the parent of obj.
            
             @param obj The JavaScript object whose parent is to be gotten.
             @return the parent.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.EnterModalState">
            <summary>
            Put the window into a state where scripts are frozen and events
            suppressed, for use when the window has launched a modal prompt.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.LeaveModalState">
            <summary>
            Resume normal window state, where scripts can run and events are
            delivered.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.IsInModalState">
            <summary>
            Is the window is in a modal state? [See enterModalState()]
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.SuspendTimeouts">
            <summary>
            Suspend/resume timeouts on this window and its descendant windows.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetLayerManagerTypeAttribute(System.String)">
            <summary>
            What type of layer manager the widget associated with this window is
            using. "Basic" is unaccelerated; other types are accelerated. Throws an
            error if there is no widget associated with this window.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetOuterWindowWithId(System.UInt64)">
            <summary>
            Return the outer window with the given ID, if any.  Can return null.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.AdvanceTimeAndRefresh(System.Int64)">
             <summary>
             advanceTimeAndRefresh allows the caller to take over the refresh
             driver timing for a window.  A call to advanceTimeAndRefresh does
             three things:
             (1) It marks the refresh driver for this presentation so that it
             no longer refreshes on its own, but is instead driven entirely
             by the caller (except for the refresh that happens when a
             document comes out of the bfcache).
             (2) It advances the refresh driver's current refresh time by the
             argument given.  Negative advances are permitted.
             (3) It does a refresh (i.e., notifies refresh observers) at that
             new time.
            
             Note that this affects other connected docshells of the same type
             in the same docshell tree, such as parent frames.
            
             When callers have completed their use of advanceTimeAndRefresh,
             they must call restoreNormalRefresh.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.RestoreNormalRefresh">
            <summary>
            Undoes the effects of advanceTimeAndRefresh.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.ComputeAnimationDistance(Gecko.DOM.GeckoElement,System.String,System.String,System.String)">
             <summary>
             Method for testing nsStyleAnimation::ComputeDistance.
            
             Returns the distance between the two values as reported by
             nsStyleAnimation::ComputeDistance for the given element and
             property.
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.FindElementWithViewId(System.IntPtr)">
            <summary>
            Given a view ID from the compositor process, retrieve the element
            associated with a view. For scrollpanes for documents, the root
            element of the document is returned.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.LeafLayersPartitionWindow">
            <summary>
            Checks the layer tree for this window and returns true
            if all layers have transforms that are translations by integers,
            no leaf layers overlap, and the union of the leaf layers is exactly
            the bounds of the window. Always returns true in non-DEBUG builds.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.CheckAndClearPaintedState(Gecko.DOM.GeckoElement)">
            <summary>
            Check if any ThebesLayer painting has been done for this element,
            clears the painted flags if they have.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetFileId(Gecko.Interfaces.nsIDOMBlob)">
            <summary>
            Get internal id of the stored blob.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetFileReferences(System.String,System.Int64,System.Int32@,System.Int32@,System.Int32@)">
             <summary>
             Get file ref count info for given database and file id.
            
             </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.StartPCCountProfiling(System.IntPtr)">
            <summary>
            Begin opcode-level profiling of all JavaScript execution in the window's
            runtime.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.StopPCCountProfiling(System.IntPtr)">
            <summary>
            Stop opcode-level profiling of JavaScript execution in the runtime, and
            collect all counts for use by getPCCount methods.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.PurgePCCounts(System.IntPtr)">
            <summary>
            Purge collected PC counters.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetPCCountScriptCount(System.IntPtr)">
            <summary>
            Get the number of scripts with opcode-level profiling information.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetPCCountScriptSummary(System.Int32,System.IntPtr)">
            <summary>
            Get a JSON string for a short summary of a script and the PC counts
            accumulated for it.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetPCCountScriptContents(System.Int32,System.IntPtr)">
            <summary>
            Get a JSON string with full information about a profiled script,
            including the decompilation of the script and placement of decompiled
            operations within it, and PC counts for each operation.
            </summary>		
        </member>
        <member name="M:Gecko.DOM.GeckoWindowUtils.GetScrollbarSize(System.Boolean,System.Int32@,System.Int32@)">
            <summary>
            Returns the scrollbar width of the window&apos;s scroll frame.
            </summary>
            <param name="flushLayout">
            flushes layout if true. Otherwise, no flush occurs.
            </param>
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.ImageAnimationMode">
            <summary>
            Image animation mode of the window. When this attribute's value
            is changed, the implementation should set all images in the window
            to the given value. That is, when set to kDontAnimMode, all images
            will stop animating. The attribute's value must be one of the
            animationMode values from imgIContainer.
            @note Images may individually override the window's setting after
            the window's mode is set. Therefore images given different modes
            since the last setting of the window's mode may behave
            out of line with the window's overall mode.
            @note The attribute's value is the window's overall mode. It may
            for example continue to report kDontAnimMode after all images
            have subsequently been individually animated.
            @note Only images immediately in this window are affected;
            this is not recursive to subwindows.
            @see imgIContainer
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.DocCharsetIsForced">
            <summary>
            Whether the charset of the window's current document has been forced by
            the user.
            Cannot be accessed from unprivileged context (not content-accessible)
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.IsMozAfterPaintPending">
            <summary>
            Returns true if a MozAfterPaint event has been queued but not yet
            fired.
            </summary>				
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.IMEIsOpen">
            <summary>
            Get IME open state. TRUE means 'Open', otherwise, 'Close'.
            This property works only when IMEEnabled is IME_STATUS_ENABLED.
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.IMEStatus">
            <summary>
            Get IME status, see above IME_STATUS_* definitions.
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.ScreenPixelsPerCSSPixel">
            <summary>
            Get the number of screen pixels per CSS pixel.
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.OuterWindowID">
            <summary>
            Get the id of the outer window of this window.  This will never throw.
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.CurrentInnerWindowID">
            <summary>
            Get the id of the current inner window of this window.  If there
            is no current inner window, throws NS_ERROR_NOT_AVAILABLE.
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.DisplayDPI">
            <summary>
            The DPI of the display
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.FocusedInputType">
            <summary>
            Get the type of the currently focused html input, if any.
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.MayHaveTouchEventListeners">
            <summary>
            true if the (current inner) window may have event listeners for touch events.
            </summary>		
        </member>
        <member name="P:Gecko.DOM.GeckoWindowUtils.PaintingSuppressed">
            <summary>
            Returns true if painting is suppressed for this window and false
            otherwise.
            </summary>
        </member>
        <member name="T:Gecko.GeckoPreferences">
            <summary>
            Provides access to Gecko preferences.
            </summary>
        </member>
        <member name="M:Gecko.GeckoPreferences.Load(System.String)">
            <summary>
            Reads all User preferences from the specified file.
            </summary>
            <param name="filename">Required. The name of the file from which preferences are read.  May not be null.</param>
        </member>
        <member name="M:Gecko.GeckoPreferences.Save(System.String)">
            <summary>
            Saves all User preferences to the specified file.
            </summary>
            <param name="filename">Required. The name of the file to which preferences are saved.  May not be null.</param>
        </member>
        <member name="M:Gecko.GeckoPreferences.Reset">
            <summary>
            Resets all preferences to their default values.
            </summary>
        </member>
        <member name="M:Gecko.GeckoPreferences.GetPreferenceType(System.String)">
            <summary>
            Gets the <see cref="T:System.Type"/> of the specified preference.
            </summary>
            <param name="name">Required. The name of the preference whose type is returned.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.GeckoPreferences.SetLocked(System.String,System.Boolean)">
            <summary>
            Sets whether the specified preference is locked. Locking a preference will cause the preference service to always return the default value regardless of whether there is a user set value or not.
            </summary>
            <param name="name">Required. The preference to lock or unlock.</param>
            <param name="locked">True if the preference should be locked; otherwise, false, and the preference is unlocked.</param>
        </member>
        <member name="M:Gecko.GeckoPreferences.GetLocked(System.String)">
            <summary>
            Gets whether the specified preference is locked.
            </summary>
            <param name="name">Required. The preference whose lock status is returned.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.GeckoPreferences.Clear(System.String)">
            <summary>
            Clear user preferences
            </summary>
            <param name="name">Required. The preference to lock or unlock.</param>
        </member>
        <member name="P:Gecko.GeckoPreferences.User">
            <summary>
            Gets the preferences defined for the current user.
            </summary>
        </member>
        <member name="P:Gecko.GeckoPreferences.Default">
            <summary>
            Gets the set of preferences used as defaults when no user preference is set.
            </summary>
        </member>
        <member name="P:Gecko.GeckoPreferences.Item(System.String)">
            <summary>
            Gets or sets the preference with the given name.
            </summary>
            <param name="prefName">Required. The name of the preference to get or set.</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.Interop.ExtensionMethods.GetDelegateForComMethod``2(Gecko.Interop.ComObject{``0},System.Int32,``1@)">
            <summary>
            Method for getting specific function in com object
            </summary>
            <typeparam name="TDelegate"></typeparam>
            <param name="slot"></param>
            <param name="method"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.Interop.ExtensionMethods.Wrap``2(``0,System.Func{``0,``1})">
            <summary>
            Function that check if object is null -> then call wrapper creator
            </summary>
            <typeparam name="TInterface"></typeparam>
            <typeparam name="TWrapper"></typeparam>
            <param name="comObj"></param>
            <param name="wrapper"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.Interop.ExtensionMethods.Wrap``4(``0,System.Func{``0,System.Func{``2,``3},``1},System.Func{``2,``3})">
            <summary>
            Function that check if object is null -> then call wrapper creator
            </summary>
            <typeparam name="TInterface"></typeparam>
            <typeparam name="TWrapper"></typeparam>
            <param name="comObj"></param>
            <param name="wrapper"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.Interop.ExtensionMethods.GetHandle(Gecko.Interfaces.nsIXULWindow)">
            <summary>
            Returns HWND of window
            </summary>
            <param name="window"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.IO.InputStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
            <summary>
            Begins an asynchronous read operation.
            </summary>
            <param name="buffer">The buffer to read the data into. </param>
            <param name="offset">The byte offset in buffer at which to begin writing data read from the stream. </param>
            <param name="count">The maximum number of bytes to read.</param>
            <param name="callback">An optional asynchronous callback, to be called when the read is complete.</param>
            <param name="state">A user-provided object that distinguishes this particular asynchronous read request from other requests.</param>
            <returns>An IAsyncResult that represents the asynchronous read, which could still be pending.</returns>
        </member>
        <member name="M:Gecko.IO.InputStream.EndRead(System.IAsyncResult)">
            <summary>
            Waits for the pending asynchronous read to complete.
            </summary>
            <param name="asyncResult">The reference to the pending asynchronous request to finish.</param>
            <returns>The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.</returns>
        </member>
        <member name="M:Gecko.IO.InputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Warning: .NET have another stream model. DON'T USE THIS FUNCTION
            InputStream can only read data
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
        </member>
        <member name="M:Gecko.IO.InputStream.ReadLine">
            <summary>
            Method is useful when reading headers
            </summary>
            <returns></returns>
        </member>
        <member name="P:Gecko.IO.InputStream.CanRead">
            <summary>
            Gets a value indicating whether the current stream supports reading.
            </summary>
        </member>
        <member name="P:Gecko.IO.InputStream.CanSeek">
            <summary>
            Gets a value indicating whether the current stream supports seeking.
            </summary>
        </member>
        <member name="P:Gecko.IO.InputStream.CanWrite">
            <summary>
            Gets a value indicating whether the current stream supports writing.
            </summary>
        </member>
        <member name="P:Gecko.IO.InputStream.Length">
            <summary>
            Warning: .NET have another stream model. DON'T USE THIS PROPERTY
            </summary>
        </member>
        <member name="P:Gecko.IO.InputStream.Available">
            <summary>
            Determine number of bytes available in the stream.  A non-blocking
            stream that does not yet have any data to read should return 0 bytes
            from this method (i.e., it must not throw the NS_BASE_STREAM_WOULD_BLOCK
            exception).
            
            In addition to the number of bytes available in the stream, this method
            also informs the caller of the current status of the stream.  A stream
            that is closed will throw an exception when this method is called.  That
            enables the caller to know the condition of the stream before attempting
            to read from it.  If a stream is at end-of-file, but not closed, then
            this method returns 0 bytes available.  (Note: some InputStream
            implementations automatically close when eof is reached; some do not).
            </summary>
            <returns>
            number of bytes currently available in the stream.
            </returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">
            NS_BASE_STREAM_CLOSED: if the stream is closed normally.
            &lt;other-error&gt;: if the stream is closed due to some error
            condition
            </exception>
        </member>
        <member name="M:Gecko.NativeMethods.NS_InitXPCOM2(Gecko.Interfaces.nsIServiceManager@,Gecko.Interfaces.nsIFile,Gecko.Interfaces.nsIDirectoryServiceProvider)">
            <summary>
            Declaration in nsXPCOM.h
            XPCOM_API(nsresult) NS_InitXPCOM2(nsIServiceManager* *result, nsIFile* binDirectory, nsIDirectoryServiceProvider* appFileLocationProvider);
            </summary>
            <param name="serviceManager"></param>
            <param name="binDirectory"></param>
            <param name="appFileLocationProvider"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.NS_ShutdownXPCOM(System.IntPtr)">
            <summary>
            Shutdown XPCOM. You must call this method after you are finished
            using xpcom.
            
            Declaration in nsXPCOM.h
            XPCOM_API(nsresult) NS_ShutdownXPCOM(nsIServiceManager* servMgr);
            </summary>
            <param name="serviceManager"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.NS_NewLocalFile(Gecko.nsAString,System.Boolean,Gecko.Interfaces.nsIFile@)">
            <summary>
            Declaration in nsXPCOM.h
            XPCOM_API(nsresult) NS_NewLocalFile(const nsAString &amp;path, bool followLinks, nsIFile* *result);
            </summary>
            <param name="path"></param>
            <param name="followLinks"></param>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.NS_GetComponentManager(Gecko.Interfaces.nsIComponentManager@)">
            <summary>
            Declaration in nsXPCOM.h
            XPCOM_API(nsresult) NS_GetComponentManager(nsIComponentManager* *result);
            </summary>
            <param name="componentManager"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.NS_GetComponentRegistrar(Gecko.Interfaces.nsIComponentRegistrar@)">
            <summary>
            Declaration in nsXPCOM.h
            XPCOM_API(nsresult) NS_GetComponentRegistrar(nsIComponentRegistrar* *result);
            </summary>
            <param name="componentRegistrar"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.Alloc(System.IntPtr)">
            <summary>
            XPCOM_API(void*) NS_Alloc(size_t size);
            </summary>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.Realloc(System.IntPtr,System.IntPtr)">
            <summary>
            XPCOM_API(void*) NS_Realloc(void* ptr, size_t size);
            </summary>
            <param name="ptr"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.Free(System.IntPtr)">
            <summary>
            XPCOM_API(void) NS_Free(void* ptr)
            </summary>
            <param name="ptr"></param>
        </member>
        <member name="M:Gecko.NativeMethods.XRE_AddJarManifestLocation(Gecko.GeckoExtentionType,Gecko.Interfaces.nsIFile)">
            <summary>
            Declaration in nsXULAppAPI.h
            nsresult XRE_AddJarManifestLocation(NSLocationType aType, nsIFile* aLocation)
            </summary>
            <param name="aType"></param>
            <param name="aLocation"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.NativeMethods.XRE_AddManifestLocation(Gecko.GeckoExtentionType,Gecko.Interfaces.nsIFile)">
            <summary>
            Declaration in nsXULAppAPI.h
            nsresult XRE_AddManifestLocation(NSLocationType aType, nsIFile* aLocation)
            </summary>
            <param name="aType"></param>
            <param name="aLocation"></param>
            <returns></returns>
        </member>
        <member name="P:Gecko.Net.Cookie.Expiry">
            <summary>
            Gets the expiration date and time for the Cookie as a DateTime.
            </summary>
        </member>
        <member name="M:Gecko.Net.GeckoRequest.Cancel(System.Int32)">
            <summary>
            Cancels the current request.  This will close any open input or
            output streams and terminate any async requests.  Users should
            normally pass NS_BINDING_ABORTED, although other errors may also
            be passed.  The error passed in will become the value of the
            status attribute.
            
            Implementations must not send any notifications (e.g. via
            nsIRequestObserver) synchronously from this function. Similarly,
            removal from the load group (if any) must also happen asynchronously.
            
            Requests that use nsIStreamListener must not call onDataAvailable
            anymore after cancel has been called.
            </summary>
            <param name="aStatus">
            the reason for canceling this request.
            
            NOTE: most nsIRequest implementations expect aStatus to be a
            failure code; however, some implementations may allow aStatus to
            be a success code such as NS_OK.  In general, aStatus should be
            a failure code.
            </param>
        </member>
        <member name="M:Gecko.Net.GeckoRequest.Suspend">
            <summary>
            Suspends the current request.  This may have the effect of closing
            any underlying transport (in order to free up resources), although
            any open streams remain logically opened and will continue delivering
            data when the transport is resumed.
            
            Calling cancel() on a suspended request must not send any
            notifications (such as onstopRequest) until the request is resumed.
            
            NOTE: some implementations are unable to immediately suspend, and
            may continue to deliver events already posted to an event queue. In
            general, callers should be capable of handling events even after
            suspending a request.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Gecko.Net.GeckoRequest.Resume" -->
        <member name="P:Gecko.Net.GeckoRequest.Name">
            <summary>
            Gets the name of the request. Often this is the URI of the request.
            </summary>
        </member>
        <member name="P:Gecko.Net.GeckoRequest.Status">
            <summary>
            Gets the error status associated with the request.
            </summary>
        </member>
        <member name="P:Gecko.Net.GeckoRequest.IsPending">
            <summary>
            Indicates whether the request is pending. The value is true when there
            is an outstanding asynchronous event that will make the request no longer
            be pending. Requests do not necessarily start out pending; in some cases,
            requests have to be explicitly initiated (e.g. nsIChannel implementations
            are only pending once asyncOpen returns successfully).
            
            Requests can become pending multiple times during their lifetime.
            </summary>
            <returns>
            Returns false if the request has reached completion (e.g., after
            OnStopRequest has fired).
            </returns>
        </member>
        <member name="T:Gecko.nsString">
            <summary>
            Provides helper methods to get and set string attributes on XPCOM interfaces.
            </summary>
        </member>
        <member name="M:Gecko.nsString.GenericGet``1(System.Action{``0})">
            <summary>
            Generic string getter
            1-st gecko string - OUTPUT
            </summary>
            <typeparam name="T"></typeparam>
            <param name="getter"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.GenericGet``1(System.Action{``0,``0},System.String)">
            <summary>
            Generic string getter
            1-st gecko string - INPUT
            2-nd gecko string - OUTPUT
            </summary>
            <typeparam name="T"></typeparam>
            <param name="getter"></param>
            <param name="inValue">input value</param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.GenericGet``2(System.Action{``0,``1},``0)">
            <summary>
            first parameter - INPUT
            gecko string - OUTPUT
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="TString"></typeparam>
            <param name="func"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.GenericGet``3(System.Action{``0,``1,``2},``0,``1)">
            <summary>
            first and second parameters - INPUT
            gecko string - OUTPUT
            </summary>
            <typeparam name="T1"></typeparam>
            <typeparam name="T2"></typeparam>
            <typeparam name="TString"></typeparam>
            <param name="func"></param>
            <param name="value1"></param>
            <param name="value2"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.GenericPass``2(System.Func{``1,``0},System.String)">
            <summary>
            input - gecko String
            output - T
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="TString"></typeparam>
            <param name="func"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.GenericPass``3(System.Func{``0,``1,``2},``0,System.String)">
            <summary>
            gecko string and T1 - INPUT
            T2 - OUTPUT
            </summary>
            <typeparam name="T1"></typeparam>
            <typeparam name="TString"></typeparam>
            <typeparam name="T2"></typeparam>
            <param name="func"></param>
            <param name="value"></param>
            <param name="stringValue"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.GenericPass``2(System.Func{``1,``1,``0},System.String,System.String)">
            <summary>
            2x gecko strings - INPUT
            T - OUTPUT
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="TString"></typeparam>
            <param name="func"></param>
            <param name="value1"></param>
            <param name="value2"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.Set(System.Action{Gecko.nsAUTF8String},System.String)">
            <summary>
            function <paramref name="setter"/> takes <paramref name="value"/> and returns void
            </summary>
            <param name="setter"></param>
            <param name="value"></param>
        </member>
        <member name="M:Gecko.nsString.Pass``1(System.Func{Gecko.nsAUTF8String,``0},System.String)">
            <summary>
            Passes <paramref name="value"/> to function and return value
            </summary>
            <typeparam name="T"></typeparam>
            <param name="func"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.Set(System.Action{Gecko.nsACString},System.String)">
            <summary>
            function <paramref name="setter"/> takes <paramref name="value"/> and returns void
            </summary>
            <param name="setter"></param>
            <param name="value"></param>
        </member>
        <member name="M:Gecko.nsString.Pass``1(System.Func{Gecko.nsACString,``0},System.String)">
            <summary>
            Passes <paramref name="value"/> to function and return value
            </summary>
            <typeparam name="T"></typeparam>
            <param name="func"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.Pass``1(System.Func{Gecko.nsACString,Gecko.nsACString,``0},System.String,System.String)">
            <summary>
            Passes <paramref name="value1"/> and <paramref name="value2"/> to function and return value
            </summary>
            <typeparam name="T"></typeparam>
            <param name="func"></param>
            <param name="value1"></param>
            <param name="value2"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.Set(System.Action{Gecko.nsAString},System.String)">
            <summary>
            function <paramref name="setter"/> takes <paramref name="value"/> and returns void
            </summary>
            <param name="setter"></param>
            <param name="value"></param>
        </member>
        <member name="M:Gecko.nsString.Pass``1(System.Func{Gecko.nsAString,``0},System.String)">
            <summary>
            Passes <paramref name="value"/> to function and return value
            </summary>
            <typeparam name="T"></typeparam>
            <param name="func"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsString.Pass``1(System.Func{Gecko.nsAString,Gecko.nsAString,``0},System.String,System.String)">
            <summary>
            Passes <paramref name="value1"/> and <paramref name="value2"/> to function and return value
            </summary>
            <typeparam name="T"></typeparam>
            <param name="func"></param>
            <param name="value1"></param>
            <param name="value2"></param>
            <returns></returns>
        </member>
        <member name="T:Gecko.IString">
            <summary>
            Internal helper interface for generics
            </summary>
        </member>
        <member name="M:Gecko.nsAUTF8StringBase.GetRawData">
            <summary>
            nsACStringBase can be used in cryptographic functions
            Example - nsICryptoHash::Finish
            This function
            </summary>
            <returns></returns>
        </member>
        <member name="M:Gecko.nsACStringBase.GetRawData">
            <summary>
            nsACStringBase can be used in cryptographic functions
            Example - nsICryptoHash::Finish
            This function
            </summary>
            <returns></returns>
        </member>
        <member name="P:Gecko.Security.Certificate.WindowTitle">
            <summary>
            Gets a human readable identifier to label this certificate.
            </summary>
        </member>
        <member name="M:Gecko.Security.CertOverrideService.RememberValidityOverride(System.Uri,Gecko.Security.Certificate,Gecko.Security.CertOverride,System.Boolean)">
            <summary>
             The given cert should always be accepted for the given hostname:port,
             regardless of errors verifying the cert.
             Host:Port is a primary key, only one entry per host:port can exist.
            </summary>
            <param name="url"></param>
            <param name="cert">The cert that should always be accepted</param>
            <param name="flags">The errors we want to be overriden.</param>
        </member>
        <member name="M:Gecko.Security.CertOverrideService.ClearValidityOverride(System.Uri)">
            <summary>
            Remove a override for the given hostname:port.
            </summary>
            <param name="url"></param>
        </member>
        <member name="M:Gecko.Security.CertTree.LoadCerts(System.UInt32)">
            <summary>Member LoadCerts </summary>
            <param name='type'> </param>
        </member>
        <member name="M:Gecko.Security.CertTree.LoadCertsFromCache(Gecko.Security.X509CertList,System.UInt32)">
            <summary>Member LoadCertsFromCache </summary>
            <param name='cache'> </param>
            <param name='type'> </param>
        </member>
        <member name="M:Gecko.Security.CertTree.GetCert(System.UInt32)">
            <summary>Member GetCert </summary>
            <param name='index'> </param>
            <returns>A nsIX509Cert</returns>
        </member>
        <member name="M:Gecko.Security.CertTree.GetTreeItem(System.Int32)">
            <summary>Member GetTreeItem </summary>
            <param name='index'> </param>
            <returns>A nsICertTreeItem</returns>
        </member>
        <member name="M:Gecko.Security.CertTree.DeleteEntryObject(System.UInt32)">
            <summary>Member DeleteEntryObject </summary>
            <param name='index'> </param>
        </member>
        <member name="M:Gecko.Security.Cryptography.CryptoHash.FinishBase64">
            <summary>
            Return hash in base64 form
            </summary>
            <returns></returns>
        </member>
        <member name="T:Gecko.Security.Cryptography.HashAlgorithm">
            <summary>
            Hash Algorith type
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.HashAlgorithm.MD2">
            <summary>
            Message Digest Algorithm 2
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.HashAlgorithm.MD5">
            <summary>
            Message-Digest algorithm 5
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.HashAlgorithm.Sha1">
            <summary>
            Secure Hash Algorithm 1
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.HashAlgorithm.Sha256">
            <summary>
            Secure Hash Algorithm 256
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.HashAlgorithm.Sha384">
            <summary>
            Secure Hash Algorithm 384
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.HashAlgorithm.Sha512">
            <summary>
            Secure Hash Algorithm 512
            </summary>
        </member>
        <member name="T:Gecko.Security.Cryptography.KeyObjectFactory">
            <summary>
            DO NOT USE KeyFromString or expose it (according to xulrunner comments)
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.KeyType.Symmetric">
            <summary>
            SYM_KEY
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.KeyType.Private">
            <summary>
            PRIVATE_KEY
            </summary>
        </member>
        <member name="F:Gecko.Security.Cryptography.KeyType.Public">
            <summary>
            PUBLIC_KEY
            </summary>
        </member>
        <member name="T:Gecko.UUID">
            <summary>
            Contains pointer to Guid
            </summary>
        </member>
        <member name="M:Gecko.Xpcom.Initialize">
            <summary>
            Initializes XPCOM using the current directory as the XPCOM directory.
            </summary>
        </member>
        <member name="M:Gecko.Xpcom.Initialize(System.String)">
            <summary>
            Initializes XPCOM using the specified directory.
            </summary>
            <param name="binDirectory">The directory which contains xul.dll.</param>
        </member>
        <member name="M:Gecko.Xpcom.DoEvents">
            <summary>
            Processes all events currently in the event queue.
            </summary>
        </member>
        <member name="M:Gecko.Xpcom.DoEvents(System.Boolean)">
            <summary>
            Processes pending events.
            </summary>
            <param name="mayWait">
            A boolean parameter that if &quot;true&quot; indicates that the method may block
            the calling thread to wait for a pending event.
            </param>
        </member>
        <member name="M:Gecko.Xpcom.Invoke(System.Action)">
            <summary>
            Executes the specified method on the main thread.
            </summary>
            <param name="func">A delegate that contains a method to be called in the main thread context.</param>
        </member>
        <member name="M:Gecko.Xpcom.Invoke``1(System.Func{``0})">
            <summary>
            Executes the specified method on the main thread.
            </summary>
            <param name="func">A delegate that contains a method to be called in the main thread context.</param>
        </member>
        <member name="M:Gecko.Xpcom.Post(System.Action)">
            <summary>
            Dispatches an asynchronous message to a synchronization context.
            </summary>
            <param name="func">A delegate that contains a method to be called in the main thread context.</param>
        </member>
        <member name="M:Gecko.Xpcom.QueryReferent(System.Object,System.Guid@)">
            <summary>
            Helper method for GeckoWeakReference
            </summary>
        </member>
        <member name="M:Gecko.Xpcom.RegisterFactory(System.Guid,System.String,System.String,Gecko.Interfaces.nsIFactory)">
            <summary>
            Registers a factory to be used to instantiate a particular class identified by ClassID, and creates an association of class name and ContractID with the class.
            </summary>
            <param name="classID">The ClassID of the class being registered.</param>
            <param name="className">The name of the class being registered. This value is intended as a human-readable name for the class and need not be globally unique.</param>
            <param name="contractID">The ContractID of the class being registered.</param>
            <param name="factory">The nsIFactory instance of the class being registered.</param>
        </member>
        <member name="M:Gecko.Xpcom.LoadExtension(System.String)">
            <summary>
            Loads non-bootstrapped extension from the specified directory or XPI file.
            </summary>
            <param name="extensionPath">Path to specified directory or XPI file</param>
        </member>
        <member name="M:Gecko.Xpcom.LoadExtension(Gecko.GeckoExtentionType,System.String)">
            <summary>
            Loads extension from the specified directory or XPI file.
            </summary>
            <param name="type"></param>
            <param name="extensionPath">Path to specified directory or XPI file</param>
        </member>
        <member name="E:Gecko.Xpcom.BeforeInitalization">
            <summary>
            Occurs once after XpCom has been initalized.
            </summary>
        </member>
        <member name="E:Gecko.Xpcom.AfterInitalization">
            <summary>
            Occurs once after XpCom has been initalized.
            </summary>
        </member>
        <member name="E:Gecko.Xpcom.BeforeShutdown">
            <summary>
            Occurs once after XpCom has been initalized.
            </summary>
        </member>
        <member name="E:Gecko.Xpcom.AfterShutdown">
            <summary>
            Occurs once after XpCom has been initalized.
            </summary>
        </member>
        <member name="P:Gecko.Xpcom.IsLinux">
            <summary>
            GeckoFX is running on Linux
            </summary>
        </member>
        <member name="P:Gecko.Xpcom.IsWindows">
            <summary>
            GeckoFX is running on Windows
            </summary>
        </member>
        <member name="P:Gecko.Xpcom.IsMono">
            <summary>
            GeckoFX is running on Mono CLR implementation
            </summary>
        </member>
        <member name="P:Gecko.Xpcom.IsDotNet">
            <summary>
             GeckoFX is running on Microsoft CLR implementation (.NET Framework)
            </summary>
        </member>
        <member name="T:Gecko.Xpcom.QI_nsIInterfaceRequestor">
            <summary>
            A special declaration of nsIInterfaceRequestor used only for QueryInterface, using PreserveSig
            to prevent .NET from throwing an exception when the interface doesn't exist.
            </summary>
        </member>
        <member name="T:Gecko.XULRunnerLocator">
            <summary>
            Search /usr/lib directory for the latest xulrunner.
            Currently looks for xulrunner-24 variants in /usr/lib.
            Returns null if no xulrunner-24 directory is found.
            xulrunner doesn't come with a .pc file so I can't use pkg-config to find location of xulrunner.
            </summary>
        </member>
    </members>
</doc>
