webEnginePermission QML Value Type

特定のオリジンURLに許可または拒否された1つのパーミッションにアクセスし、その状態を変更するために使用されるオブジェクトです。詳細...

Import Statement: import QtWebEngine
Since: Qt 6.8
In C++: QWebEnginePermission

プロパティ

方法

詳細説明

典型的な使用パターンは以下の通り:

  1. ウェブサイトが特定の機能を要求し、WebEngineView::permissionRequested シグナルをトリガーする;
  2. シグナルハンドラは、ユーザーに許可を与えるかどうかを尋ねるプロンプトをトリガーする;
  3. ユーザーが決定すると、アプリケーションはgrant() またはdeny() を呼び出す;

また、既に許可されているパーミッションの変更に興味があるアプリケーションは、WebEngineProfile::listAllPermissions() を使用してプロファイルに関連付けられた既存のパーミッションのリストを取得したり、WebEngineProfile::queryPermission() を使用して特定のパーミッションの webEnginePermission オブジェクトを取得したりすることもできます。

origin プロパティは、webEnginePermission がどのオリジンに関連付けられているかをクエリするために使用でき、permissionType プロパティは関連する機能を説明します。Web サイトのオリジンは、スキーム、ホスト名、およびポートの組み合わせです。したがって、Web ページhttps://www.example.com:12345/some/page.html がパーミッションを要求した場合、そのパーミッションはオリジンhttps://www.example.com:12345/ に付与されます。

permissionType 列挙は、QtWebEngine がサポートするすべてのパーミッション・タイプを記述しています。いくつかのパーミッション・タイプのみが、ブラウジング・セッション間で記憶されます。永続的でないパーミッションは、ウェブサイトから要求されるたびにユーザーに問い合わせます。静的メソッド WebEnginePermission::isPersistent() を使用して、実行時にパーミッション・タイプが永続的かどうかを確認できます。

永続的なパーミッションはアクティブなWebEngineProfile 内に保存され、その有効期間はWebEngineProfile::persistentPermissionsPolicy の値に依存します。 デフォルトでは、名前付きプロファイルはパーミッションをディスクに保存しますが、記録外のものはメモリに保存します(プロファイルが破棄されると破棄されます)。保存されたパーミッションは、次にウェブサイトがそれを要求したときに、ユーザーに問い合わせることはありません。その代わりに、ユーザーが最初に選んだ解決策に応じて、自動的に許可または拒否されます。保存されたパーミッションを消去するには、reset()を呼び出します。

一方、永続的でないパーミッションは、関連するWebEngineView が別の URL へのナビゲーションを実行するか、破棄されるまでしか使用できません。

WebEnginePermission が有効な状態にあるかどうかは、isValid プロパティで確認できます。無効なオブジェクトの場合、grant()、deny()、reset() を呼び出しても何も実行されず、state を呼び出すと常に WebEnginePermission::Invalid が返されます。

WebEngineView::permissionRequestedWebEngineProfile::queryPermission()、WebEngineProfile::listAllPermissions()も参照して ください。

プロパティの説明

isValid : bool [read-only]

パーミッションの状態を変更しようとする試みが成功するかどうかを示します。

無効なwebEnginePermission は以下のいずれかである:

  • permissionType がサポートされていないもの;
  • permissionType が永続的でなく、ユーザがリクエストのトリガとなった Web ページから移動した;
  • permissionType が永続的であるが、関連するプロファイルが破棄されている;
  • origin が無効なもの。

isPersistentも参照のこと


origin : url [read-only]

パーミッションの関連するオリジンのURL。

ウェブサイトのオリジンは、スキーム、ホスト名、ポートの組み合わせです。したがって、Web ページhttps://www.example.com:12345/some/page.html が許可を要求した場合、その許可はオリジンhttps://www.example.com:12345/ に付与されます。


permissionType : enumeration [read-only]

このパーミッションに関連するパーミッションのタイプ。

定数説明
WebEnginePermission.MediaAudioCaptureマイク、または他のオーディオソースへのアクセス。このパーミッションは永続的ではない
WebEnginePermission.MediaVideoCaptureウェブカメラ、または他のビデオソースへのアクセス。このパーミッションは永続的ではない
WebEnginePermission.MediaAudioVideoCaptureMediaAudioCaptureと MediaVideoCaptureの組み合わせ。このパーミッションは永続的ではない
WebEnginePermission.DesktopVideoCaptureユーザーの画面のコンテンツへのアクセス。このパーミッションは永続的ではありません。
WebEnginePermission.DesktopAudioVideoCaptureユーザーの画面のコンテンツとアプリケーション・オーディオへのアクセス。このパーミッションは永続的ではありません。
WebEnginePermission.Notificationsウェブサイトがユーザーに通知を送信することを許可します。このパーミッションは永続的です。
WebEnginePermission.Geolocationユーザーの物理的な場所へのアクセス。このパーミッションは永続的です。
WebEnginePermission.ClipboardReadWriteユーザーのクリップボードへのアクセスを許可します。このパーミッションは永続的です。
WebEnginePermission.LocalFontsAccessユーザーのマシンにインストールされているフォントへのアクセス。デスクトップでのみ使用可能。この権限は永続的です。
WebEnginePermission.Unsupportedサポートされていない機能タイプ。

注: 永続的でないパーミッション・タイプは、基礎となるストレージによって決して記憶されないものであり、ウェブサイトがそれらを使用しようとするたびにパーミッション要求がトリガーされます。


state : enumeration [read-only]

パーミッションの現在の状態。

定数説明
WebEnginePermission.Invalidオブジェクトは無効な状態にあり、記述されたパーミッションを変更しようとすると失敗します。
WebEnginePermission.Askパーミッションが以前にリクエストされていないか、permissionType が永続的でない。
WebEnginePermission.Grantedパーミッションは既に付与されています。
WebEnginePermission.Deniedパーミッションはすでに拒否されています。

指定されたpermissionType およびorigin に対するパーミッションがすでに付与または拒否されている場合、戻り値はそれぞれ WebEnginePermission.Granted、WebEnginePermission.Denied となります。初めてパーミッションが要求された場合は、WebEnginePermission.Ask が返される。オブジェクトが無効な状態の場合、戻り値は WebEnginePermission.Invalid です。

isValid およびisPersistentも参照してください


メソッドの説明

void deny()

関連するオリジンが要求された機能にアクセスするのを停止します。isValid が false と評価された場合は何も行いません。

grantreset 、およびisValidも参照して ください。


void grant()

関連付け ら れてい る 原点が要求 さ れてい る 機能へア ク セ スす る こ と を許可 し ます。isValid が false に評価 さ れた と き は何も し ません。

denyreset 、およびisValidも参照


void isPersistent(WebEnginePermission.PermissionType permissionType)

permissionType永続的であるかどうかを返します。これは、パーミッションの状態が記憶され、次回ウェブサイトが同じパーミッションを要求したときに、ユーザーにクエリが実行されないことを意味します。


void reset()

プロファイルの基礎となるストレージからパーミッションを削除します。デフォルトでは、パーミッションはディスクに保存されます(off-the-recordプロファイルを除き、パーミッションはメモリに保存され、プロファイルとともに破棄されます)。つまり、すでに許可/拒否されているパーミッションが二度リクエストされることはなく、 ウェブサイトがリクエストするたびに自動的に許可/拒否されるということです。reset()を呼び出すと、次にWebサイトがそのクエリを要求したときに、そのクエリを再び表示できるようになります。

isValid が false と評価された場合は、何も行いません。

grantdenyisValidWebEngineProfile::persistentPermissionsPolicyも参照


© 2025 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.