Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions
nsIURILoader Interface Reference

The uri dispatcher is responsible for taking uri's, determining the content and routing the opened url to the correct content handler. More...

import "nsIURILoader.idl";

Inheritance diagram for nsIURILoader:
Inheritance graph
[legend]
Collaboration diagram for nsIURILoader:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void registerContentListener (in nsIURIContentListener aContentListener)
 As applications such as messenger and the browser are instantiated, they register content listener's with the uri dispatcher corresponding to content windows within that application.
void unRegisterContentListener (in nsIURIContentListener aContentListener)
void openURI (in nsIChannel aChannel, in boolean aIsContentPreferred, in nsIInterfaceRequestor aWindowContext)
 OpenURI requires the following parameters....
void stop (in nsISupports aLoadCookie)
 Stops an in progress load.

Detailed Description

The uri dispatcher is responsible for taking uri'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'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.

Definition at line 71 of file nsIURILoader.idl.


Member Function Documentation

void nsIURILoader::openURI ( in nsIChannel  aChannel,
in boolean  aIsContentPreferred,
in nsIInterfaceRequestor  aWindowContext 
)

OpenURI requires the following parameters....

Parameters:
aChannelThe channel that should be opened. This must not be asyncOpen'd yet! If a loadgroup is set on the channel, it will get replaced with a different one.
aIsContentPreferredShould the content be displayed in a container that prefers the content-type, or will any container do.
aWindowContextIf 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. Must not be null!

As applications such as messenger and the browser are instantiated, they register content listener'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.

Parameters:
aContentListenerThe listener to register. This listener must implement nsISupportsWeakReference.
See also:
the nsIURILoader class description
void nsIURILoader::stop ( in nsISupports  aLoadCookie)

Stops an in progress load.


The documentation for this interface was generated from the following file: