toolkit/mozapps/extensions/amIWebInstallListener.idl

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #include "nsISupports.idl"
     7 interface nsIDOMWindow;
     8 interface nsIURI;
     9 interface nsIVariant;
    11 /**
    12  * amIWebInstallInfo is used by the default implementation of
    13  * amIWebInstallListener to communicate with the running application and allow
    14  * it to warn the user about blocked installs and start the installs running.
    15  */
    16 [scriptable, uuid(8710e692-3989-4dc7-b607-40d57610ae75)]
    17 interface amIWebInstallInfo : nsISupports
    18 {
    19   readonly attribute nsIDOMWindow originatingWindow;
    20   readonly attribute nsIURI originatingURI;
    21   readonly attribute nsIVariant installs;
    23   /**
    24    * Starts all installs.
    25    */
    26   void install();
    27 };
    29 /**
    30  * The registered amIWebInstallListener is used to notify about new installs
    31  * triggered by websites. The default implementation displays a confirmation
    32  * dialog when add-ons are ready to install and uses the observer service to
    33  * notify when installations are blocked.
    34  */
    35 [scriptable, uuid(a5503979-89c8-441e-9e4a-321df379c172)]
    36 interface amIWebInstallListener : nsISupports
    37 {
    38   /**
    39    * Called when installation by websites is currently disabled.
    40    *
    41    * @param  aWindow
    42    *         The window that triggered the installs
    43    * @param  aUri
    44    *         The URI of the site that triggered the installs
    45    * @param  aInstalls
    46    *         The AddonInstalls that were blocked
    47    * @param  aCount
    48    *         The number of AddonInstalls
    49    */
    50   void onWebInstallDisabled(in nsIDOMWindow aWindow, in nsIURI aUri,
    51                             [array, size_is(aCount)] in nsIVariant aInstalls,
    52                             [optional] in uint32_t aCount);
    54   /**
    55    * Called when the website is not allowed to directly prompt the user to
    56    * install add-ons.
    57    *
    58    * @param  aWindow
    59    *         The window that triggered the installs
    60    * @param  aUri
    61    *         The URI of the site that triggered the installs
    62    * @param  aInstalls
    63    *         The AddonInstalls that were blocked
    64    * @param  aCount
    65    *         The number of AddonInstalls
    66    * @return true if the caller should start the installs
    67    */
    68   boolean onWebInstallBlocked(in nsIDOMWindow aWindow, in nsIURI aUri,
    69                               [array, size_is(aCount)] in nsIVariant aInstalls,
    70                               [optional] in uint32_t aCount);
    72   /**
    73    * Called when a website wants to ask the user to install add-ons.
    74    *
    75    * @param  aWindow
    76    *         The window that triggered the installs
    77    * @param  aUri
    78    *         The URI of the site that triggered the installs
    79    * @param  aInstalls
    80    *         The AddonInstalls that were requested
    81    * @param  aCount
    82    *         The number of AddonInstalls
    83    * @return true if the caller should start the installs
    84    */
    85   boolean onWebInstallRequested(in nsIDOMWindow aWindow, in nsIURI aUri,
    86                                 [array, size_is(aCount)] in nsIVariant aInstalls,
    87                                 [optional] in uint32_t aCount);
    88 };
    90 /**
    91  * amIWebInstallPrompt is used, if available, by the default implementation of 
    92  * amIWebInstallInfo to display a confirmation UI to the user before running
    93  * installs.
    94  */
    95 [scriptable, uuid(c5529918-4291-4b56-bd46-e9268900f2a3)]
    96 interface amIWebInstallPrompt : nsISupports
    97 {
    98   /**
    99    * Get a confirmation that the user wants to start the installs.
   100    *
   101    * @param  aWindow
   102    *         The window that triggered the installs
   103    * @param  aUri
   104    *         The URI of the site that triggered the installs
   105    * @param  aInstalls
   106    *         The AddonInstalls that were requested
   107    * @param  aCount
   108    *         The number of AddonInstalls
   109    */
   110   void confirm(in nsIDOMWindow aWindow, in nsIURI aUri,
   111                [array, size_is(aCount)] in nsIVariant aInstalls,
   112                [optional] in uint32_t aCount);
   113 };

mercurial