Source code

Revision control

Copy as Markdown

Other Tools

/* 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 boolean aWasTriggeredExternally);
};