/usr/share/idl/thunderbird/nsIContentPermissionPrompt.idl is in thunderbird-dev 1:52.8.0-1~deb8u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | /* 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 mozIDOMWindow;
interface nsIDOMElement;
interface nsIArray;
/**
* Interface provides the request type and its access.
*/
[scriptable, uuid(ef4db3b8-ca9c-4b1d-8f81-fd88ec32af13)]
interface nsIContentPermissionType : 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 array of available options.
*/
readonly attribute nsIArray options; // ["choice1", "choice2"]
};
/**
* Interface provides the callback type.
*/
[scriptable, uuid(5fb5bb60-7069-11e4-9803-0800200c9a66)]
interface nsIContentPermissionRequestCallback : nsISupports {
/**
* The callback of the visibility result.
*/
void notifyVisibility(in boolean isVisible);
};
/**
* Interface provides the way to get the visibility and
* the notification.
*/
[scriptable, uuid(f8577124-6a5f-486f-ae04-c5bcae911eb5)]
interface nsIContentPermissionRequester : nsISupports {
/**
* The function to get the visibility.
*/
void getVisibility(in nsIContentPermissionRequestCallback callback);
/**
* The callback to get the notification of visibility change.
*/
attribute nsIContentPermissionRequestCallback onVisibilityChange;
};
/**
* Interface allows access to a content to request
* permission to perform a privileged operation such as
* geolocation.
*/
[scriptable, uuid(875733da-0ac0-4a26-8c76-70a30876be46)]
interface nsIContentPermissionRequest : nsISupports {
/**
* The array will include the request types. Elements of this array are
* nsIContentPermissionType object.
*/
readonly attribute nsIArray types;
/*
* 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 mozIDOMWindow window;
readonly attribute nsIDOMElement element;
/**
* The requester to get the required information of
* the window.
*/
readonly attribute nsIContentPermissionRequester requester;
/**
* allow or cancel the request
*/
void cancel();
void allow([optional] in jsval choices); // {"type1": "choice1", "type2": "choiceA"}
};
/**
* 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"
%}
|