Subclasses

Attributes

From imgIRequest


          
readonly attribute nsIURI URI

From nsIChannel

 The URI corresponding to the channel.  Its value is immutable.
readonly attribute nsIURI URI
 The original URI used to construct the channel. This is used in the case
 of a redirect or URI "resolution" (e.g. resolving a resource: URI to a
 file: URI) so that the original pre-redirect URI can still be obtained. 

 NOTE: this is distinctly different from the http Referer (referring URI),
 which is typically the page that contained the original URI (accessible
 from nsIHttpChannel).
attribute nsIURI originalURI

From nsIContextMenuInfo


          
readonly attribute nsIURI backgroundImageSrc

          
readonly attribute nsIURI imageSrc

From nsIDOMParser

 Set/Get the baseURI, may be needed when called from native code.
[noscript] attribute nsIURI baseURI

From nsIDOMPopupBlockedEvent


          
readonly attribute nsIURI popupWindowURI

          
readonly attribute nsIURI requestingWindowURI

From nsIDocShellLoadInfo

 This is the referrer for the load. */
attribute nsIURI referrer

From nsIDownload

 The source of the transfer.
readonly attribute nsIURI source
 The target of the transfer.
readonly attribute nsIURI target

From nsIFeedContainer

 Returns the primary link for the feed or entry.
attribute nsIURI link

From nsIFeedElementBase

 The baseURI for the Entry or Feed.
attribute nsIURI baseURI

From nsIFeedGenerator

 A URI associated with the software.
attribute nsIURI uri

From nsIFeedPerson

 A URI associated with the person (e.g. a homepage).
attribute nsIURI uri

From nsIFeedResult

 An XSLT stylesheet available to transform the source of the
 feed. Some feeds include this information in a processing
 instruction. It's generally intended for clients with specific
 feed capabilities.
attribute nsIURI stylesheet
 
 The address from which the feed was fetched. 
attribute nsIURI uri

From nsIFeedTextConstruct

 If the text construct contains (X)HTML, relative references in
 the content should be resolved against this base URI.
attribute nsIURI base

From nsIHelperAppLauncher

 The source uri
readonly attribute nsIURI source

From nsIHistoryEntry

 
 A readonly property that returns the URI
 of the current entry. The object returned is
 of type nsIURI
readonly attribute nsIURI URI

From nsIHttpChannel

 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.

 @throws NS_ERROR_IN_PROGRESS if set after the channel has been opened.
attribute nsIURI referrer

From nsIHttpChannelInternal

 An http channel can own a reference to the document URI
attribute nsIURI documentURI

From nsIImageLoadingContent

 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't been any such attempts.
readonly attribute nsIURI currentURI

From nsIIncrementalDownload

 The URI being fetched.
readonly attribute nsIURI URI
 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.
readonly attribute nsIURI finalURI

From nsIJARURI

 Returns the root URI (the one for the actual JAR file) for this JAR.
 eg http://www.big.com/blue.jar
attribute nsIURI JARFile

From nsIMicrosummary


          
readonly attribute nsIURI pageURI

From nsIMicrosummaryGenerator


          
readonly attribute nsIURI uri

From nsIMozIconURI

 iconFile

 the file URL contained within this moz-icon url, or null.
attribute nsIURI iconFile

From nsIPrincipal

 The codebase URI to which this principal pertains.  This is
 generally the document URI.
readonly attribute nsIURI URI
 The domain URI to which this principal pertains.
 This is congruent with HTMLDocument.domain, and may be null.
 Setting this has no effect on the URI.
attribute nsIURI domain

From nsISAXXMLReader

 The base URI.
attribute nsIURI baseURI

From nsISHEntry

 Referrer URI */
attribute nsIURI referrerURI

From nsISearchEngine

 A nsIURI corresponding to the engine's icon, stored locally. May be null.
readonly attribute nsIURI iconURI

From nsISearchSubmission

 The URI to submit a search to.
readonly attribute nsIURI uri

From nsIWebNavigation

 The currently loaded URI or null.
readonly attribute nsIURI currentURI
 The referring URI for the currently loaded URI or null.
readonly attribute nsIURI referringURI

Returns

From nsIChromeRegistry

 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 "shorthand", leaving the
 "file" portion off. In that case, the URL is expanded to:

   chrome://package/provider/package.ext

 where "ext" is:

   "xul" for a "content" package,
   "css" for a "skin" package, and
   "dtd" for a "locale" package.

 @param aChromeURL the URL that is to be converted.
nsIURI convertChromeURL(in nsIURI aChromeURL)

From nsICommandLine

 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.

 @param aArgument  The command-line argument to resolve.
nsIURI resolveURI(in AString aArgument)

From nsIFileProtocolHandler

 This method constructs a new file URI 

 @param aFile nsIFile
 @return reference to a new nsIURI object
nsIURI newFileURI(in nsIFile aFile)
 Takes a local file and tries to interpret it as an internet shortcut
 (e.g. .url files on windows).
 @param file The local file to read
 @return The URI the file refers to

 @throw NS_ERROR_NOT_AVAILABLE if the OS does not support such files.
 @throw NS_ERROR_NOT_AVAILABLE if this file is not an internet shortcut.
nsIURI readURLFile(in nsIFile file)

From nsIIOService

 This method constructs a new URI from a nsIFile.

 @param aFile specifies the file path
 @return reference to a new nsIURI object
nsIURI newFileURI(in nsIFile aFile)
 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.

 @see nsIProtocolHandler::newURI
nsIURI newURI(in AUTF8String aSpec, in string aOriginCharset, in nsIURI aBaseURI)

From nsIProtocolHandler

 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.)

 @param aSpec          - the URI string in UTF-8 encoding. depending
                         on the protocol implementation, unicode character
                         sequences may or may not be %xx escaped.
 @param 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 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.
nsIURI newURI(in AUTF8String aSpec, in string aOriginCharset, in nsIURI aBaseURI)

From nsIResProtocolHandler

 Gets the substitution for the root key.

 @throws NS_ERROR_NOT_AVAILABLE if none exists.
nsIURI getSubstitution(in ACString root)

From nsIURI

 Clones the current URI.  For some protocols, this is more than just an
 optimization.  For example, under MacOS, the spec of a file URL does not
 necessarily uniquely identify a file since two volumes could share the
 same name.
nsIURI clone()

From nsIURIFixup

 Converts an internal URI (e.g. a wyciwyg URI) into one which we can
 expose to the user, for example on the URL bar.

 @param  aURI       The URI to be converted
 @return nsIURI     The converted, exposable URI
 @throws NS_ERROR_MALFORMED_URI when the exposable portion of aURI is malformed
 @throws NS_ERROR_UNKNOWN_PROTOCOL when we can't get a protocol handler service
         for the URI scheme.
nsIURI createExposableURI(in nsIURI aURI)
 Converts the specified string into a URI, first attempting
 to correct any errors in the syntax or other vagaries. Returns
 a wellformed URI or nsnull if it can't.

 @param aURIText    Candidate URI.
 @param aFixupFlags Flags that govern ways the URI may be fixed up.
nsIURI createFixupURI(in AUTF8String aURIText, in unsigned long aFixupFlags)

From nsIURIFixup_MOZILLA_1_8_BRANCH

 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.
nsIURI keywordToURI(in AUTF8String aKeyword)

Parameters

From imgICache

 Find Properties
 Used to get properties such as 'type' and 'content-disposition'
 'type' is a nsISupportsCString containing the images' mime type such as 'image/png'
 'content-disposition' 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.

 @param uri The URI to look up.
 @returns NULL if the URL was not found in the cache
nsIProperties findEntryProperties(in nsIURI uri)
 Evict images from the cache.

 @param uri The URI to remove.
 @return NS_OK if \a uri was removed from the cache.
         NS_ERROR_NOT_AVAILABLE if \a uri was unable to be removed from the cache.
