mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 23:31:56 +00:00
83 lines
2.9 KiB
Plaintext
83 lines
2.9 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 nsIDOMElement;
|
|
interface nsIVariant;
|
|
interface nsIURI;
|
|
|
|
/**
|
|
* A callback function used to notify webpages when a requested install has
|
|
* ended.
|
|
*
|
|
* NOTE: This is *not* the same as InstallListener.
|
|
*/
|
|
[scriptable, function, uuid(bb22f5c0-3ca1-48f6-873c-54e87987700f)]
|
|
interface amIInstallCallback : nsISupports
|
|
{
|
|
/**
|
|
* Called when an install completes or fails.
|
|
*
|
|
* @param aUrl
|
|
* The url of the add-on being installed
|
|
* @param aStatus
|
|
* 0 if the install was successful or negative if not
|
|
*/
|
|
void onInstallEnded(in AString aUrl, in int32_t aStatus);
|
|
};
|
|
|
|
|
|
/**
|
|
* This interface is used to allow webpages to start installing add-ons.
|
|
*/
|
|
[scriptable, uuid(658d6c09-15e0-4688-bee8-8551030472a9)]
|
|
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 aBrowser
|
|
* The browser 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 nsIDOMElement aBrowser,
|
|
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 uint32_t aInstallCount);
|
|
};
|