QWebEnginePermission Class
Une QWebEnginePermission est un objet utilisé pour accéder et modifier l'état d'une permission unique qui a été accordée ou refusée à une URL d'origine spécifique. Plus d'informations...
| En-tête : | #include <QWebEnginePermission> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake : | QT += webenginecore |
| Depuis : | Qt 6.8 |
| En QML : | webEnginePermission |
Types publics
| enum class | PermissionType { MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, DesktopVideoCapture, DesktopAudioVideoCapture, …, Unsupported } |
| enum class | State { Invalid, Ask, Granted, Denied } |
Propriétés
- isValid : const bool
- origin : const QUrl
- permissionType : const PermissionType
- state : const State
Fonctions publiques
| void | deny() const |
| void | grant() const |
| bool | isValid() const |
| QUrl | origin() const |
| QWebEnginePermission::PermissionType | permissionType() const |
| void | reset() const |
| QWebEnginePermission::State | state() const |
Membres publics statiques
| bool | isPersistent(QWebEnginePermission::PermissionType permissionType) |
Description détaillée
Le schéma d'utilisation typique est le suivant :
- Un site web demande une autorisation spécifique, ce qui déclenche le signal QWebEnginePage::permissionRequested() ;
- Le gestionnaire du signal déclenche une invite demandant à l'utilisateur s'il souhaite accorder la permission ;
- Lorsque l'utilisateur a pris sa décision, l'application appelle grant() ou deny() ;
Une application souhaitant modifier des autorisations déjà accordées peut également utiliser QWebEngineProfile::listAllPermissions() pour obtenir une liste des autorisations existantes associées à un profil, ou QWebEngineProfile::queryPermission() pour obtenir un objet QWebEnginePermission pour une autorisation spécifique.
La propriété origin() peut être utilisée pour demander à quelle origine la QWebEnginePermission est associée, tandis que la propriété permissionType() décrit le type de la permission demandée. L'origine d'un site web est la combinaison de son schéma, de son nom d'hôte et de son port. Les autorisations sont accordées par origine ; ainsi, si la page web https://www.example.com:12345/some/page.html demande une autorisation, celle-ci sera accordée à l'origine https://www.example.com:12345/.
QWebEnginePermission::PermissionType décrit tous les types de permissions que Qt WebEngine prend en charge. Seuls certains types de permissions sont mémorisés entre les sessions de navigation ; ils sont persistants. Les autorisations non persistantes interrogent l'utilisateur chaque fois qu'un site web les demande. Vous pouvez vérifier si un type de permission est persistant au moment de l'exécution en utilisant la méthode statique QWebEnginePermission::isPersistent().
Les autorisations persistantes sont stockées dans le fichier actif QWebEngineProfile, et leur durée de vie dépend de la valeur de QWebEngineProfile::persistentPermissionsPolicy(). Par défaut, les profils nommés stockent leurs autorisations sur le disque, tandis que les profils non enregistrés les stockent en mémoire (et les détruisent lorsque le profil est détruit). Une autorisation stockée ne sera pas demandée à l'utilisateur la prochaine fois qu'un site web la sollicitera ; elle sera automatiquement accordée ou refusée, en fonction de la résolution choisie initialement par l'utilisateur. Pour effacer une autorisation stockée, appelez reset().
Une autorisation non persistante, en revanche, n'est utilisable que jusqu'à ce que le site QWebEnginePage concerné navigue vers une URL différente ou soit détruit.
Vous pouvez vérifier si une QWebEnginePermission est dans un état valide en utilisant sa propriété isValid(). Pour les objets non valides, les appels à grant(), deny() ou reset() ne donnent rien, tandis que les appels à state() renvoient toujours QWebEnginePermission::Invalid.
Voir également QWebEnginePage::permissionRequested(), QWebEngineProfile::queryPermission() et QWebEngineProfile::listAllPermissions().
Documentation sur les types de membres
enum class QWebEnginePermission::PermissionType
Ce type d'énumération contient le type de la permission demandée :
| Constante | Valeur | Description de l'autorisation |
|---|---|---|
QWebEnginePermission::PermissionType::MediaAudioCapture | 1 | Accès à un microphone ou à une autre source audio. Cette autorisation n' est pas permanente. |
QWebEnginePermission::PermissionType::MediaVideoCapture | 2 | Accès à une webcam ou à une autre source vidéo. Cette autorisation n'est pas permanente. |
QWebEnginePermission::PermissionType::MediaAudioVideoCapture | 3 | Combinaison de MediaAudioCapture et MediaVideoCapture. Cette autorisation n'est pas permanente. |
QWebEnginePermission::PermissionType::DesktopVideoCapture | 4 | Accès au contenu de l'écran de l'utilisateur. Cette autorisation n'est pas permanente. |
QWebEnginePermission::PermissionType::DesktopAudioVideoCapture | 5 | Accès au contenu de l'écran de l'utilisateur et à l'audio de l'application. Cette autorisation n 'est pas permanente. |
QWebEnginePermission::PermissionType::MouseLock | 6 | Verrouiller le pointeur à l'intérieur d'un élément de la page web. Cette autorisation n'est pas permanente. |
QWebEnginePermission::PermissionType::Notifications | 7 | Permet au site web d'envoyer des notifications à l'utilisateur. Cette autorisation est permanente. |
QWebEnginePermission::PermissionType::Geolocation | 8 | Accès à l'emplacement physique de l'utilisateur. Cette autorisation est permanente. |
QWebEnginePermission::PermissionType::ClipboardReadWrite | 9 | Accès au presse-papiers de l'utilisateur. Cette autorisation est permanente. |
QWebEnginePermission::PermissionType::LocalFontsAccess | 10 | Accès aux polices installées sur la machine de l'utilisateur. Uniquement disponible sur les ordinateurs de bureau. Cette autorisation est persistante. |
QWebEnginePermission::PermissionType::Unsupported | 0 | Type de permission non pris en charge. |
Remarque : les types de permission non persistants sont ceux qui ne seront jamais mémorisés par le stockage sous-jacent et qui déclencheront une demande de permission chaque fois qu'un site web tentera de les utiliser.
enum class QWebEnginePermission::State
Ce type d'énumération contient l'état actuel de la permission demandée :
| Constante | Valeur | Description de l'état de l'objet |
|---|---|---|
QWebEnginePermission::State::Invalid | 0 | L'objet est dans un état non valide et toute tentative de modification de la permission décrite échouera. |
QWebEnginePermission::State::Ask | 1 | Soit la permission n'a pas été demandée auparavant, soit le permissionType() n'est pas persistant. |
QWebEnginePermission::State::Granted | 2 | La permission a déjà été accordée. |
QWebEnginePermission::State::Denied | 3 | La permission a déjà été refusée. |
Documentation sur les propriétés
[read-only] isValid : const bool
Indique si les tentatives de modification de l'état de l'autorisation seront couronnées de succès.
Un QWebEnginePermission invalide est soit
- une adresse dont l'adresse permissionType() n'est pas prise en charge ;
- Une personne dont l'adresse origin() n'est pas valide ;
- dont le profil associé a été détruit.
Fonctions d'accès :
| bool | isValid() const |
Voir également isPersistent().
[read-only] origin : const QUrl
Cette propriété contient l'URL de l'origine associée à l'autorisation.
L'origine d'un site web est la combinaison de son schéma, de son nom d'hôte et de son port. Les autorisations sont accordées par origine ; ainsi, si la page web https://www.example.com:12345/some/page.html demande une autorisation, celle-ci sera accordée à l'origine https://www.example.com:12345/.
Fonctions d'accès :
| QUrl | origin() const |
[read-only] permissionType : const PermissionType
Cette propriété contient le type de permission associé à cette permission.
Fonctions d'accès :
| QWebEnginePermission::PermissionType | permissionType() const |
[read-only] state : const State
Cette propriété indique l'état actuel de l'autorisation.
Si une autorisation pour les objets permissionType() et origin() spécifiés a déjà été accordée ou refusée, la valeur renvoyée est QWebEnginePermission::Granted, ou QWebEnginePermission::Denied, respectivement. Si l'autorisation est demandée pour la première fois, la valeur renvoyée est QWebEnginePermission::Ask. Si l'objet est dans un état non valide, la valeur renvoyée est QWebEnginePermission::Invalid.
Fonctions d'accès :
| QWebEnginePermission::State | state() const |
Voir également isValid() et isPersistent().
Documentation sur les fonctions membres
[invokable] void QWebEnginePermission::deny() const
Empêche l'origine associée d'accéder à la page permissionType demandée. Ne fait rien lorsque isValid() vaut false.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également grant(), reset() et isValid().
[invokable] void QWebEnginePermission::grant() const
Permet à l'origine associée d'accéder à l'adresse permissionType demandée. Ne fait rien lorsque isValid() vaut false.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également deny(), reset() et isValid().
[static invokable] bool QWebEnginePermission::isPersistent(QWebEnginePermission::PermissionType permissionType)
Indique si le site permissionType est persistant, ce qui signifie que l'état d'une autorisation sera mémorisé et que l'utilisateur ne sera pas interrogé la prochaine fois que le site web demandera la même autorisation.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[invokable] void QWebEnginePermission::reset() const
Supprime l'autorisation du stockage sous-jacent du profil. Par défaut, les autorisations sont stockées sur le disque (sauf pour les profils "off-the-record", où les autorisations sont stockées en mémoire et détruites avec le profil). Cela signifie qu'une permission déjà accordée/refusée ne sera pas demandée deux fois, mais sera automatiquement accordée/refusée chaque fois qu'un site web la demandera. L'appel à reset() permet à la requête d'être affichée à nouveau la prochaine fois que le site web la demande.
Ne fait rien lorsque isValid() vaut false.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également grant(), deny(), isValid() et QWebEngineProfile::persistentPermissionsPolicy().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.