gecko/toolkit/mozapps/extensions/amIWebInstaller.idl
2012-05-21 12:12:37 +01:00

63 lines
2.4 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 nsIDOMWindow;
interface nsIVariant;
interface amIInstallCallback;
interface nsIURI;
/**
* This interface is used to allow webpages to start installing add-ons.
*/
[scriptable, uuid(4fdf4f84-73dc-4857-9bbe-84895e8afd5d)]
interface amIWebInstaller : nsISupports
{
/**
* Checks if installation is enabled for a webpage.
*
* @param aMimetype
* The mimetype for the add-on to be installed
* @param referer
* The URL of the webpage trying to install an add-on
* @return true if installation is enabled
*/
boolean isInstallEnabled(in AString aMimetype, in nsIURI aReferer);
/**
* Installs an array of add-ons at the request of a webpage
*
* @param aMimetype
* The mimetype for the add-ons
* @param aWindow
* The window installing the add-ons
* @param aReferer
* The URI for the webpage installing the add-ons
* @param aUris
* The URIs of add-ons to be installed
* @param aHashes
* The hashes for the add-ons to be installed
* @param aNames
* The names for the add-ons to be installed
* @param aIcons
* The icons for the add-ons to be installed
* @param aCallback
* An optional callback to notify about installation success and
* failure
* @param aInstallCount
* An optional argument including the number of add-ons to install
* @return true if the installation was successfully started
*/
boolean installAddonsFromWebpage(in AString aMimetype,
in nsIDOMWindow aWindow,
in nsIURI aReferer,
[array, size_is(aInstallCount)] in wstring aUris,
[array, size_is(aInstallCount)] in wstring aHashes,
[array, size_is(aInstallCount)] in wstring aNames,
[array, size_is(aInstallCount)] in wstring aIcons,
[optional] in amIInstallCallback aCallback,
[optional] in PRUint32 aInstallCount);
};