gecko/dom/interfaces/base/nsIContentPermissionPrompt.idl

69 lines
1.7 KiB
Plaintext

/* 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 nsIPrincipal;
interface nsIDOMWindow;
interface nsIDOMElement;
/**
* Interface allows access to a content to request
* permission to perform a privileged operation such as
* geolocation.
*/
[scriptable, uuid(1de67000-2de8-11e2-81c1-0800200c9a66)]
interface nsIContentPermissionRequest : nsISupports {
/**
* The type of the permission request, such as
* "geolocation".
*/
readonly attribute ACString type;
/**
* The access of the permission request, such as
* "read".
*/
readonly attribute ACString access;
/**
* The principal of the permission request.
*/
readonly attribute nsIPrincipal principal;
/**
* The window or element that the permission request was
* originated in. Typically the element will be non-null
* in when using out of process content. window or
* element can be null but not both.
*/
readonly attribute nsIDOMWindow window;
readonly attribute nsIDOMElement element;
/**
* allow or cancel the request
*/
void cancel();
void allow();
};
/**
* Interface provides a way for the application to handle
* the UI prompts associated with geo position.
*/
[scriptable, function, uuid(F72DE90D-E954-4E69-9A61-917303029301)]
interface nsIContentPermissionPrompt : nsISupports {
/**
* Called when a request has been made to access
* privileged content apis
*/
void prompt(in nsIContentPermissionRequest request);
};
%{C++
#define NS_CONTENT_PERMISSION_PROMPT_CONTRACTID "@mozilla.org/content-permission/prompt;1"
%}