QWebEnginePermission Class
QWebEnginePermission は、特定のオリジン URL に付与または拒否された単一のパーミッションにアクセスし、その状態を変更するために使用されるオブジェクトです。詳細...
ヘッダー | #include <QWebEnginePermission> |
CMake: QWebEnginePermission | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
以来: | Qt 6.8 |
QML では | webEnginePermission |
パブリックな型
enum class | PermissionType { MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, DesktopVideoCapture, DesktopAudioVideoCapture, …, Unsupported } |
enum class | State { Invalid, Ask, Granted, Denied } |
プロパティ
- isValid : const bool
- origin : const QUrl
- permissionType : const PermissionType
- state : const State
パブリック関数
void | deny() const |
void | grant() const |
bool | isValid() const |
QUrl | origin() const |
QWebEnginePermission::PermissionType | permissionType() const |
void | reset() const |
QWebEnginePermission::State | state() const |
静的パブリックメンバ
bool | isPersistent(QWebEnginePermission::PermissionType permissionType) |
詳細説明
典型的な使用パターンは以下の通り:
- ウェブサイトが特定の許可を要求し、QWebEnginePage::permissionRequested() シグナルをトリガーする;
- シグナルハンドラは、ユーザーに許可を与えるかどうかを尋ねるプロンプトをトリガーする;
- ユーザーが決定すると、アプリケーションはgrant ()またはdeny ()を呼び出す;
あるいは、既に許可されているパーミッションの変更に興味があるアプリケーションは、QWebEngineProfile::listAllPermissions() を使用してプロファイルに関連付けられた既存のパーミッションのリストを取得したり、QWebEngineProfile::queryPermission() を使用して特定のパーミッションの QWebEnginePermission オブジェクトを取得することができます。
origin() プロパティは、QWebEnginePermission がどのオリジンに関連付けられているかを問い合わせるために使用でき、permissionType() プロパティは要求されたパーミッションのタイプを記述します。Web サイトのオリジンは、スキーム、ホスト名、およびポートの組み合わせです。したがって、Web ページhttps://www.example.com:12345/some/page.html
がパーミッションを要求した場合、そのパーミッションはオリジンhttps://www.example.com:12345/
に付与されます。
QWebEnginePermission::PermissionType Qt がサポートするすべてのパーミッション・タイプについて説明します。いくつかのパーミッション・タイプだけが、ブラウジング・セッション間で記憶されます。永続的でないパーミッションは、ウェブサイトから要求されるたびにユーザーに問い合わせます。パーミッション・タイプが永続的かどうかは、静的メソッド () を使って実行時に確認することができます。WebEngine QWebEnginePermission::isPersistent
永続的なパーミッションは、アクティブなQWebEngineProfile 内に格納され、その有効期限はQWebEngineProfile::persistentPermissionsPolicy() の値に依存する。デフォルトでは、名前付きプロファイルはパーミッションをディスクに保存しますが、記録外のものはメモリに保存します(プロファイルが破棄されると破棄されます)。保存されたパーミッションは、次にウェブサイトがそれを要求したときにユーザーに問い合わせることはありません。代わりに、ユーザーが最初に選んだ解決策に応じて、自動的に許可または拒否されます。保存されたパーミッションを消去するには、reset()を呼び出します。
一方、永続的でないパーミッションは、関連するQWebEnginePage が別の URL へのナビゲーションを実行するか、破棄されるまでしか使用できません。
QWebEnginePermission が有効な状態にあるかどうかは、isValid() プロパティを使用して確認できます。無効なオブジェクトの場合、grant()、deny()、またはreset() を呼び出しても何も実行されませんが、state() を呼び出すと、常にQWebEnginePermission::Invalid が返されます。
QWebEnginePage::permissionRequested(),QWebEngineProfile::queryPermission(),QWebEngineProfile::listAllPermissions()も参照 。
メンバ型ドキュメント
enum class QWebEnginePermission::PermissionType
この列挙型は要求されたパーミッションのタイプを保持する:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePermission::PermissionType::MediaAudioCapture | 1 | マイク、または他のオーディオソースへのアクセス。このパーミッションは永続的ではない。 |
QWebEnginePermission::PermissionType::MediaVideoCapture | 2 | ウェブカメラ、または他のビデオソースへのアクセス。このパーミッションは永続的ではない。 |
QWebEnginePermission::PermissionType::MediaAudioVideoCapture | 3 | MediaAudioCaptureとMediaVideoCaptureの組み合わせ。このパーミッションは永続的ではない。 |
QWebEnginePermission::PermissionType::DesktopVideoCapture | 4 | ユーザーの画面のコンテンツへのアクセス。このパーミッションは永続的ではありません。 |
QWebEnginePermission::PermissionType::DesktopAudioVideoCapture | 5 | ユーザーの画面のコンテンツとアプリケーション・オーディオへのアクセス。このパーミッションは永続的ではありません。 |
QWebEnginePermission::PermissionType::MouseLock | 6 | Web ページ上の要素内のポインタをロックします。このパーミッションは永続的ではありません。 |
QWebEnginePermission::PermissionType::Notifications | 7 | Webサイトがユーザーに通知を送信することを許可します。このパーミッションは永続的です。 |
QWebEnginePermission::PermissionType::Geolocation | 8 | ユーザーの物理的な場所へのアクセスを許可します。このパーミッションは永続的です。 |
QWebEnginePermission::PermissionType::ClipboardReadWrite | 9 | ユーザーのクリップボードへのアクセスを許可します。このパーミッションは永続的です。 |
QWebEnginePermission::PermissionType::LocalFontsAccess | 10 | ユーザーのマシンにインストールされているフォントへのアクセス。デスクトップでのみ使用可能。このパーミッションは永続的です。 |
QWebEnginePermission::PermissionType::Unsupported | 0 | サポートされていない権限タイプ。 |
注: 永続的でないパーミッション・タイプは、基礎となるストレージによって決して記憶されないものであり、ウェブサイトがそれらを使用しようとするたびにパーミッション・リクエストがトリガーされます。
enum class QWebEnginePermission::State
この列挙型は、要求されたパーミッションの現在の状態を保持する:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePermission::State::Invalid | 0 | オブジェクトは無効な状態にあり、記述されたパーミッションを変更しようとすると失敗します。 |
QWebEnginePermission::State::Ask | 1 | パーミッションが以前に要求されていないか、permissionType() が永続的でない。 |
QWebEnginePermission::State::Granted | 2 | パーミッションは既に付与されています。 |
QWebEnginePermission::State::Denied | 3 | パーミッションはすでに拒否されています。 |
プロパティのドキュメント
[read-only]
isValid : const bool
パーミッションの状態を変更する試みが成功するかどうかを示す。
無効なQWebEnginePermission は以下のいずれかである:
- permissionType() がサポートされていないもの;
- origin() が無効なもの;
- 関連プロファイルが破棄されたもの。
アクセス関数:
bool | isValid() const |
isPersistent()も参照 。
[read-only]
origin : const QUrl
このプロパティは、パーミッションの関連するオリジンのURLを保持します。
Webサイトのオリジンは、スキーム、ホスト名、およびポートの組み合わせです。したがって、Web ページhttps://www.example.com:12345/some/page.html
が許可を要求した場合、その許可はオリジンhttps://www.example.com:12345/
に付与されます。
アクセス関数:
QUrl | origin() const |
[read-only]
permissionType : const PermissionType
このプロパティは、このパーミッションに関連付けられているパーミッションのタイプを保持する。
アクセス関数:
QWebEnginePermission::PermissionType | permissionType() const |
[read-only]
state : const State
このプロパティは、パーミッションの現在の状態を保持する。
指定されたpermissionType ()およびorigin ()に対するパーミッションがすでに許可または拒否されている場合、戻り値はそれぞれQWebEnginePermission::Granted 、またはQWebEnginePermission::Denied 。初めてパーミッションが要求された場合、返り値はQWebEnginePermission::Ask です。 オブジェクトが無効な状態の場合、返り値はQWebEnginePermission::Invalid です。
アクセス関数:
QWebEnginePermission::State | state() const |
isValid() およびisPersistent()も参照のこと 。
メンバ関数ドキュメント
[invokable]
void QWebEnginePermission::deny() const
関連するオリジンが要求されたpermissionType にアクセスするのを止める。isValid() が false と評価された場合は何もしません。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
grant()、reset()、isValid()も参照してください 。
[invokable]
void QWebEnginePermission::grant() const
関連するオリジンが要求されたpermissionType にアクセスできるようにします。isValid() が偽と評価された場合は何もしない。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
deny()、reset()、isValid()も参照して ください。
[static invokable]
bool QWebEnginePermission::isPersistent(QWebEnginePermission::PermissionType permissionType)
permissionType が永続的であるかどうかを返します。つまり、パーミッションの状態が記憶され、次回ウェブサイトが同じパーミッションを要求したときに、ユーザがクエリされないことを意味します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QWebEnginePermission::reset() const
プロファイルの基礎となるストレージからパーミッションを削除します。デフォルトでは、パーミッションはディスクに保存されます(off-the-recordプロファイルを除き、パーミッションはメモリに保存され、プロファイルとともに破棄されます)。つまり、すでに許可/拒否されているパーミッションが二度リクエストされることはなく、 ウェブサイトがリクエストするたびに自動的に許可/拒否されるということです。reset()を呼び出すと、次にWebサイトがそのクエリを要求したときに、そのクエリを再び表示できるようになります。
isValid() が false と評価された場合は、何も行いません。
注意: この関数はメタ・オブジェクト・システムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
grant()、deny()、isValid()、QWebEngineProfile::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.