/* 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(); };