void removeEntry(in nsIURI uri)

From imgILoader

 Start the load and decode of an image.
 @param aURI the URI to load
 @param aInitialDocumentURI the URI that 'initiated' the load -- used for 3rd party cookie blocking
 @param aReferrerURI the 'referring' URI
 @param aLoadGroup Loadgroup to put the image load into
 @param aObserver the observer
 @param aCX some random data
 @param aLoadFlags Load flags for the request
 @param aCacheKey cache key to use for a load if the original
                  image came from a request that had post data
 @param aRequest A newly created, unused imgIRequest object or NULL for one to
                     be created for you.


 libpr0n 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.
imgIRequest loadImage(in nsIURI aURI, in nsIURI aInitialDocumentURL, in nsIURI aReferrerURI, in nsILoadGroup aLoadGroup, in imgIDecoderObserver aObserver, in nsISupports aCX, in nsLoadFlags aLoadFlags, in nsISupports cacheKey, in imgIRequest aRequest)
 Start the load and decode of an image.
 @param aURI the URI to load
 @param aInitialDocumentURI the URI that 'initiated' the load -- used for 3rd party cookie blocking
 @param aReferrerURI the 'referring' URI
 @param aLoadGroup Loadgroup to put the image load into
 @param aObserver the observer
 @param aCX some random data
 @param aLoadFlags Load flags for the request
 @param aCacheKey cache key to use for a load if the original
                  image came from a request that had post data
 @param aRequest A newly created, unused imgIRequest object or NULL for one to
                     be created for you.


 libpr0n 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.
imgIRequest loadImage(in nsIURI aURI, in nsIURI aInitialDocumentURL, in nsIURI aReferrerURI, in nsILoadGroup aLoadGroup, in imgIDecoderObserver aObserver, in nsISupports aCX, in nsLoadFlags aLoadFlags, in nsISupports cacheKey, in imgIRequest aRequest)
 Start the load and decode of an image.
 @param aURI the URI to load
 @param aInitialDocumentURI the URI that 'initiated' the load -- used for 3rd party cookie blocking
 @param aReferrerURI the 'referring' URI
 @param aLoadGroup Loadgroup to put the image load into
 @param aObserver the observer
 @param aCX some random data
 @param aLoadFlags Load flags for the request
 @param aCacheKey cache key to use for a load if the original
                  image came from a request that had post data
 @param aRequest A newly created, unused imgIRequest object or NULL for one to
                     be created for you.


 libpr0n 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.
imgIRequest loadImage(in nsIURI aURI, in nsIURI aInitialDocumentURL, in nsIURI aReferrerURI, in nsILoadGroup aLoadGroup, in imgIDecoderObserver aObserver, in nsISupports aCX, in nsLoadFlags aLoadFlags, in nsISupports cacheKey, in imgIRequest aRequest)

From nsIAboutModule

 Constructs a new channel for the about protocol module. 

 @param aURI the uri of the new channel
nsIChannel newChannel(in nsIURI aURI)

From nsIAppShellService


          
nsIXULWindow createTopLevelWindow(in nsIXULWindow aParent, in nsIURI aUrl, in PRUint32 aChromeMask, in long aInitialWidth, in long aInitialHeight, in nsIAppShell aAppShell)

From nsIBrowserDOMWindow

 Load a URI
 @param aURI the URI to open. null is allowed; it means about:blank.
 @param aWhere see possible values described above.
 @param aOpener window requesting the open (can be null).
 @param aContext the context in which the URI is being opened. This
                 is used only when aWhere == OPEN_DEFAULTWINDOW.
 @return the window into which the URI was opened.
nsIDOMWindow openURI(in nsIURI aURI, in nsIDOMWindow aOpener, in short aWhere, in short aContext)

From nsIBrowserHistory

 
 addPageWithDetails
 Adds a page to history with specific time stamp information. This is used in
 the History migrator. 
void addPageWithDetails(in nsIURI aURI, in wstring aTitle, in long long aLastVisited)
 hidePage
 Hide the specified URL from being enumerated (and thus
 displayed in the UI)

 if the page hasn't been visited yet, then it will be added
 as if it was visited, and then marked as hidden
void hidePage(in nsIURI aURI)
 markPageAsTyped
 Designate the url as having been explicitly typed in by
 the user, so it's okay to be an autocomplete result.
void markPageAsTyped(in nsIURI aURI)
 remove a page from history
void removePage(in nsIURI aURI)

From nsICRLManager


          
void importCrl([array, size_is(length)] in octet data, in unsigned long length, in nsIURI uri, in unsigned long type, in boolean doSilentDownload, in wstring crlKey)

From nsIChromeRegistry

 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 "shorthand", leaving the
 "file" portion off. In that case, the URL is expanded to:

   chrome://package/provider/package.ext

 where "ext" is:

   "xul" for a "content" package,
   "css" for a "skin" package, and
   "dtd" for a "locale" package.

 @param aChromeURL the URL that is to be converted.
nsIURI convertChromeURL(in nsIURI aChromeURL)

From nsIContentPolicy

 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.

 @param aContentType      the type of content being tested. This will be one
                          one of the TYPE_* constants.

 @param aContentLocation  the location of the content being checked; must
                          not be null

 @param aRequestOrigin    OPTIONAL. the location of the resource that
                          initiated this load request; can be null if
                          inapplicable

 @param 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 aMimeTypeGuess    OPTIONAL. a guess for the requested content's
                          MIME type, based on information available to
                          the request initiator (e.g., an OBJECT's type
                          attribute); does not reliably reflect the
                          actual MIME type of the requested content

 @param aExtra            an OPTIONAL argument, pass-through for non-Gecko
                          callers to pass extra data to callees.

 @return ACCEPT or REJECT_*
short shouldLoad(in unsigned long aContentType, in nsIURI aContentLocation, in nsIURI aRequestOrigin, in nsISupports aContext, in ACString aMimeTypeGuess, in nsISupports aExtra)
 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.

 @param aContentType      the type of content being tested. This will be one
                          one of the TYPE_* constants.

 @param aContentLocation  OPTIONAL; the location of the resource being
                          requested: MAY be, e.g., a post-redirection URI
                          for the resource.

 @param aRequestOrigin    OPTIONAL. the location of the resource that
                          initiated this load request; can be null if
                          inapplicable

 @param 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 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 aExtra            an OPTIONAL argument, pass-through for non-Gecko
                          callers to pass extra data to callees.

 @return ACCEPT or REJECT_*
short shouldProcess(in unsigned long aContentType, in nsIURI aContentLocation, in nsIURI aRequestOrigin, in nsISupports aContext, in ACString aMimeType, in nsISupports aExtra)
 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.

 @param aContentType      the type of content being tested. This will be one
                          one of the TYPE_* constants.

 @param aContentLocation  the location of the content being checked; must
                          not be null

 @param aRequestOrigin    OPTIONAL. the location of the resource that
                          initiated this load request; can be null if
                          inapplicable

 @param 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 aMimeTypeGuess    OPTIONAL. a guess for the requested content's
                          MIME type, based on information available to
                          the request initiator (e.g., an OBJECT's type
                          attribute); does not reliably reflect the
                          actual MIME type of the requested content

 @param aExtra            an OPTIONAL argument, pass-through for non-Gecko
                          callers to pass extra data to callees.

 @return ACCEPT or REJECT_*
