src/eric7/WebBrowser/WebBrowserWindow.py

branch
eric7
changeset 11103
382e5c9a43f0
parent 11102
ceabb30155b8
child 11104
683af9c45c5b
diff -r ceabb30155b8 -r 382e5c9a43f0 src/eric7/WebBrowser/WebBrowserWindow.py
--- a/src/eric7/WebBrowser/WebBrowserWindow.py	Wed Dec 18 16:52:16 2024 +0100
+++ b/src/eric7/WebBrowser/WebBrowserWindow.py	Wed Dec 18 17:20:28 2024 +0100
@@ -4176,6 +4176,7 @@
         """
         from .WebBrowserClearPrivateDataDialog import WebBrowserClearPrivateDataDialog
 
+        # TODO: add entry "Website Permissions"
         dlg = WebBrowserClearPrivateDataDialog(parent=self)
         if dlg.exec() == QDialog.DialogCode.Accepted:
             # browsing history, search history, favicons, disk cache, cookies,
@@ -4220,6 +4221,7 @@
                 ZoomManager.instance().clear()
             if sslExceptions:
                 self.networkManager().clearSslExceptions()
+            # TODO: add entry "Website Permissions"
 
     @pyqtSlot()
     def __showEnginesConfigurationDialog(self):
@@ -5439,6 +5441,13 @@
                     cls._webProfile.setPushServiceEnabled(
                         Preferences.getWebBrowser("PushServiceEnabled")
                     )
+                with contextlib.suppress(AttributeError):
+                    # Qt 6.8+
+                    cls._webProfile.setPersistentPermissionsPolicy(
+                        QWebEngineProfile.PersistentPermissionsPolicy.StoreInMemory
+                        if Preferences.getWebBrowser("NoPersistentPermissions")
+                        else QWebEngineProfile.PersistentPermissionsPolicy.StoreOnDisk
+                    )
 
             with contextlib.suppress(AttributeError):
                 cls._webProfile.setSpellCheckEnabled(
@@ -5448,9 +5457,6 @@
                     Preferences.getWebBrowser("SpellCheckLanguages")
                 )
 
-            # TODO: setPersistentPermissionPolicy for Qt 6.8+
-            #       setting key: "NoPersistentPermissions" for non-private only
-
             # configure notifications
             cls._webProfile.setNotificationPresenter(cls.__showWebNotification)
 

eric ide

mercurial