Sur cette page

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

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 :

  1. Un site web demande une autorisation spécifique, ce qui déclenche le signal QWebEnginePage::permissionRequested() ;
  2. Le gestionnaire du signal déclenche une invite demandant à l'utilisateur s'il souhaite accorder la permission ;
  3. 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 :

ConstanteValeurDescription de l'autorisation
QWebEnginePermission::PermissionType::MediaAudioCapture1Accès à un microphone ou à une autre source audio. Cette autorisation n' est pas permanente.
QWebEnginePermission::PermissionType::MediaVideoCapture2Accès à une webcam ou à une autre source vidéo. Cette autorisation n'est pas permanente.
QWebEnginePermission::PermissionType::MediaAudioVideoCapture3Combinaison de MediaAudioCapture et MediaVideoCapture. Cette autorisation n'est pas permanente.
QWebEnginePermission::PermissionType::DesktopVideoCapture4Accès au contenu de l'écran de l'utilisateur. Cette autorisation n'est pas permanente.
QWebEnginePermission::PermissionType::DesktopAudioVideoCapture5Accès au contenu de l'écran de l'utilisateur et à l'audio de l'application. Cette autorisation n 'est pas permanente.
QWebEnginePermission::PermissionType::MouseLock6Verrouiller le pointeur à l'intérieur d'un élément de la page web. Cette autorisation n'est pas permanente.
QWebEnginePermission::PermissionType::Notifications7Permet au site web d'envoyer des notifications à l'utilisateur. Cette autorisation est permanente.
QWebEnginePermission::PermissionType::Geolocation8Accès à l'emplacement physique de l'utilisateur. Cette autorisation est permanente.
QWebEnginePermission::PermissionType::ClipboardReadWrite9Accès au presse-papiers de l'utilisateur. Cette autorisation est permanente.
QWebEnginePermission::PermissionType::LocalFontsAccess10Accès aux polices installées sur la machine de l'utilisateur. Uniquement disponible sur les ordinateurs de bureau. Cette autorisation est persistante.
QWebEnginePermission::PermissionType::Unsupported0Type 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 :

ConstanteValeurDescription de l'état de l'objet
QWebEnginePermission::State::Invalid0L'objet est dans un état non valide et toute tentative de modification de la permission décrite échouera.
QWebEnginePermission::State::Ask1Soit la permission n'a pas été demandée auparavant, soit le permissionType() n'est pas persistant.
QWebEnginePermission::State::Granted2La permission a déjà été accordée.
QWebEnginePermission::State::Denied3La 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.