short shouldLoad(in unsigned long aContentType, in nsIURI aContentLocation, in nsIURI aRequestOrigin, in nsISupports aContext, in ACString aMimeTypeGuess, in nsISupports aExtra)
 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.

 @param aContentType      the type of content being tested. This will be one
                          one of the TYPE_* constants.

 @param aContentLocation  OPTIONAL; the location of the resource being
                          requested: MAY be, e.g., a post-redirection URI
                          for the resource.

 @param aRequestOrigin    OPTIONAL. the location of the resource that
                          initiated this load request; can be null if
                          inapplicable

 @param 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 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 aExtra            an OPTIONAL argument, pass-through for non-Gecko
                          callers to pass extra data to callees.

 @return ACCEPT or REJECT_*
short shouldProcess(in unsigned long aContentType, in nsIURI aContentLocation, in nsIURI aRequestOrigin, in nsISupports aContext, in ACString aMimeType, in nsISupports aExtra)

From nsICookieConsent

 getConsent

 gives a decision on what should be done with a cookie, based on a site's
 p3p policy and the user's preferences. the policy for the given URI and
 channel is also returned.

 @param uri
        the URI to find the policy for
 @param httpChannel
        the channel to extract the p3p headers from
 @param isForeign
        true if the cookie originates from a third-party site. this is used
        to decide the cookie status based on user preferences.
 @param policy
        the policy for the given URI, or nsICookie::POLICY_UNKNOWN if one
        cannot be found. valid values are defined in nsICookie.idl.

 @return nsCookieStatus value. valid values are defined in nsICookie.idl.
nsCookieStatus getConsent(in nsIURI uri, in nsIHttpChannel httpChannel, in boolean isForeign, out nsCookiePolicy policy)

From nsICookiePermission

 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.

 @param aURI
        the URI trying to access cookies
 @param aFirstURI
        the URI initiated by the user that resulted in aURI being loaded
 @param aChannel
        the channel corresponding to aURI

 @return one of the following nsCookieAccess values:
         ACCESS_DEFAULT, ACCESS_ALLOW, or ACCESS_DENY
nsCookieAccess canAccess(in nsIURI aURI, in nsIURI aFirstURI, in nsIChannel aChannel)
 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.

 @param aURI
        the URI trying to access cookies
 @param aFirstURI
        the URI initiated by the user that resulted in aURI being loaded
 @param aChannel
        the channel corresponding to aURI

 @return one of the following nsCookieAccess values:
         ACCESS_DEFAULT, ACCESS_ALLOW, or ACCESS_DENY
nsCookieAccess canAccess(in nsIURI aURI, in nsIURI aFirstURI, in nsIChannel aChannel)
 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.

 @param aURI
        the URI trying to set the cookie
 @param aChannel
        the corresponding to aURI
 @param aCookie
        the cookie being added to the cookie database
 @param 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 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.

 @return true if the cookie can be set.
boolean canSetCookie(in nsIURI aURI, in nsIChannel aChannel, in nsICookie2 aCookie, inout boolean aIsSession, inout PRInt64 aExpiry)
 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).

 @param aURI
        the URI to block
 @param aAccess
        the new cookie access for the URI.
void setAccess(in nsIURI aURI, in nsCookieAccess aAccess)

From nsICookieService


          
string getCookieStringFromHttp(in nsIURI aURI, in nsIURI aFirstURI, in nsIChannel aChannel)

          
void setCookieStringFromHttp(in nsIURI aURI, in nsIURI aFirstURI, in nsIPrompt aPrompt, in string aCookie, in string aServerTime, in nsIChannel aChannel)

          
string getCookieString(in nsIURI aURI, in nsIChannel aChannel)

          
string getCookieStringFromHttp(in nsIURI aURI, in nsIURI aFirstURI, in nsIChannel aChannel)

          
void setCookieString(in nsIURI aURI, in nsIPrompt aPrompt, in string aCookie, in nsIChannel aChannel)

          
void setCookieStringFromHttp(in nsIURI aURI, in nsIURI aFirstURI, in nsIPrompt aPrompt, in string aCookie, in string aServerTime, in nsIChannel aChannel)

From nsIDOMPopupBlockedEvent


          
void initPopupBlockedEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in nsIURI requestingWindowURI, in nsIURI popupWindowURI, in DOMString popupWindowFeatures)

          
void initPopupBlockedEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in nsIURI requestingWindowURI, in nsIURI popupWindowURI, in DOMString popupWindowFeatures)

From nsIDocNavStartProgressListener

 We ignore about:, chrome: and file: URIs.
boolean isSpurious(in nsIURI aURI)

From nsIDocShell

 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...

 @param aURI            - The URI to load.
 @param aReferrer       - Referring URI
 @param aOwner          - Owner (security principal) 
 @param aInheritOwner   - Flag indicating whether the owner of the current
                          document should be inherited if aOwner is null.
 @param aStopActiveDoc  - Flag indicating whether loading the current
                          document should be stopped.
 @param aWindowTarget   - Window target for the load.
 @param aTypeHint       - A hint as to the content-type of the resulting
                          data.  May be null or empty if no hint.
 @param aPostDataStream - Post data stream (if POSTing)
 @param aHeadersStream  - Stream containing "extra" request headers...
 @param aLoadFlags      - Flags to modify load behaviour. Flags are defined
                          in nsIWebNavigation.
 @param aSHEntry        - Active Session History entry (if loading from SH)
[noscript] void internalLoad(in nsIURI aURI, in nsIURI aReferrer, in nsISupports aOwner, in PRUint32 aFlags, in wstring aWindowTarget, in string aTypeHint, in nsIInputStream aPostDataStream, in nsIInputStream aHeadersStream, in unsigned long aLoadFlags, in nsISHEntry aSHEntry, in boolean firstParty, out nsIDocShell aDocShell, out nsIRequest aRequest)
 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...

 @param aURI            - The URI to load.
 @param aReferrer       - Referring URI
 @param aOwner          - Owner (security principal) 
 @param aInheritOwner   - Flag indicating whether the owner of the current
                          document should be inherited if aOwner is null.
 @param aStopActiveDoc  - Flag indicating whether loading the current
                          document should be stopped.
 @param aWindowTarget   - Window target for the load.
 @param aTypeHint       - A hint as to the content-type of the resulting
                          data.  May be null or empty if no hint.
 @param aPostDataStream - Post data stream (if POSTing)
 @param aHeadersStream  - Stream containing "extra" request headers...
 @param aLoadFlags      - Flags to modify load behaviour. Flags are defined
                          in nsIWebNavigation.
 @param aSHEntry        - Active Session History entry (if loading from SH)
[noscript] void internalLoad(in nsIURI aURI, in nsIURI aReferrer, in nsISupports aOwner, in PRUint32 aFlags, in wstring aWindowTarget, in string aTypeHint, in nsIInputStream aPostDataStream, in nsIInputStream aHeadersStream, in unsigned long aLoadFlags, in nsISHEntry aSHEntry, in boolean firstParty, out nsIDocShell aDocShell, out nsIRequest aRequest)
 Loads a given stream. This will give priority to loading the requested
 stream in the object implementing this interface. If it can't be loaded
 here however, the URL dispatched will go through its normal process of
 content loading.

 @param aStream         - The input stream that provides access to the data
                          to be loaded.  This must be a blocking, threadsafe
                          stream implementation.
 @param aURI            - The URI representing the stream, or null.
 @param aContentType    - The type (MIME) of data being loaded (empty if unknown).
 @param aContentCharset - The charset of the data being loaded (empty if unknown).
 @param 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.
[noscript] void loadStream(in nsIInputStream aStream, in nsIURI aURI, in ACString aContentType, in ACString aContentCharset, in nsIDocShellLoadInfo aLoadInfo)
 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.
void setCurrentURI(in nsIURI aURI)
 Loads a given URI.  This will give priority to loading the requested URI
 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.

 @param uri        - The URI to load.
 @param 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 aLoadFlags - Flags to modify load behaviour. Flags are defined
                     in nsIWebNavigation.
[noscript] void loadURI(in nsIURI uri, in nsIDocShellLoadInfo loadInfo, in unsigned long aLoadFlags, in boolean firstParty)

