gecko-dev/toolkit/components/downloads/nsIDownloadManagerUI.idl

56 lines
1.8 KiB
Plaintext

/* 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/. */
#include "nsISupports.idl"
interface nsIInterfaceRequestor;
interface nsIDownload;
[scriptable, uuid(0c76d4cf-0b06-4c1a-9bea-520c7bbdba99)]
interface nsIDownloadManagerUI : nsISupports {
/**
* The reason that should be passed when the user requests to show the
* download manager's UI.
*/
const short REASON_USER_INTERACTED = 0;
/**
* The reason that should be passed to the show method when we are displaying
* the UI because a new download is being added to it.
*/
const short REASON_NEW_DOWNLOAD = 1;
/**
* Shows the Download Manager's UI to the user.
*
* @param [optional] aWindowContext
* The parent window context to show the UI.
* @param [optional] aDownload
* The download to be preselected upon opening.
* @param [optional] aReason
* The reason to show the download manager's UI. This defaults to
* REASON_USER_INTERACTED, and should be one of the previously listed
* constants.
* @param [optional] aUsePrivateUI
* Pass true as this argument to hint to the implementation that it
* should only display private downloads in the UI, if possible.
*/
void show([optional] in nsIInterfaceRequestor aWindowContext,
[optional] in nsIDownload aDownload,
[optional] in short aReason,
[optional] in boolean aUsePrivateUI);
/**
* Indicates if the UI is visible or not.
*/
readonly attribute boolean visible;
/**
* Brings attention to the UI if it is already visible
*
* @throws NS_ERROR_UNEXPECTED if the UI is not visible.
*/
void getAttention();
};