gecko-dev/uriloader/base/nsIWebProgressListener.idl

113 строки
4.3 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* 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 the Mozilla browser.
*
* The Initial Developer of the Original Code is Netscape
* Communications, Inc. Portions created by Netscape are
* Copyright (C) 1999, Mozilla. All Rights Reserved.
*
* Contributor(s):
* Travis Bogard <travis@netscape.com>
*/
#include "nsISupports.idl"
/**
* The nsIWebProgressListener is the interface implemented by clients wishing to
* listen in on a progress object.
*/
interface nsIChannel;
interface nsIURI;
[scriptable, uuid(570F39D1-EFD0-11d3-B093-00A024FFC08C)]
interface nsIWebProgressListener : nsISupports
{
/*
Notification of that the progress has changed for the main object we are
tracking progress for.
@param channel - The main channel that is loading that we are tracking
progress for.
@param curSelfProgress - The current position of progress. This is
between 0 and maxSelfProgress. This is the position of only this
progress object. It doesn not include the progress of all children.
@param maxSelfProgress - The maximum position that progress will go to.
This sets a relative position point for the current progress to relate
to. This is the max position of only this progress object. It does not
include the progress of all the children.
@param curTotalProgress - The current position of progress for this object
and all children added together. This is between 0 and maxTotalProgress.
@param maxTotalProgress - The maximum position that progress will go to for
the max of this progress object and all children. This sets the relative
position point for the current progress to relate to.
*/
void onProgressChange(in nsIChannel channel, in long curSelfProgress,
in long maxSelfProgress, in long curTotalProgress,
in long maxTotalProgress);
/*
Notification that the progress has changed for a child of the main object
we are tracking progress for.
@param channel - The child channel that we are getting this progress change
for.
@param curChildProgress - The current position of progress. This is
between 0 and maxSelfProgress. This is the position of only this
child progress object.
@param maxChildProgress - The maximum position that progress will go to.
This sets a relative position point for the current progress to relate
to. This is the max position of only this child progress object.
*/
void onChildProgressChange(in nsIChannel channel, in long curChildProgress,
in long maxChildProgress);
/*
Notification that the progress status flags have changed for the main item
we are tracking progress for.
@param channel - The main channel that is loading that we are tracking
progress for.
@param progressStatusFlags - This is the current progressStatusFlags. This
will be one or a combination of the progress status flags.
*/
void onStatusChange(in nsIChannel channel, in long progressStatusFlags);
/*
Notification that the progress status flags have changed for a child of the
main item we are tracking progress for..
@param channel - The child channel that this status change message is for.
@param progressStatusFlags - This is the current progressStatusFlags. This
will be one or a combination of the progress status flags.
*/
void onChildStatusChange(in nsIChannel channel, in long progressStatusFlags);
/*
Called when the window being watched changes the location that is currently.
This is not when a load is requested, but rather once it is verified that
the load is going to occur in the given window. For instance, a load that
starts in a window might send progress and status messages, for the new site
but it will not send the onLocationChange until we are sure we are loading
this new page here.
@param location - The URI of the location that is being loaded.
*/
void onLocationChange(in nsIURI location);
};