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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
/* 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;
webidl CredentialChooserOption;
interface mozIDOMWindow;
interface nsICredentialChosenCallback;
interface nsIPrincipal;
interface nsIURI;
[scriptable, uuid(673ddc19-03e2-4b30-a868-06297e8fed89)]
interface nsICredentialChooserService : nsISupports {
/**
* A service function to help any UI. Fetches and serializes images to
* data urls, which can be used in chrome UI.
*
* @param window Window which should perform the fetch
* @param uri Icon location to be fetched from
* @returns A promise resolving with the data URI encoded as a string representing the icon that was loaded
*/
Promise fetchImageToDataURI(in mozIDOMWindow window, in nsIURI uri);
/**
* A helper function that performs precisely the right Fetch for the well-known resource for FedCM.
*
* @param {nsIURI} uri Well known resource location
* @param {nsIPrincipal} triggeringPrincipal Principal of the IDP triggering this request
* @returns A promise that will be the result of fetching the resource and parsing the body as JSON,
* or reject along the way.
*/
Promise fetchWellKnown(in nsIURI uri, in nsIPrincipal triggeringPrincipal);
/**
* A helper function that performs precisely the right Fetch for the IDP configuration resource for FedCM.
*
* @param {nsIURI} uri Well known resource location
* @param {nsIPrincipal} triggeringPrincipal Principal of the IDP triggering this request
* @returns A promise that will be the result of fetching the resource and parsing the body as JSON,
* or reject along the way.
*/
Promise fetchConfig(in nsIURI uri, in nsIPrincipal triggeringPrincipal);
/**
* A helper function that performs precisely the right Fetch for the account list for FedCM.
*
* @param {nsIURI} uri Well known resource location
* @param {nsIPrincipal} triggeringPrincipal Principal of the IDP triggering this request
* @returns A promise that will be the result of fetching the resource and parsing the body as JSON,
* or reject along the way.
*/
Promise fetchAccounts(in nsIURI uri, in nsIPrincipal triggeringPrincipal);
/**
* A helper function that performs precisely the right Fetch for the token request for FedCM.
*
* @param {nsIURI} uri Well known resource location
* @param {string} body Body to be sent with the fetch, pre-serialized.
* @param {nsIPrincipal} triggeringPrincipal Principal of the IDP triggering this request
* @returns A promise that will be the result of fetching the resource and parsing the body as JSON,
* or reject along the way.
*/
Promise fetchToken(in nsIURI uri, in string body, in nsIPrincipal triggeringPrincipal);
/**
* A helper function that performs precisely the right Fetch for the token request for FedCM.
*
* @param {nsIURI} uri Well known resource location
* @param {string} body Body to be sent with the fetch, pre-serialized.
* @param {nsIPrincipal} triggeringPrincipal Principal of the IDP triggering this request
* @returns A promise that will be the result of fetching the resource and parsing the body as JSON,
* or reject along the way.
*/
Promise fetchDisconnect(in nsIURI uri, in string body, in nsIPrincipal triggeringPrincipal);
};
|