/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIChannel; interface nsIContentViewer; interface nsIStreamListener; interface nsIDocument; interface nsILoadGroup; interface nsIPrincipal; /** * To get a component that implements nsIDocumentLoaderFactory * for a given mimetype, use nsICategoryManager to find an entry * with the mimetype as its name in the category "Gecko-Content-Viewers". * The value of the entry is the contractid of the component. * The component is a service, so use GetService, not CreateInstance to get it. */ [scriptable, uuid(5e7d2967-5a07-444f-95d5-25b533252d38)] interface nsIDocumentLoaderFactory : nsISupports { nsIContentViewer createInstance(in string aCommand, in nsIChannel aChannel, in nsILoadGroup aLoadGroup, in string aContentType, in nsISupports aContainer, in nsISupports aExtraInfo, out nsIStreamListener aDocListenerResult); nsIContentViewer createInstanceForDocument(in nsISupports aContainer, in nsIDocument aDocument, in string aCommand); /** * Create a blank document using the given loadgroup and given * principal. aPrincipal is allowed to be null, in which case the * new document will get the about:blank codebase principal. */ nsIDocument createBlankDocument(in nsILoadGroup aLoadGroup, in nsIPrincipal aPrincipal); };