mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 12:37:37 +00:00
142 lines
4.7 KiB
Plaintext
142 lines
4.7 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"
|
|
|
|
interface nsIWebProgressListener;
|
|
|
|
/**
|
|
* The nsIWebProgress interface is used to look at the progress of a given
|
|
* browser loading.
|
|
*/
|
|
|
|
[scriptable, uuid(570F39D0-EFD0-11d3-B093-00A024FFC08C)]
|
|
interface nsIWebProgress : nsISupports
|
|
{
|
|
/*
|
|
Progress Status Flags. These flags show transition.
|
|
|
|
Bit Layout:
|
|
|31-22|21-20|19-12|11-0|
|
|
|
|
|11-0| - Network Transitions
|
|
|19-12| - Network Stop Reasons
|
|
|21-20| - Window Activity Transitions
|
|
|31-22| - Available
|
|
*/
|
|
|
|
/* Network Transitions bits |11-0|
|
|
flag_net_start - network activity is starting
|
|
flag_net_stop - network activity has stopped (this may include a stop
|
|
reason which would have the stop reasons bits set)
|
|
flag_net_dns - Looking up requested host.
|
|
flag_net_connecting - Connecting to requested host.
|
|
flag_net_redirecting - Connection is being redirected.
|
|
flag_net_negotiating - Negotiating connection to the server
|
|
(Authentication/ Authorization).
|
|
flag_net_transferring - Transferring data from host.
|
|
*/
|
|
const long flag_net_start = 0x00000001;
|
|
const long flag_net_stop = 0x00000002;
|
|
const long flag_net_dns = 0x00000004;
|
|
const long flag_net_connecting = 0x00000008;
|
|
const long flag_net_redirecting = 0x00000010;
|
|
const long flag_net_negotiating = 0x00000020;
|
|
const long flag_net_transferring = 0x00000040;
|
|
|
|
/* Network Stop Reasons bits |19-12|
|
|
flag_net_failedDNS - DNS lookup failed.
|
|
flag_net_failedConnect - Connecting to server failed.
|
|
flag_net_failedTransfer - Transfer failed.
|
|
flag_net_userCancelled - User cancelled load.
|
|
*/
|
|
const long flag_net_failedDNS = 0x00001000;
|
|
const long flag_net_failedConnect = 0x00002000;
|
|
const long flag_net_failedTransfer = 0x00004000;
|
|
const long flag_net_userCancelled = 0x00008000;
|
|
|
|
/* Window Activity bits |21-20|
|
|
flag_win_start - window activity is starting
|
|
flag_win_stop - window activity is stoping
|
|
*/
|
|
const long flag_win_start = 0x00100000;
|
|
const long flag_win_stop = 0x00200000;
|
|
|
|
/*
|
|
Registers a listener to be notified of Progress Events
|
|
|
|
@param listener - The listener interface to be called when a progress event
|
|
occurs.
|
|
|
|
@return NS_OK - Listener was registered successfully.
|
|
NS_INVALID_ARG - The listener passed in was either nsnull,
|
|
or was already registered with this progress interface.
|
|
*/
|
|
void addProgressListener(in nsIWebProgressListener listener);
|
|
|
|
/*
|
|
Removes a previously registered listener of Progress Events
|
|
|
|
@param listener - The listener interface previously registered with
|
|
AddListener() this may be nsnull if a valid cookie is provided.
|
|
|
|
@return NS_OK - Listener was successfully unregistered.
|
|
NS_ERROR_INVALID_ARG - Neither the cookie nor the listener point
|
|
to a previously registered listener.
|
|
*/
|
|
void removeProgressListener(in nsIWebProgressListener listener);
|
|
|
|
/*
|
|
Current progress Status of the browser. This will be a combination of the
|
|
progress status flags.
|
|
*/
|
|
readonly attribute long progressStatusFlags;
|
|
|
|
/*
|
|
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.
|
|
*/
|
|
readonly attribute long curSelfProgress;
|
|
|
|
/*
|
|
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.
|
|
*/
|
|
readonly attribute long maxSelfProgress;
|
|
|
|
/*
|
|
The current position of progress for this object and all children added
|
|
together. This is between 0 and maxTotalProgress.
|
|
*/
|
|
readonly attribute long curTotalProgress;
|
|
|
|
/*
|
|
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.
|
|
*/
|
|
readonly attribute long maxTotalProgress;
|
|
};
|