diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-03-29 11:56:45 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-04-05 11:32:26 +0200 |
| commit | cb8df7307868011a8a50d15b999cf6e8e57de782 (patch) | |
| tree | 13fa6bdb8c52c7d078453a67db34384f4eee822c /examples/webenginewidgets/simplebrowser/webpage.py | |
| parent | afe276ae9dc45255dade87110284ff7d6371c419 (diff) | |
Port the simple widgets browser
Task-number: PYSIDE-2206
Change-Id: I06173fc74d20e3d508a76200e6733e1cfcf6b35a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/webpage.py')
| -rw-r--r-- | examples/webenginewidgets/simplebrowser/webpage.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/webenginewidgets/simplebrowser/webpage.py b/examples/webenginewidgets/simplebrowser/webpage.py new file mode 100644 index 000000000..2f2800a17 --- /dev/null +++ b/examples/webenginewidgets/simplebrowser/webpage.py @@ -0,0 +1,29 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from functools import partial + +from PySide6.QtWebEngineCore import QWebEnginePage, QWebEngineCertificateError +from PySide6.QtCore import QTimer, Signal + + +class WebPage(QWebEnginePage): + + create_certificate_error_dialog = Signal(QWebEngineCertificateError) + + def __init__(self, profile, parent): + super().__init__(profile, parent) + + self.selectClientCertificate.connect(self.handle_select_client_certificate) + self.certificateError.connect(self.handle_certificate_error) + + def _emit_create_certificate_error_dialog(self, error): + self.create_certificate_error_dialog.emit(error) + + def handle_certificate_error(self, error): + error.defer() + QTimer.singleShot(0, partial(self._emit_create_certificate_error_dialog, error)) + + def handle_select_client_certificate(self, selection): + # Just select one. + selection.select(selection.certificates()[0]) |