From nsIDocShell_MOZILLA_1_8_BRANCH


          
nsIDOMStorage getSessionStorageForURI(in nsIURI uri)

From nsIDownloadManager

 Creates an nsIDownload and adds it to be managed by the download manager.

 @param aSource The source URI of the transfer. Must not be null.

 @param aTarget The target URI of the transfer. Must not be null.

 @param aDisplayName The user-readable description of the transfer.
                     Can be empty.

 @param aMIMEInfo The MIME info associated with the target,
                  including MIME type and helper app when appropriate.
                  This parameter is optional.

 @param startTime Time when the download started

 @param 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 aCancelable An object that can be used to abort the download.
                    Must not be null.

 @return The newly created download item with the passed-in properties.
nsIDownload addDownload(in short aDownloadType, in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in AString aIconURL, in nsIMIMEInfo aMIMEInfo, in PRTime aStartTime, in nsILocalFile aTempFile, in nsICancelable aCancelable)
 Creates an nsIDownload and adds it to be managed by the download manager.

 @param aSource The source URI of the transfer. Must not be null.

 @param aTarget The target URI of the transfer. Must not be null.

 @param aDisplayName The user-readable description of the transfer.
                     Can be empty.

 @param aMIMEInfo The MIME info associated with the target,
                  including MIME type and helper app when appropriate.
                  This parameter is optional.

 @param startTime Time when the download started

 @param 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 aCancelable An object that can be used to abort the download.
                    Must not be null.

 @return The newly created download item with the passed-in properties.
nsIDownload addDownload(in short aDownloadType, in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in AString aIconURL, in nsIMIMEInfo aMIMEInfo, in PRTime aStartTime, in nsILocalFile aTempFile, in nsICancelable aCancelable)

From nsIDownloadProgressListener


          
void onLocationChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI aLocation, in nsIDownload aDownload)

From nsIExternalProtocolService

 Used to load a URI via an external application. Might prompt the user for
 permission to load the external application. Replaces loadUrl()

 @param aURI    The URI to load
 @param aPrompt If null we grab one from windowwatcher if we need it
void loadURI(in nsIURI aURI, in nsIPrompt aPrompt)
 Used to load a url via an external protocol handler (if one exists)
 @param aURL The url to load
void loadUrl(in nsIURI aURL)

From nsIFeedProcessor

 Parse a feed asynchronously. The caller must then call the
 nsIFeedProcessor's nsIStreamListener methods to drive the
 parse. Do not call the other parse methods during an asynchronous
 parse.

 @param requestObserver The observer to notify on start/stop. This
                        argument can be null.
 @param uri The base URI.
void parseAsync(in nsIRequestObserver requestObserver, in nsIURI uri)
 Parse a feed from an nsIInputStream.

 @param stream The input stream.
 @param uri The base URI.
void parseFromStream(in nsIInputStream stream, in nsIURI uri)
 Parse a feed from a string.

 @param str The string to parse.
 @param uri The base URI.
void parseFromString(in AString str, in nsIURI uri)

From nsIFeedResultService

 Gets a Feed Handler object registered using addFeedResult.

 @param   uri
          The URI of the feed a handler is being requested for
nsIFeedResult getFeedResult(in nsIURI uri)
 Unregisters a Feed Handler object registered using addFeedResult.
 @param   uri
          The feed URI the handler was registered under. This must be
          the same *instance* the feed was registered under.
void removeFeedResult(in nsIURI uri)

From nsIGlobalHistory2

 Add a URI to global history

 @param aURI      the URI of the page
 @param aRedirect whether the URI was redirected to another location;
                  this is 'true' for the original URI which is
                  redirected.
 @param aToplevel whether the URI is loaded in a top-level window
 @param aReferrer the URI of the referring page

 @note  Docshell will not filter out URI schemes like chrome: data:
        about: and view-source:.  Embedders should consider filtering out
        these schemes and others, e.g. mailbox: for the main URI and the
        referrer.
void addURI(in nsIURI aURI, in boolean aRedirect, in boolean aToplevel, in nsIURI aReferrer)
 Add a URI to global history

 @param aURI      the URI of the page
 @param aRedirect whether the URI was redirected to another location;
                  this is 'true' for the original URI which is
                  redirected.
 @param aToplevel whether the URI is loaded in a top-level window
 @param aReferrer the URI of the referring page

 @note  Docshell will not filter out URI schemes like chrome: data:
        about: and view-source:.  Embedders should consider filtering out
        these schemes and others, e.g. mailbox: for the main URI and the
        referrer.
void addURI(in nsIURI aURI, in boolean aRedirect, in boolean aToplevel, in nsIURI aReferrer)
 Checks to see whether the given URI is in history.

 @param aURI the uri to the page
 @return true if a URI has been visited
boolean isVisited(in nsIURI aURI)
 Set the page title for the given uri. URIs that are not already in
 global history will not be added.

 @param aURI    the URI for which to set to the title
 @param aTitle  the page title
void setPageTitle(in nsIURI aURI, in AString aTitle)

From nsIIOService

 Equivalent to newChannelFromURI(newURI(...))
nsIChannel newChannel(in AUTF8String aSpec, in string aOriginCharset, in nsIURI aBaseURI)
 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.

 @see nsIProtocolHandler::newURI
nsIURI newURI(in AUTF8String aSpec, in string aOriginCharset, in nsIURI aBaseURI)
 Creates a channel for a given URI.

 @param aURI nsIURI from which to make a channel
 @return reference to the new nsIChannel object
nsIChannel newChannelFromURI(in nsIURI aURI)

From nsIIncrementalDownload

 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 ".part" to the end of the destination to protect users from
 accidentally running "blah.exe" before it is a complete file.

 @param uri
        The URI to fetch.
 @param destination
        The location where the file is to be stored.
 @param chunkSize
        The size of the chunks to fetch.  A non-positive value results in
        the default chunk size being used.
 @param 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.
void init(in nsIURI uri, in nsIFile destination, in long chunkSize, in long intervalInSeconds)

From nsIInputStreamChannel

 Sets the URI for this channel.
void setURI(in nsIURI aURI)

From nsIMIMEService

 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.

 @param  The URI the user wants MIME info on.
 @return The MIME type, if any.
ACString getTypeFromURI(in nsIURI aURI)

From nsIMicrosummaryService

 Install the microsummary generator from the resource at the supplied URI.
 Callable by content via the addMicrosummaryGenerator() sidebar method.

 @param   generatorURI
          the URI of the resource providing the generator

