eric7/WebBrowser/FeaturePermissions/FeaturePermissionManager.py

branch
eric7
changeset 8561
641304b46f08
parent 8553
10d31e5ce9e5
child 8637
394377638256
equal deleted inserted replaced
8558:396fc1508450 8561:641304b46f08
4 # 4 #
5 5
6 """ 6 """
7 Module implementing the feature permission manager object. 7 Module implementing the feature permission manager object.
8 """ 8 """
9
10 import contextlib
11 9
12 from PyQt6.QtCore import QObject 10 from PyQt6.QtCore import QObject
13 from PyQt6.QtWidgets import QDialog 11 from PyQt6.QtWidgets import QDialog
14 from PyQt6.QtWebEngineCore import QWebEnginePage 12 from PyQt6.QtWebEngineCore import QWebEnginePage
15 13
63 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: 61 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser:
64 [], 62 [],
65 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: 63 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser:
66 [], 64 [],
67 }, 65 },
66 QWebEnginePage.Feature.Notifications: {
67 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
68 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
69 }
68 } 70 }
69 with contextlib.suppress(AttributeError):
70 # this was re-added in Qt 5.13.0
71 self.__featurePermissions[QWebEnginePage.Feature.Notifications] = {
72 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
73 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
74 }
75 71
76 self.__featurePermissionsKeys = { 72 self.__featurePermissionsKeys = {
77 (QWebEnginePage.Feature.Geolocation, 73 (QWebEnginePage.Feature.Geolocation,
78 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): 74 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
79 "GeolocationGranted", 75 "GeolocationGranted",
114 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): 110 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
115 "DesktopAudioVideoCaptureGranted", 111 "DesktopAudioVideoCaptureGranted",
116 (QWebEnginePage.Feature.DesktopAudioVideoCapture, 112 (QWebEnginePage.Feature.DesktopAudioVideoCapture,
117 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): 113 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
118 "DesktopAudioVideoCaptureDenied", 114 "DesktopAudioVideoCaptureDenied",
115 (QWebEnginePage.Feature.Notifications,
116 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
117 "NotificationsGranted",
118 (QWebEnginePage.Feature.Notifications,
119 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
120 "NotificationsDenied",
119 } 121 }
120 with contextlib.suppress(AttributeError):
121 # this was re-added in Qt 5.13.0
122 self.__featurePermissionsKeys.update({
123 (QWebEnginePage.Feature.Notifications,
124 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
125 "NotificationsGranted",
126 (QWebEnginePage.Feature.Notifications,
127 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
128 "NotificationsDenied",
129 })
130 122
131 self.__loaded = False 123 self.__loaded = False
132 124
133 def requestFeaturePermission(self, page, origin, feature): 125 def requestFeaturePermission(self, page, origin, feature):
134 """ 126 """

eric ide

mercurial