summaryrefslogtreecommitdiffstats
path: root/uriloader/exthandler/nsIContentDispatchChooser.idl
blob: 00d61e575bc5fd6301d3f8d775c47e53d82c9d1d (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
/* 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 nsIHandlerInfo;
interface nsIPrincipal;
interface nsIURI;
webidl BrowsingContext;

/**
 * This is used to ask a user what they would like to do with a given piece of
 * content.
 */
[scriptable, uuid(456ca3b2-02be-4f97-89a2-08c08d3ad88f)]
interface nsIContentDispatchChooser : nsISupports {
 /**
  * Opens the handler associated with the given resource.
  * If the caller does not have permission or no handler is set, we ask the
  * user to grant permission and pick a handler.
  *
  * @param aHander
  *        The interface describing the details of how this content should or
  *        can be handled.
  * @param aURI
  *        The URI of the resource that we are asking about.
  * @param aTriggeringPrincipal
  *        The principal making the request.
  * @param aBrowsingContext
  *        The browsing context where the load should happen.
  * @param aWasTriggeredExternally
  *        True if the load was tripped by an external app.
  */
  void handleURI(in nsIHandlerInfo aHandler,
           in nsIURI aURI,
           in nsIPrincipal aTriggeringPrincipal,
           in BrowsingContext aBrowsingContext,
           [optional] in bool aWasTriggeredExternally);
};