void addGenerator(in nsIURI generatorURI)
 Get the set of microsummaries available for a given page.  The set
 might change after this method returns, since this method will trigger
 an asynchronous load of the page in question (if it isn't already loaded)
 to see if it references any page-specific microsummaries.

 If the caller passes a bookmark ID, and one of the microsummaries
 is the current one for the bookmark, this method will retrieve content
 from the datastore for that microsummary, which is useful when callers
 want to display a list of microsummaries for a page that isn't loaded,
 and they want to display the actual content of the selected microsummary
 immediately (rather than after the content is asynchronously loaded).

 @param   pageURI
          the URI of the page for which to retrieve available microsummaries

 @param   bookmarkID (optional)
          the ID of the bookmark for which this method is being called

 @returns an nsIMicrosummarySet of nsIMicrosummaries for the given page

nsIMicrosummarySet getMicrosummaries(in nsIURI pageURI, in nsISupports bookmarkID)

From nsIPermissionManager

 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.

 @param uri         the uri to add the permission for
 @param type        a case-sensitive ASCII string, identifying the consumer.
                    Consumers should choose this string to be unique, with
                    respect to other consumers. The number of unique type
                    indentifiers may be limited.
 @param permission  an integer from 1 to 15, 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. 0 is reserved for UNKNOWN_ACTION, and shouldn't
                    be used.
 @throws            NS_ERROR_FAILURE if there is no more room for adding
                    a new type
void add(in nsIURI uri, in string type, in PRUint32 permission)
 Test whether a website has permission to perform the given action.
 @param uri     the uri to be tested
 @param type    a case-sensitive ASCII string, identifying the consumer
 @param return  see add(), param permission. returns UNKNOWN_ACTION when
                there is no stored permission for this uri and / or type.
PRUint32 testPermission(in nsIURI uri, in string type)

From nsIPluginHost


          
void instantiateFullPagePlugin(in string aMimeType, in nsIURI aURI, in nsIStreamListenerRef aStreamListener, in nsIPluginInstanceOwner aOwner)

          
void instantiateEmbeddedPlugin(in string aMimeType, in nsIURI aURL, in nsIPluginInstanceOwner aOwner)

          
void setUpPluginInstance(in string aMimeType, in nsIURI aURL, in nsIPluginInstanceOwner aOwner)

From nsIPopupWindowManager

 Test whether a website has permission to show a popup window.
 @param   uri is the URI to be tested
 @return  one of the enumerated permission actions defined above
PRUint32 testPermission(in nsIURI uri)

From nsIPrefetchService

 Enqueue a request to prefetch the specified URI.

 @param aURI the URI of the document to prefetch
 @param aReferrerURI the URI of the referring page
 @param aExplicit the link element has an explicit prefetch link type
void prefetchURI(in nsIURI aURI, in nsIURI aReferrerURI, in boolean aExplicit)
 Enqueue a request to prefetch the specified URI.

 @param aURI the URI of the document to prefetch
 @param aReferrerURI the URI of the referring page
 @param aExplicit the link element has an explicit prefetch link type
void prefetchURI(in nsIURI aURI, in nsIURI aReferrerURI, in boolean aExplicit)

From nsIProtocolHandler

 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.)

 @param aSpec          - the URI string in UTF-8 encoding. depending
                         on the protocol implementation, unicode character
                         sequences may or may not be %xx escaped.
 @param 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 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.
nsIURI newURI(in AUTF8String aSpec, in string aOriginCharset, in nsIURI aBaseURI)
 Constructs a new channel from the given URI for this protocol handler. 
nsIChannel newChannel(in nsIURI aURI)

From nsIProtocolProxyCallback

 This method is called when proxy info is available or when an error
 in the proxy resolution occurs.

 @param aRequest
        The value returned from asyncResolve.
 @param aURI
        The URI passed to asyncResolve.
 @param aProxyInfo
        The resulting proxy info or null if there is no associated proxy
        info for aURI.  As with the result of nsIProtocolProxyService's
        resolve method, a null result implies that a direct connection
        should be used.
 @param 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.
void onProxyAvailable(in nsICancelable aRequest, in nsIURI aURI, in nsIProxyInfo aProxyInfo, in nsresult aStatus)

From nsIProtocolProxyFilter

 This method is called to apply proxy filter rules for the given URI
 and proxy object (or list of proxy objects).

 @param aProxyService
        A reference to the Protocol Proxy Service.  This is passed so that
        implementations may easily access methods such as newProxyInfo.
 @param aURI
        The URI for which these proxy settings apply.
 @param aProxy
        The proxy (or list of proxies) that would be used by default for
        the given URI.  This may be null.

 @return 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.
nsIProxyInfo applyFilter(in nsIProtocolProxyService aProxyService, in nsIURI aURI, in nsIProxyInfo aProxy)

From nsIProtocolProxyService

 This method is an asychronous version of the resolve method.  Unlike
 resolve, this method is guaranteed not to block the calling thread
 waiting for DNS queries to complete.  This method is intended as a
 substitute for resolve when the result is not needed immediately.

 @param aURI
        The URI to test.
 @param aFlags
        A bit-wise OR of the RESOLVE_ flags defined above.  Pass 0 to
        specify the default behavior.
 @param aCallback
        The object to be notified when the result is available.

 @return An object that can be used to cancel the asychronous operation.
nsICancelable asyncResolve(in nsIURI aURI, in unsigned long aFlags, in nsIProtocolProxyCallback aCallback)
 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.

 @param aProxyInfo
        The proxy that was unavailable.
 @param aURI
        The URI that was originally passed to resolve/asyncResolve.
 @param aReason
        The error code corresponding to the proxy failure.  This value
        may be used to tune the delay before this proxy is used again.

 @throw NS_ERROR_NOT_AVAILABLE if there is no alternate proxy available.
nsIProxyInfo getFailoverForProxy(in nsIProxyInfo aProxyInfo, in nsIURI aURI, in nsresult aReason)
 This method returns a nsIProxyInfo instance that identifies a proxy to
 be used for loading the given URI.  Otherwise, this method returns null
 indicating that a direct connection should be used.

 @param aURI
        The URI to test.
 @param aFlags
        A bit-wise OR of the RESOLVE_ flags defined above.  Pass 0 to
        specify the default behavior.

 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 "http", then it means that
 the given URI should be loaded using the HTTP protocol handler, which
 also supports nsIProxiedProtocolHandler.

 NOTE: If PAC is configured, and the PAC file has not yet been loaded,
 then this method will return a nsIProxyInfo instance with a type of
 "unknown" to indicate to the consumer that asyncResolve should be used
 to wait for the PAC file to finish loading.  Otherwise, the consumer
 may choose to treat the result as type "direct" if desired.

 @see nsIProxiedProtocolHandler::newProxiedChannel 
nsIProxyInfo resolve(in nsIURI aURI, in unsigned long aFlags)

From nsIProxiedProtocolHandler

 Create a new channel with the given proxyInfo

nsIChannel newProxiedChannel(in nsIURI uri, in nsIProxyInfo proxyInfo)

From nsIRDFXMLParser

 Create a stream listener that can be used to asynchronously
 parse RDF/XML.
 @param aSink the RDF datasource the will receive the data
 @param aBaseURI the base URI used to resolve relative
   references in the RDF/XML
 @return an nsIStreamListener object to handle the data
nsIStreamListener parseAsync(in nsIRDFDataSource aSink, in nsIURI aBaseURI)
 Parse a string of RDF/XML
 @param aSink the RDF datasource that will receive the data
 @param aBaseURI the base URI used to resolve relative
   references in the RDF/XML
 @param aSource a UTF8 string containing RDF/XML data.
void parseString(in nsIRDFDataSource aSink, in nsIURI aBaseURI, in AUTF8String aSource)

From nsIRefreshURI

 Parses the passed in header string and sets up a refreshURI if
 a "refresh" header is found. If docshell is busy loading a page 
 currently, the request will be queued and executed when 
 the current page finishes loading. 

 @param aBaseURI base URI to resolve refresh uri with.
 @param aHeader  The meta refresh header string.
void setupRefreshURIFromHeader(in nsIURI aBaseURI, in ACString aHeader)
 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. 

 @param aUri The uri to refresh.
 @param aMillis The number of milliseconds to wait.
 @param aRepeat Flag to indicate if the uri is to be 
                repeatedly refreshed every aMillis milliseconds.
 @parem aMetaRefresh Flag to indicate if this is a Meta refresh.
void refreshURI(in nsIURI aURI, in long aMillis, in boolean aRepeat, in boolean aMetaRefresh)

From nsIResProtocolHandler

 Sets the substitution for the root key:
   resource://root/path ==> baseURI.resolve(path)

 A null baseURI removes the specified substitution.

 A root key should always be lowercase; however, this may not be
 enforced.
void setSubstitution(in ACString root, in nsIURI baseURI)
 Utility function to resolve a resource URI.  A resolved URI is not 
 guaranteed to reference a resource that exists (ie. opening a channel to
 the resolved URI may fail).

 @throws NS_ERROR_NOT_AVAILABLE if resURI.host() is an unknown root key.
