summaryrefslogtreecommitdiffstats
path: root/uriloader/exthandler/nsIContentDispatchChooser.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
commit9e3c08db40b8916968b9f30096c7be3f00ce9647 (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /uriloader/exthandler/nsIContentDispatchChooser.idl
parentInitial commit. (diff)
downloadthunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.tar.xz
thunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'uriloader/exthandler/nsIContentDispatchChooser.idl')
-rw-r--r--uriloader/exthandler/nsIContentDispatchChooser.idl40
1 files changed, 40 insertions, 0 deletions
diff --git a/uriloader/exthandler/nsIContentDispatchChooser.idl b/uriloader/exthandler/nsIContentDispatchChooser.idl
new file mode 100644
index 0000000000..00d61e575b
--- /dev/null
+++ b/uriloader/exthandler/nsIContentDispatchChooser.idl
@@ -0,0 +1,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);
+};