summaryrefslogtreecommitdiffstats
path: root/toolkit/components/windowwatcher/nsIPromptCollection.idl
blob: 3e3e104407ae942199dfac54adc88871d68d1bdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/* 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"

webidl BrowsingContext;

/**
 * This interface contains various specialized prompts that the app can
 * implement.
 */
[scriptable, uuid(7913837c-9623-11ea-bb37-0242ac130002)]
interface nsIPromptCollection : nsISupports
{
  /**
   * Puts up a dialog for the before unload prompt.
   *
   * @param aBrowsingContext
   *        The browsing context the prompt should be opened for.
   *
   * @return Promise which resolves to true if the page should be allowed to
   * navigate away
   */
  Promise asyncBeforeUnloadCheck(in BrowsingContext aBrowsingContext);

  /**
   * Puts up a dialog for the confirm repost prompt.
   *
   * @param aBrowsingContext
   *        The browsing context the prompt should be opened for.
   *
   * @return true if the page should be allowed to repost data.
   */
  boolean confirmRepost(in BrowsingContext aBrowsingContext);

  /**
   * Ask the user for confirmation to upload a selected folder.
   *
   * @param aBrowsingContext
   *        The browsing context the prompt should be opened for.
   * @param aDirectoryName
   *        Name of the folder that will be uploaded.
   *
   * @return true if the user confirmed the upload, false otherwise.
   */
  boolean confirmFolderUpload(in BrowsingContext aBrowsingContext,
                              in AString aDirectoryName);
};