AUTF8String resolveURI(in nsIURI resURI)

From nsISHEntry

 Additional ways to create an entry */
void create(in nsIURI URI, in AString title, in nsIInputStream inputStream, in nsILayoutHistoryState layoutHistoryState, in nsISupports cacheKey, in ACString contentType)
 URI for the document */
void setURI(in nsIURI aURI)

From nsISHistoryListener

 called to notify a listener when the user presses the 'back' button
 of the browser OR when the user attempts to go back one page
 in history thro' other means, from javascript or using nsIWebNavigation

 @param aBackURI        The uri of the previous page  which is to be 
                        loaded.
 
 @return aReturn        A boolean flag returned by the listener to
                        indicate if the back operation is to be aborted 
                        or continued.  If the listener returns 'true', it indicates 
                        that the back operation can be continued. If the listener
                        returns 'false', then the back operation will be aborted.
                        This is a mechanism for the listener to control user's 
                        operations with history.
 
boolean OnHistoryGoBack(in nsIURI aBackURI)
 called to notify a listener when the user presses the 'forward' button
 of the browser OR when the user attempts to go forward one page
 in history thro' other means, from javascript or using nsIWebNavigation

 @param aForwardURI     The uri of the next page  which is to be 
                        loaded.
 
 @return aReturn        A boolean flag returned by the listener to
                        indicate if the forward operation is to be aborted 
                        or continued.  If the listener returns 'true', it indicates 
                        that the forward operation can be continued. If the listener
                        returns 'false', then the forward operation will be aborted.
                        This is a mechanism for the listener to control user's 
                        operations with history.
 
boolean OnHistoryGoForward(in nsIURI aForwardURI)
 called to notify a listener when the user visits a page using the 'Go' menu
 of the browser OR when the user attempts to go to a page at a particular index
 through other means, like from javascript or using nsIWebNavigation

 @param aIndex        The index in history of the document to be loaded.
 @param aGotoURI      The uri of the document to be loaded.
 
 @return aReturn      A boolean flag  returned by the listener to
                      indicate if the GotoIndex operation is to be aborted 
                      or continued.  If the listener returns 'true', it indicates 
                      that the GotoIndex operation can be continued. If the listener
                      returns 'false', then the GotoIndex operation will be aborted.
                      This is a mechanism for the listener to control user's 
                      operations with history.
 
boolean OnHistoryGotoIndex(in long aIndex, in nsIURI aGotoURI)
 called to notify a listener 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. 

 @param aNewURI     The uri of the document to be added to session history

 @return            <CODE>NS_OK</CODE> notification sent out successfully
void OnHistoryNewEntry(in nsIURI aNewURI)
 
 called to notify a listener when the user presses the 'reload' button
 of the browser OR when the user attempts to reload the current document
 through other means, like from javascript or using nsIWebNavigation

 @param aReloadURI    The uri of the current document  to be reloaded.
 @param aReloadFlags  Flags that indicate how the document is to be 
                      refreshed. For example, from cache or bypassing
                      cache and/or Proxy server. 
 @return aReturn      A boolean flag returned by the listener to indicate 
                      if the reload operation is to be aborted or continued.
                      If the listener returns 'true', it indicates that the 
                      reload operation can be continued. If the listener
                      returns 'false', then the reload operation will be aborted.
                      This is a mechanism for the listener to control user's 
                      operations with history.
 @see  nsIWebNavigation
  
boolean OnHistoryReload(in nsIURI aReloadURI, in unsigned long aReloadFlags)

From nsIScriptLoaderObserver

 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.

 @param aResult A result code representing the result of loading
        a script. If this is a failure code, script evaluation
        will not occur.
 @param aElement The element being processed.
 @param aIsInline Is this an inline script or externally loaded?
 @param aWasPending Did script processing have to be delayed,
                    either for loading of an external script or
                    because processing of an earlier scheduled
                    script was delayed?
 @param aURI What is the URI of the script (the document URI if
        it is inline).
 @param aLineNo At what line does the script appear (generally 1
        if it is a loaded script).
 @param aScript String representation of the string to be evaluated.
void scriptAvailable(in nsresult aResult, in nsIScriptElement aElement, in boolean aIsInline, in boolean aWasPending, in nsIURI aURI, in PRInt32 aLineNo, in AString aScript)

From nsIScriptSecurityManager

 Utility method for comparing two URIs.  For security purposes, two URIs
 are equivalent if their schemes, hosts, and ports (if any) match.  This
 method returns true if aSubjectURI and aObjectURI have the same origin,
 false otherwise.
[noscript] boolean securityCompareURIs(in nsIURI aSubjectURI, in nsIURI aObjectURI)
 Returns OK if aSourceURI and target have the same "origin"
 (scheme, host, and port).
void checkSameOriginURI(in nsIURI aSourceURI, in nsIURI aTargetURI)
 Utility method for comparing two URIs.  For security purposes, two URIs
 are equivalent if their schemes, hosts, and ports (if any) match.  This
 method returns true if aSubjectURI and aObjectURI have the same origin,
 false otherwise.
[noscript] boolean securityCompareURIs(in nsIURI aSubjectURI, in nsIURI aObjectURI)
 Checks whether the running script is allowed to connect to aTargetURI
[noscript] void checkConnect(in JSContextPtr aJSContext, in nsIURI aTargetURI, in string aClassName, in string aProperty)
 Returns OK if aJSContext and target have the same "origin"
 (scheme, host, and port).
[noscript] void checkSameOrigin(in JSContextPtr aJSContext, in nsIURI aTargetURI)
 Returns OK if aSourceURI and target have the same "origin"
 (scheme, host, and port).
void checkSameOriginURI(in nsIURI aSourceURI, in nsIURI aTargetURI)
 Return a principal with the specified certificate fingerprint, subject
 name (the full name or concatenated set of names of the entity
 represented by the certificate), pretty name, certificate, and
 codebase URI.  The certificate fingerprint and subject name MUST be
 nonempty; otherwise an error will be thrown.  Similarly, aCert must
 not be null.
[noscript] nsIPrincipal getCertificatePrincipal(in AUTF8String aCertFingerprint, in AUTF8String aSubjectName, in AUTF8String aPrettyName, in nsISupports aCert, in nsIURI aURI)
 Return a principal that has the same origin as aURI.
[noscript] nsIPrincipal getCodebasePrincipal(in nsIURI aURI)
 Check that content from "from" can load "uri".

 Will return error code NS_ERROR_DOM_BAD_URI if the load request 
 should be denied.

 @param from the URI causing the load
 @param uri the URI that is being loaded
 @param flags the permission set, see above
void checkLoadURI(in nsIURI from, in nsIURI uri, in unsigned long flags)
 Check that content from "from" can load "uri".

 Will return error code NS_ERROR_DOM_BAD_URI if the load request 
 should be denied.

 @param from the URI causing the load
 @param uri the URI that is being loaded
 @param flags the permission set, see above
void checkLoadURI(in nsIURI from, in nsIURI uri, in unsigned long flags)
 Check that the script currently running in context "cx" can load "uri".

 Will return error code NS_ERROR_DOM_BAD_URI if the load request 
 should be denied.

 @param cx the JSContext of the script causing the load
 @param uri the URI that is being loaded
[noscript] void checkLoadURIFromScript(in JSContextPtr cx, in nsIURI uri)
 Check that content with principal aPrincipal can load "uri".

 Will return error code NS_ERROR_DOM_BAD_URI if the load request 
 should be denied.

 @param aPrincipal the URI causing the load
 @param uri the URI that is being loaded
 @param flags the permission set, see above
[noscript] void checkLoadURIWithPrincipal(in nsIPrincipal aPrincipal, in nsIURI uri, in unsigned long flags)

