webEnginePermission QML Value Type
Objet utilisé pour accéder et modifier l'état d'une autorisation unique accordée ou refusée à une URL d'origine spécifique. Plus d'informations...
| Import Statement: | import QtWebEngine |
| Since: | Qt 6.8 |
| In C++: | QWebEnginePermission |
Propriétés
- isValid : bool
- origin : url
- permissionType : enumeration
- state : enumeration
Méthodes
- void deny()
- void grant()
- void isPersistent(WebEnginePermission.PermissionType permissionType)
- void reset()
Description détaillée
Le schéma d'utilisation typique est le suivant :
- Un site web demande une fonctionnalité spécifique, ce qui déclenche le signal WebEngineView::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 WebEngineProfile::listAllPermissions() pour obtenir une liste des autorisations existantes associées à un profil, ou WebEngineProfile::queryPermission() pour obtenir un objet webEnginePermission pour une autorisation spécifique.
La propriété origin peut être utilisée pour demander à quelle origine la webEnginePermission est associée, tandis que la propriété permissionType décrit la fonctionnalité associé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/.
L'énumération permissionType décrit tous les types de permission que Qt WebEngine prend en charge. Seuls certains types de permission 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 WebEnginePermission::isPersistent().
Les permissions persistantes sont stockées dans le profil actif WebEngineProfile et leur durée de vie dépend de la valeur de WebEngineProfile::persistentPermissionsPolicy. Par défaut, les profils nommés stockent leurs permissions 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 n'interrogera pas l'utilisateur la prochaine fois qu'un site web la demandera ; 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 WebEngineView concerné navigue vers une autre URL ou soit détruit.
Vous pouvez vérifier si une WebEnginePermission est 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 WebEnginePermission::Invalid.
Voir aussi WebEngineView::permissionRequested, WebEngineProfile::queryPermission(), et WebEngineProfile::listAllPermissions().
Documentation sur les propriétés
isValid : bool [read-only]
Indique si les tentatives de modification de l'état de l'autorisation seront couronnées de succès.
Une adresse webEnginePermission non valide est soit
- Une adresse dont le permissionType n'est pas pris en charge ;
- Une personne dont le site permissionType n'est pas persistant et l'utilisateur a quitté la page web qui a déclenché la demande ;
- Une personne dont le site permissionType est persistant, mais dont le profil associé a été détruit ;
- une personne dont le site origin n'est pas valide.
Voir aussi isPersistent.
origin : url [read-only]
L'URL de l'origine associée à la permission.
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/.
permissionType : enumeration [read-only]
Le type d'autorisation associé à cette autorisation.
| Constante | Description |
|---|---|
WebEnginePermission.MediaAudioCapture | Accès à un microphone ou à une autre source audio. Cette autorisation n' est pas persistante. |
WebEnginePermission.MediaVideoCapture | Accès à une webcam ou à une autre source vidéo. Cette autorisation n'est pas permanente. |
WebEnginePermission.MediaAudioVideoCapture | Combinaison de MediaAudioCapture et MediaVideoCapture. Cette autorisation n'est pas permanente. |
WebEnginePermission.DesktopVideoCapture | Accès au contenu de l'écran de l'utilisateur. Cette autorisation n'est pas permanente. |
WebEnginePermission.DesktopAudioVideoCapture | Accès au contenu de l'écran de l'utilisateur et à l'audio de l'application. Cette autorisation n'est pas permanente. |
WebEnginePermission.Notifications | Permet au site web d'envoyer des notifications à l'utilisateur. Cette autorisation est permanente. |
WebEnginePermission.Geolocation | Accès à l'emplacement physique de l'utilisateur. Cette autorisation est permanente. |
WebEnginePermission.ClipboardReadWrite | Accès au presse-papiers de l'utilisateur. Cette autorisation est permanente. |
WebEnginePermission.LocalFontsAccess | Accès aux polices installées sur la machine de l'utilisateur. Uniquement disponible sur les ordinateurs de bureau. Cette autorisation est persistante. |
WebEnginePermission.Unsupported | Un type de fonctionnalité 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.
state : enumeration [read-only]
L'état actuel de la permission.
| Constante | Description de l'objet |
|---|---|
WebEnginePermission.Invalid | L'objet est dans un état non valide et toute tentative de modification de la permission décrite échouera. |
WebEnginePermission.Ask | Soit la permission n'a pas été demandée auparavant, soit le site permissionType n'est pas persistant. |
WebEnginePermission.Granted | La permission a déjà été accordée. |
WebEnginePermission.Denied | La permission a déjà été refusée. |
Si une autorisation pour les sites permissionType et origin spécifiés a déjà été accordée ou refusée, la valeur de retour est WebEnginePermission.Granted ou WebEnginePermission.Denied, respectivement. Si c'est la première fois que la permission est demandée, la valeur de retour est WebEnginePermission.Ask. Si l'objet est dans un état non valide, la valeur renvoyée est WebEnginePermission.Invalid.
Voir également isValid et isPersistent.
Documentation de la méthode
void deny()
Empêche l'origine associée d'accéder à la fonctionnalité demandée. Ne fait rien lorsque isValid vaut false.
Voir aussi grant, reset, et isValid.
void grant()
Permet à l'origine associée d'accéder à la page demandée. Ne fait rien lorsque isValid vaut false.
Voir aussi deny, reset, et isValid.
void isPersistent(WebEnginePermission.PermissionType permissionType)
Indique si l'adresse permissionType est persistante, 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.
void reset()
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.
Voir aussi grant, deny, isValid, et WebEngineProfile::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.