WARNING: Most of this content (with the exception of the Mozilla 1.9 XPCOM reference) is very old, and can be expected to be out of date and possibly obsolete. For better XUL documentation, please visit the XUL hub at the Mozilla Developer Center.

@mozilla.org/network/protocol;1?name=about

This component implements the following interfaces:

Constants

Standard full URI with authority component and concept of relative URIs (http, ftp, ...)
PRUint32 nsIProtocolHandler.URI_STD = 0
No concept of relative URIs (about, javascript, finger, ...)
PRUint32 nsIProtocolHandler.URI_NORELATIVE = 1
No authority component (file, ...)
PRUint32 nsIProtocolHandler.URI_NOAUTH = 2
The URIs for this protocol have no inherent security context, so documents loaded via this protocol should inherit the security context from the document that loads them.
PRUint32 nsIProtocolHandler.URI_INHERITS_SECURITY_CONTEXT = 16
"Automatic" loads that would replace the document (e.g. refresh, certain types of XLinks, possibly other loads that the application decides are not user triggered) are not allowed if the originating (NOT the target) URI has this protocol flag. Note that the decision as to what constitutes an "automatic" load is made externally, by the caller of nsIScriptSecurityManager::CheckLoadURI. See documentation for that method for more information.

A typical protocol that might want to set this flag is a protocol that shows highly untrusted content in a viewing area that the user expects to have a lot of control over, such as an e-mail reader.

PRUint32 nsIProtocolHandler.URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT = 32
The URIs for this protocol can be loaded by anyone. For example, any website should be allowed to trigger a load of a URI for this protocol. Web-safe protocols like "http" should set this flag.
PRUint32 nsIProtocolHandler.URI_LOADABLE_BY_ANYONE = 64
The URIs for this protocol are UNSAFE if loaded by untrusted (web) content and may only be loaded by privileged code (for example, code which has the system principal). Various internal protocols should set this flag.
PRUint32 nsIProtocolHandler.URI_DANGEROUS_TO_LOAD = 128
The URIs for this protocol point to resources that are part of the application's user interface. There are cases when such resources may be made accessible to untrusted content such as web pages, so this is less restrictive than URI_DANGEROUS_TO_LOAD but more restrictive than URI_LOADABLE_BY_ANYONE. See the documentation for nsIScriptSecurityManager::CheckLoadURI.
PRUint32 nsIProtocolHandler.URI_IS_UI_RESOURCE = 256
Loading of URIs for this protocol from other origins should only be allowed if those origins should have access to the local filesystem. It's up to the application to decide what origins should have such access. Protocols like "file" that point to local data should set this flag.
PRUint32 nsIProtocolHandler.URI_IS_LOCAL_FILE = 512
Loading channels from this protocol has side-effects that make it unsuitable for saving to a local file.
PRUint32 nsIProtocolHandler.URI_NON_PERSISTABLE = 1024
Channels using this protocol never call OnDataAvailable on the listener passed to AsyncOpen and they therefore do not return any data that we can use.
PRUint32 nsIProtocolHandler.URI_DOES_NOT_RETURN_DATA = 2048
This protocol handler can be proxied via a proxy (socks or http) (e.g., irc, smtp, http, etc.). If the protocol supports transparent proxying, the handler should implement nsIProxiedProtocolHandler.

If it supports only HTTP proxying, then it need not support nsIProxiedProtocolHandler, but should instead set the ALLOWS_PROXY_HTTP flag (see below).

PRUint32 nsIProtocolHandler.ALLOWS_PROXY = 4
This protocol handler can be proxied using a http proxy (e.g., http, ftp, etc.). nsIIOService::newChannelFromURI will feed URIs from this protocol handler to the HTTP protocol handler instead. This flag is ignored if ALLOWS_PROXY is not set.
PRUint32 nsIProtocolHandler.ALLOWS_PROXY_HTTP = 8

Properties

readonly PRInt32 nsIProtocolHandler.defaultPort

The default port is the port that this protocol normally uses. If a port does not make sense for the protocol (e.g., "about:") then -1 will be returned.

readonly PRUint32 nsIProtocolHandler.protocolFlags

Returns the protocol specific flags (see flag definitions below).

readonly ACString nsIProtocolHandler.scheme

The scheme of this protocol (e.g., "file").

Methods

InterfaceMethod
nsIProtocolHandler PRBool allowPort ( PRInt32 port , char* scheme )
nsIProtocolHandler nsIChannel newChannel ( nsIURI URI )
nsIProtocolHandler nsIURI newURI ( AUTF8String spec , char* originCharset , nsIURI baseURI )

Reference documentation is generated from Mozilla's source.

Copyright © 1999-2006 XULPlanet.com