From nsIScriptableUnescapeHTML

 Appends the text to the element.
nsIDOMDocumentFragment parseFragment(in AString fragment, in PRBool isXML, in nsIURI baseURI, in nsIDOMElement element)

From nsIStandardURL

 Initialize a standard URL.

 @param aUrlType       - one of the URLTYPE_ flags listed above.
 @param 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 aSpec          - URL string.
 @param 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 aBaseURI       - if null, aSpec must specify an absolute URI.
                         otherwise, aSpec will be resolved relative
                         to aBaseURI.
void init(in unsigned long aUrlType, in long aDefaultPort, in AUTF8String aSpec, in string aOriginCharset, in nsIURI aBaseURI)

From nsIStyleSheetService

 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.
void loadAndRegisterSheet(in nsIURI sheetURI, in unsigned long type)
 Returns true if a style sheet at |sheetURI| has previously been
 added to the list of style sheets specified by |type|.
boolean sheetRegistered(in nsIURI sheetURI, in unsigned long type)
 Remove the style sheet at |sheetURI| from the list of style
 sheets specified by |type|.  All documents loaded after
 this call will no longer use the style sheet.
void unregisterSheet(in nsIURI sheetURI, in unsigned long type)

From nsISyncLoadDOMService

 Synchronously load the document from the specified channel.

 @param aChannel   The channel to load the document from.
 @param aLoaderURI URI of loading document. For security checks
                   null if no securitychecks should be done

 @returns The document loaded from the URI.
nsIDOMDocument loadDocument(in nsIChannel aChannel, in nsIURI aLoaderURI)

          
nsIDOMDocument loadDocumentAsXML(in nsIChannel aChannel, in nsIURI aLoaderURI)
 Synchronously load an XML document from the specified
 channel. The channel must be possible to open synchronously.

 @param aChannel   The channel to load the document from.
 @param aLoaderURI URI of loading document. For security checks
                   null if no securitychecks should be done

 @returns The document loaded from the URI.
nsIDOMDocument loadLocalDocument(in nsIChannel aChannel, in nsIURI aLoaderURI)

From nsIToolkitChromeRegistry

 The "canonical" manifest is a plaintext file which sits outside of a
 JAR file. To provide backwards-compatibility with contents.rdf, we provide
 this function which reads a contents.rdf manifest and writes it to a file.

 @param aOldManifestURI  The URI of an old manifest to read, without
                         the trailing "contents.rdf", e.g.
                         "jar:resource:///chrome/foo.jar!/content/foo/" or
                         "file://path/to/contents/rdf/"
 @param aFile            The URI of a manifest file to write. It's a good
                         idea to use a resource: URI if possible.
 @param aBaseURI         The base URI for relative path creation
                         "jar:resource:///chrome/foo.jar!/content/foo/"
                         this is a separate param from aOldManifestURI so
                         the "contents.rdf" can be read outside of the jar
                         to keep the zipreader cache from holding it open.
 @param aAppend          Whether we should append to an existing manifest
                         or truncate and start empty.
 @param aSkinOnly        Only allow skin packages.
void processContentsManifest(in nsIURI aOldManifestURI, in nsIURI aFile, in nsIURI aBaseURI, in boolean aAppend, in boolean aSkinOnly)
 The "canonical" manifest is a plaintext file which sits outside of a
 JAR file. To provide backwards-compatibility with contents.rdf, we provide
 this function which reads a contents.rdf manifest and writes it to a file.

 @param aOldManifestURI  The URI of an old manifest to read, without
                         the trailing "contents.rdf", e.g.
                         "jar:resource:///chrome/foo.jar!/content/foo/" or
                         "file://path/to/contents/rdf/"
 @param aFile            The URI of a manifest file to write. It's a good
                         idea to use a resource: URI if possible.
 @param aBaseURI         The base URI for relative path creation
                         "jar:resource:///chrome/foo.jar!/content/foo/"
                         this is a separate param from aOldManifestURI so
                         the "contents.rdf" can be read outside of the jar
                         to keep the zipreader cache from holding it open.
 @param aAppend          Whether we should append to an existing manifest
                         or truncate and start empty.
 @param aSkinOnly        Only allow skin packages.
void processContentsManifest(in nsIURI aOldManifestURI, in nsIURI aFile, in nsIURI aBaseURI, in boolean aAppend, in boolean aSkinOnly)
 The "canonical" manifest is a plaintext file which sits outside of a
 JAR file. To provide backwards-compatibility with contents.rdf, we provide
 this function which reads a contents.rdf manifest and writes it to a file.

 @param aOldManifestURI  The URI of an old manifest to read, without
                         the trailing "contents.rdf", e.g.
                         "jar:resource:///chrome/foo.jar!/content/foo/" or
                         "file://path/to/contents/rdf/"
 @param aFile            The URI of a manifest file to write. It's a good
                         idea to use a resource: URI if possible.
 @param aBaseURI         The base URI for relative path creation
                         "jar:resource:///chrome/foo.jar!/content/foo/"
                         this is a separate param from aOldManifestURI so
                         the "contents.rdf" can be read outside of the jar
                         to keep the zipreader cache from holding it open.
 @param aAppend          Whether we should append to an existing manifest
                         or truncate and start empty.
 @param aSkinOnly        Only allow skin packages.
void processContentsManifest(in nsIURI aOldManifestURI, in nsIURI aFile, in nsIURI aBaseURI, in boolean aAppend, in boolean aSkinOnly)

From nsITransfer

 Initializes the transfer with certain properties.  This function must
 be called prior to accessing any properties on this interface.

 @param aSource The source URI of the transfer. Must not be null.

 @param aTarget The target URI of the transfer. Must not be null.

 @param aDisplayName The user-readable description of the transfer.
                     Can be empty.

 @param aMIMEInfo The MIME info associated with the target,
                  including MIME type and helper app when appropriate.
                  This parameter is optional.

 @param 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 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 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.
void init(in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in nsIMIMEInfo aMIMEInfo, in PRTime startTime, in nsILocalFile aTempFile, in nsICancelable aCancelable)
 Initializes the transfer with certain properties.  This function must
 be called prior to accessing any properties on this interface.

 @param aSource The source URI of the transfer. Must not be null.

 @param aTarget The target URI of the transfer. Must not be null.

 @param aDisplayName The user-readable description of the transfer.
                     Can be empty.

 @param aMIMEInfo The MIME info associated with the target,
                  including MIME type and helper app when appropriate.
                  This parameter is optional.

 @param 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 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 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.
void init(in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in nsIMIMEInfo aMIMEInfo, in PRTime startTime, in nsILocalFile aTempFile, in nsICancelable aCancelable)

From nsIURI

 An URI supports the following methods:


 URI equivalence test (not a strict string comparison).

 eg. http://foo.com:80/ == http://foo.com/
boolean equals(in nsIURI other)

From nsIURIChecker

 Initializes the URI checker.  After this method is called, it is valid
 to further configure the URI checker by calling its nsIRequest methods.
 This method creates the channel that will be used to verify the URI.
 In the case of the HTTP protocol, only a HEAD request will be issued.

 @param aURI
        The URI to be checked.
void init(in nsIURI aURI)

From nsIURIContentListener

 Gives the original content listener first crack at stopping a load before
 it happens.

 @param aURI   URI that is being opened.

 @return       <code>false</code> if the load can continue;
               <code>true</code> if the open should be aborted.
boolean onStartURIOpen(in nsIURI aURI)

From nsIURIFixup

 Converts an internal URI (e.g. a wyciwyg URI) into one which we can
 expose to the user, for example on the URL bar.

 @param  aURI       The URI to be converted
 @return nsIURI     The converted, exposable URI
 @throws NS_ERROR_MALFORMED_URI when the exposable portion of aURI is malformed
 @throws NS_ERROR_UNKNOWN_PROTOCOL when we can't get a protocol handler service
         for the URI scheme.
