tenfourfox/toolkit/components/downloads/nsIDownloadProgressListener.idl
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

61 lines
2.2 KiB
Plaintext

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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/. */
/* A minimally extended progress listener used by download manager
* to update its default UI. This is implemented in nsDownloadProgressListener.js.
* See nsIWebProgressListener for documentation, and use its constants. This isn't
* too pretty, but the alternative is having this extend nsIWebProgressListener and
* adding an |item| attribute, which would mean a separate nsIDownloadProgressListener
* for every nsIDownloadItem, which is a waste...
*/
#include "nsISupports.idl"
interface nsIWebProgress;
interface nsIRequest;
interface nsIURI;
interface nsIDownload;
interface nsIDOMDocument;
[scriptable, uuid(7acb07ea-cac2-4c15-a3ad-23aaa789ed51)]
interface nsIDownloadProgressListener : nsISupports {
/**
* document
* The document of the download manager frontend.
*/
attribute nsIDOMDocument document;
/**
* Dispatched whenever the state of the download changes.
*
* @param aState The previous download sate.
* @param aDownload The download object.
* @see nsIDownloadManager for download states.
*/
void onDownloadStateChange(in short aState, in nsIDownload aDownload);
void onStateChange(in nsIWebProgress aWebProgress,
in nsIRequest aRequest,
in unsigned long aStateFlags,
in nsresult aStatus,
in nsIDownload aDownload);
void onProgressChange(in nsIWebProgress aWebProgress,
in nsIRequest aRequest,
in long long aCurSelfProgress,
in long long aMaxSelfProgress,
in long long aCurTotalProgress,
in long long aMaxTotalProgress,
in nsIDownload aDownload);
void onSecurityChange(in nsIWebProgress aWebProgress,
in nsIRequest aRequest,
in unsigned long aState,
in nsIDownload aDownload);
};