eric6/WebBrowser/FeaturePermissions/FeaturePermissionManager.py

changeset 8143
2c730d5fd177
parent 7923
91e843545d9a
child 8218
7c09585bd960
equal deleted inserted replaced
8141:27f636beebad 8143:2c730d5fd177
29 @type QObject 29 @type QObject
30 """ 30 """
31 super(FeaturePermissionManager, self).__init__(parent) 31 super(FeaturePermissionManager, self).__init__(parent)
32 32
33 self.__featurePermissions = { 33 self.__featurePermissions = {
34 QWebEnginePage.Geolocation: { 34 QWebEnginePage.Feature.Geolocation: {
35 QWebEnginePage.PermissionGrantedByUser: [], 35 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
36 QWebEnginePage.PermissionDeniedByUser: [], 36 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
37 }, 37 },
38 QWebEnginePage.MediaAudioCapture: { 38 QWebEnginePage.Feature.MediaAudioCapture: {
39 QWebEnginePage.PermissionGrantedByUser: [], 39 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
40 QWebEnginePage.PermissionDeniedByUser: [], 40 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
41 }, 41 },
42 QWebEnginePage.MediaVideoCapture: { 42 QWebEnginePage.Feature.MediaVideoCapture: {
43 QWebEnginePage.PermissionGrantedByUser: [], 43 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
44 QWebEnginePage.PermissionDeniedByUser: [], 44 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
45 }, 45 },
46 QWebEnginePage.MediaAudioVideoCapture: { 46 QWebEnginePage.Feature.MediaAudioVideoCapture: {
47 QWebEnginePage.PermissionGrantedByUser: [], 47 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
48 QWebEnginePage.PermissionDeniedByUser: [], 48 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
49 }, 49 },
50 QWebEnginePage.MouseLock: { 50 QWebEnginePage.Feature.MouseLock: {
51 QWebEnginePage.PermissionGrantedByUser: [], 51 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
52 QWebEnginePage.PermissionDeniedByUser: [], 52 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
53 }, 53 },
54 } 54 }
55 try: 55 try:
56 # these are defined as of Qt 5.10.0/PyQt 5.10.0 56 # these are defined as of Qt 5.10.0/PyQt 5.10.0
57 self.__featurePermissions.update({ 57 self.__featurePermissions.update({
58 QWebEnginePage.DesktopVideoCapture: { 58 QWebEnginePage.Feature.DesktopVideoCapture: {
59 QWebEnginePage.PermissionGrantedByUser: [], 59 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser:
60 QWebEnginePage.PermissionDeniedByUser: [], 60 [],
61 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser:
62 [],
61 }, 63 },
62 QWebEnginePage.DesktopAudioVideoCapture: { 64 QWebEnginePage.Feature.DesktopAudioVideoCapture: {
63 QWebEnginePage.PermissionGrantedByUser: [], 65 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser:
64 QWebEnginePage.PermissionDeniedByUser: [], 66 [],
67 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser:
68 [],
65 }, 69 },
66 }) 70 })
67 except AttributeError: 71 except AttributeError:
68 pass 72 pass
69 try: 73 try:
70 # this was re-added in Qt 5.13.0 74 # this was re-added in Qt 5.13.0
71 self.__featurePermissions[QWebEnginePage.Notifications] = { 75 self.__featurePermissions[QWebEnginePage.Feature.Notifications] = {
72 QWebEnginePage.PermissionGrantedByUser: [], 76 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
73 QWebEnginePage.PermissionDeniedByUser: [], 77 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
74 } 78 }
75 except AttributeError: 79 except AttributeError:
76 pass 80 pass
77 81
78 self.__featurePermissionsKeys = { 82 self.__featurePermissionsKeys = {
79 (QWebEnginePage.Geolocation, 83 (QWebEnginePage.Feature.Geolocation,
80 QWebEnginePage.PermissionGrantedByUser): 84 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
81 "GeolocationGranted", 85 "GeolocationGranted",
82 (QWebEnginePage.Geolocation, 86 (QWebEnginePage.Feature.Geolocation,
83 QWebEnginePage.PermissionDeniedByUser): 87 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
84 "GeolocationDenied", 88 "GeolocationDenied",
85 (QWebEnginePage.MediaAudioCapture, 89 (QWebEnginePage.Feature.MediaAudioCapture,
86 QWebEnginePage.PermissionGrantedByUser): 90 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
87 "MediaAudioCaptureGranted", 91 "MediaAudioCaptureGranted",
88 (QWebEnginePage.MediaAudioCapture, 92 (QWebEnginePage.Feature.MediaAudioCapture,
89 QWebEnginePage.PermissionDeniedByUser): 93 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
90 "MediaAudioCaptureDenied", 94 "MediaAudioCaptureDenied",
91 (QWebEnginePage.MediaVideoCapture, 95 (QWebEnginePage.Feature.MediaVideoCapture,
92 QWebEnginePage.PermissionGrantedByUser): 96 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
93 "MediaVideoCaptureGranted", 97 "MediaVideoCaptureGranted",
94 (QWebEnginePage.MediaVideoCapture, 98 (QWebEnginePage.Feature.MediaVideoCapture,
95 QWebEnginePage.PermissionDeniedByUser): 99 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
96 "MediaVideoCaptureDenied", 100 "MediaVideoCaptureDenied",
97 (QWebEnginePage.MediaAudioVideoCapture, 101 (QWebEnginePage.Feature.MediaAudioVideoCapture,
98 QWebEnginePage.PermissionGrantedByUser): 102 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
99 "MediaAudioVideoCaptureGranted", 103 "MediaAudioVideoCaptureGranted",
100 (QWebEnginePage.MediaAudioVideoCapture, 104 (QWebEnginePage.Feature.MediaAudioVideoCapture,
101 QWebEnginePage.PermissionDeniedByUser): 105 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
102 "MediaAudioVideoCaptureDenied", 106 "MediaAudioVideoCaptureDenied",
103 (QWebEnginePage.MouseLock, 107 (QWebEnginePage.Feature.MouseLock,
104 QWebEnginePage.PermissionGrantedByUser): 108 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
105 "MouseLockGranted", 109 "MouseLockGranted",
106 (QWebEnginePage.MouseLock, 110 (QWebEnginePage.Feature.MouseLock,
107 QWebEnginePage.PermissionDeniedByUser): 111 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
108 "MouseLockDenied", 112 "MouseLockDenied",
109 } 113 }
110 try: 114 try:
111 # these are defined as of Qt 5.10.0/PyQt 5.10.0 115 # these are defined as of Qt 5.10.0/PyQt 5.10.0
112 self.__featurePermissionsKeys.update({ 116 self.__featurePermissionsKeys.update({
113 (QWebEnginePage.DesktopVideoCapture, 117 (QWebEnginePage.Feature.DesktopVideoCapture,
114 QWebEnginePage.PermissionGrantedByUser): 118 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
115 "DesktopVideoCaptureGranted", 119 "DesktopVideoCaptureGranted",
116 (QWebEnginePage.DesktopVideoCapture, 120 (QWebEnginePage.Feature.DesktopVideoCapture,
117 QWebEnginePage.PermissionDeniedByUser): 121 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
118 "DesktopVideoCaptureDenied", 122 "DesktopVideoCaptureDenied",
119 (QWebEnginePage.DesktopAudioVideoCapture, 123 (QWebEnginePage.Feature.DesktopAudioVideoCapture,
120 QWebEnginePage.PermissionGrantedByUser): 124 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
121 "DesktopAudioVideoCaptureGranted", 125 "DesktopAudioVideoCaptureGranted",
122 (QWebEnginePage.DesktopAudioVideoCapture, 126 (QWebEnginePage.Feature.DesktopAudioVideoCapture,
123 QWebEnginePage.PermissionDeniedByUser): 127 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
124 "DesktopAudioVideoCaptureDenied", 128 "DesktopAudioVideoCaptureDenied",
125 }) 129 })
126 except AttributeError: 130 except AttributeError:
127 pass 131 pass
128 try: 132 try:
129 # this was re-added in Qt 5.13.0 133 # this was re-added in Qt 5.13.0
130 self.__featurePermissionsKeys.update({ 134 self.__featurePermissionsKeys.update({
131 (QWebEnginePage.Notifications, 135 (QWebEnginePage.Feature.Notifications,
132 QWebEnginePage.PermissionGrantedByUser): 136 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
133 "NotificationsGranted", 137 "NotificationsGranted",
134 (QWebEnginePage.Notifications, 138 (QWebEnginePage.Feature.Notifications,
135 QWebEnginePage.PermissionDeniedByUser): 139 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
136 "NotificationsDenied", 140 "NotificationsDenied",
137 }) 141 })
138 except AttributeError: 142 except AttributeError:
139 pass 143 pass
140 144
231 if not self.__loaded: 235 if not self.__loaded:
232 self.__loadSettings() 236 self.__loadSettings()
233 237
234 from .FeaturePermissionsDialog import FeaturePermissionsDialog 238 from .FeaturePermissionsDialog import FeaturePermissionsDialog
235 dlg = FeaturePermissionsDialog(self.__featurePermissions) 239 dlg = FeaturePermissionsDialog(self.__featurePermissions)
236 if dlg.exec() == QDialog.Accepted: 240 if dlg.exec() == QDialog.DialogCode.Accepted:
237 newFeaturePermissions = dlg.getData() 241 newFeaturePermissions = dlg.getData()
238 self.__featurePermissions = newFeaturePermissions 242 self.__featurePermissions = newFeaturePermissions
239 self.__saveSettings() 243 self.__saveSettings()

eric ide

mercurial