nsIURI createExposableURI(in nsIURI aURI)

From nsIURL

 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, "" 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 "file:///" since '/' is
 a shared common root.

 Examples:
    this.spec               aURIToCompare.spec        result
 1) http://mozilla.org/     http://www.mozilla.org/   ""
 2) http://foo.com/bar/     ftp://foo.com/bar/        ""
 3) http://foo.com:8080/    http://foo.com/bar/       ""
 4) ftp://user@foo.com/     ftp://user:pw@foo.com/    ""
 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:///
AUTF8String getCommonBaseSpec(in nsIURI aURIToCompare)
 This method takes a uri and returns a substring of this if it can be
 made relative to the uri passed in.  If no commonality is found, the
 entire uri spec is returned.  If they are identical, "" is returned.
 Filename, query, etc are always returned except when uris are identical.
AUTF8String getRelativeSpec(in nsIURI aURIToCompare)

From nsIWebBrowserPersist

 Save the specified URI to file.

 @param aURI       URI to save to file. Some implementations of this interface
                   may also support <CODE>nsnull</CODE> to imply the currently
                   loaded URI.
 @param aCacheKey  An object representing the URI in the cache or
                   <CODE>nsnull</CODE>.
 @param aReferrer  The referrer URI to pass with an HTTP request or
                   <CODE>nsnull</CODE>.
 @param aPostData  Post data to pass with an HTTP request or
                   <CODE>nsnull</CODE>.
 @param aExtraHeaders Additional headers to supply with an HTTP request
                   or <CODE>nsnull</CODE>.
 @param aFile      Target file. This may be a nsILocalFile object or an
                   nsIURI object with a file scheme or a scheme that
                   supports uploading (e.g. ftp).

 @see nsILocalFile
 @see nsIURI
 @see nsIInputStream

 @return NS_OK Operation has been started.
 @return NS_ERROR_INVALID_ARG One or more arguments was invalid.
void saveURI(in nsIURI aURI, in nsISupports aCacheKey, in nsIURI aReferrer, in nsIInputStream aPostData, in string aExtraHeaders, in nsISupports aFile)
 Save the specified URI to file.

 @param aURI       URI to save to file. Some implementations of this interface
                   may also support <CODE>nsnull</CODE> to imply the currently
                   loaded URI.
 @param aCacheKey  An object representing the URI in the cache or
                   <CODE>nsnull</CODE>.
 @param aReferrer  The referrer URI to pass with an HTTP request or
                   <CODE>nsnull</CODE>.
 @param aPostData  Post data to pass with an HTTP request or
                   <CODE>nsnull</CODE>.
 @param aExtraHeaders Additional headers to supply with an HTTP request
                   or <CODE>nsnull</CODE>.
 @param aFile      Target file. This may be a nsILocalFile object or an
                   nsIURI object with a file scheme or a scheme that
                   supports uploading (e.g. ftp).

 @see nsILocalFile
 @see nsIURI
 @see nsIInputStream

 @return NS_OK Operation has been started.
 @return NS_ERROR_INVALID_ARG One or more arguments was invalid.
void saveURI(in nsIURI aURI, in nsISupports aCacheKey, in nsIURI aReferrer, in nsIInputStream aPostData, in string aExtraHeaders, in nsISupports aFile)

From nsIWebBrowserStream

 Prepare to load a stream of data. When this function returns successfully,
 it must be paired by a call to closeStream.

 @param aBaseURI
        The base URI of the data. Must not be null. Relative
        URIs will be resolved relative to this URI.
 @param 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

 @throw NS_ERROR_NOT_AVAILABLE
        The requested content type is not supported.
 @throw NS_ERROR_IN_PROGRESS
        openStream was called twice without an intermediate closeStream.
void openStream(in nsIURI aBaseURI, in ACString aContentType)

From nsIWebNavigation

 Loads a given URI.  This will give priority to loading the requested URI
 in the object implementing	this interface.  If it can't be loaded here
 however, the URI dispatcher will go through its normal process of content
 loading.

 @param 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 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 aReferrer
        The referring URI.  If this argument is null, then the referring
        URI will be inferred internally.
 @param 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 "\r\n"
        sequence separating any HTTP headers from the HTTP request body.
        This parameter is optional and may be null.
 @param 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 "\r\n" )*
        This parameter is optional and may be null.
void loadURI(in wstring aURI, in unsigned long aLoadFlags, in nsIURI aReferrer, in nsIInputStream aPostData, in nsIInputStream aHeaders)

From nsIWebProgressListener

 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.

 @param aWebProgress
        The nsIWebProgress instance that fired the notification.
 @param aRequest
        The associated nsIRequest.  This may be null in some cases.
 @param aLocation
        The URI of the location that is being loaded.
void onLocationChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI aLocation)

From nsIWebScriptsAccessService

 Call this method to check script access...
 aTransportURI - The web service URI.
 aType - Type requested by the script.
 return TRUE if access granted else FALSE
boolean canAccess(in nsIURI aTransportURI, in AString aType)

From nsIWindowCreator2

 Create a new window. Gecko will/may call this method, if made
      available to it, to create new windows.
      @param 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 chromeFlags Chrome features from nsIWebBrowserChrome
      @param contextFlags Flags about the context of the window being created.
      @param uri The URL for which this window is intended. It can be null
                 or zero-length. The implementation of this interface
                 may use the URL to help determine what sort of window
                 to open or whether to cancel window creation. It will not
                 load the URL.
      @param 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.
      @return the new window. Will be null if canceled or an error occurred.
nsIWebBrowserChrome createChromeWindow2(in nsIWebBrowserChrome parent, in PRUint32 chromeFlags, in PRUint32 contextFlags, in nsIURI uri, out boolean cancel)

From nsIWindowProvider

 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's responsibility.  The provider can always return null
 to have the caller create a brand-new window.

 @param 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 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 aPositionSpecified Whether the attempt to create a window is trying
                           to specify a position for the new window.
 @param aSizeSpecified Whether the attempt to create a window is trying to
                       specify a size for the new window.
 @param aURI The URI to be loaded in the new window.  The nsIWindowProvider
             implementation MUST NOT load this URI in the window it
             returns.  This URI is provided solely to help the
             nsIWindowProvider implenentation make decisions; the caller
             will handle loading the URI in the window returned if
             provideWindow returns a window.  Note that the URI may be null
             if the load cannot be represented by a single URI (e.g. if
             the load has extra load flags, POST data, etc).
 @param 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 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 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.
 @return 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.

 @see nsIWindowWatcher for more information on aFeatures.
 @see nsIWebBrowserChrome for more information on aChromeFlags.
nsIDOMWindow provideWindow(in nsIDOMWindow aParent, in unsigned long aChromeFlags, in boolean aPositionSpecified, in boolean aSizeSpecified, in nsIURI aURI, in AString aName, in AUTF8String aFeatures, out boolean aWindowIsNew)

From nsIXULChromeRegistry

 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.
boolean allowScriptsForPackage(in nsIURI url)

From nsIXULOverlayProvider

 Get the style overlays for a particular chrome URI.

 @param aURI  The URI being loaded
 @return      An enumerator of nsIURI for the overlays of this URI 
nsISimpleEnumerator getStyleOverlays(in nsIURI aURI)
 Get the XUL overlays for a particular chrome URI.

 @param aURI  The URI being loaded
 @return      An enumerator of nsIURI for the overlays of this URI 
nsISimpleEnumerator getXULOverlays(in nsIURI aURI)

From nsPICertNotification


          
void onCertAvailable(in nsIURI aURI, in nsISupports aContext, in PRUint32 aStatus, in nsIPrincipal aPrincipal)