/* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla 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/MPL/ * * 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 nsIWebProgressListener2 interface. * * The Initial Developer of the Original Code is * Christian Biesinger . * Portions created by the Initial Developer are Copyright (C) 2005 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Mark Pilgrim * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #include "nsIWebProgressListener.idl" /** * An extended version of nsIWebProgressListener. */ [scriptable, uuid(dde39de0-e4e0-11da-8ad9-0800200c9a66)] interface nsIWebProgressListener2 : nsIWebProgressListener { /** * Notification that the progress has changed for one of the requests * associated with aWebProgress. Progress totals are reset to zero when all * requests in aWebProgress complete (corresponding to onStateChange being * called with aStateFlags including the STATE_STOP and STATE_IS_WINDOW * flags). * * This function is identical to nsIWebProgressListener::onProgressChange, * except that this function supports 64-bit values. * * @param aWebProgress * The nsIWebProgress instance that fired the notification. * @param aRequest * The nsIRequest that has new progress. * @param aCurSelfProgress * The current progress for aRequest. * @param aMaxSelfProgress * The maximum progress for aRequest. * @param aCurTotalProgress * The current progress for all requests associated with aWebProgress. * @param aMaxTotalProgress * The total progress for all requests associated with aWebProgress. * * NOTE: If any progress value is unknown, then its value is replaced with -1. * * @see nsIWebProgressListener2::onProgressChange64 */ void onProgressChange64(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long long aCurSelfProgress, in long long aMaxSelfProgress, in long long aCurTotalProgress, in long long aMaxTotalProgress); /** * Notification that a refresh or redirect has been requested in aWebProgress * For example, via a or an HTTP Refresh: header * * @param aWebProgress * The nsIWebProgress instance that fired the notification. * @param aRefreshURI * The new URI that aWebProgress has requested redirecting to. * @param aMillis * The delay (in milliseconds) before refresh. * @param aSameURI * True if aWebProgress is requesting a refresh of the * current URI. * False if aWebProgress is requesting a redirection to * a different URI. * * @return True if the refresh may proceed. * False if the refresh should be aborted. */ boolean onRefreshAttempted(in nsIWebProgress aWebProgress, in nsIURI aRefreshURI, in long aMillis, in boolean aSameURI); };