/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1999 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): */ /* nsIDocumentLoaderObserver --> */ #include "nsISupports.idl" interface nsIDocumentLoader; interface nsIURI; interface nsIChannel; /* we'll be phasing this interface out in place of a new improved progress sink interface */ %{C++ #include "nsString.h" %} native nsString(nsString); [ref] native nsStringRef(nsString); [scriptable, uuid(f6b4f550-317c-11d2-bd8c-00805f8ae3f4)] interface nsIDocumentLoaderObserver : nsISupports { /** * Notify the observer that a new document will be loaded. * * This notification occurs before any DNS resolution occurs, or * a connection is established with the server... */ void onStartDocumentLoad(in nsIDocumentLoader aLoader, in nsIURI aURL, in string aCommand); /** * Notify the observer that a document has been completely loaded. */ void onEndDocumentLoad(in nsIDocumentLoader loader, in nsIChannel aChannel, in unsigned long aStatus); /** * Notify the observer that the specified nsIURI has just started to load. * * This notification occurs after DNS resolution, and a connection to the * server has been established. */ void onStartURLLoad(in nsIDocumentLoader aLoader, in nsIChannel channel); /** * Notify the observer that progress has occurred in the loading of the * specified URL... */ void onProgressURLLoad(in nsIDocumentLoader aLoader, in nsIChannel aChannel, in unsigned long aProgress, in unsigned long aProgressMax); /** * Notify the observer that status text is available regarding the URL * being loaded... */ [noscript] void onStatusURLLoad(in nsIDocumentLoader loader, in nsIChannel channel, in nsStringRef aMsg); /** * Notify the observer that the specified nsIURI has finished loading. */ void onEndURLLoad(in nsIDocumentLoader aLoader, in nsIChannel aChannel, in unsigned long aStatus); }; /* the following is a transition define. nsIDocumentLoaderObserver wasn't scriptable and now it is. so lots of people refer to the IID using the old non-scriptable generated IID... */ %{C++ #define NS_IDOCUMENT_LOADER_OBSERVER_IID NS_IDOCUMENTLOADEROBSERVER_IID %}