aboutsummaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/simplebrowser/webpage.py
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-03-29 11:56:45 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-04-05 11:32:26 +0200
commitcb8df7307868011a8a50d15b999cf6e8e57de782 (patch)
tree13fa6bdb8c52c7d078453a67db34384f4eee822c /examples/webenginewidgets/simplebrowser/webpage.py
parentafe276ae9dc45255dade87110284ff7d6371c419 (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.py29
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])