49 }, |
51 }, |
50 QWebEnginePage.Feature.MouseLock: { |
52 QWebEnginePage.Feature.MouseLock: { |
51 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [], |
53 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [], |
52 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [], |
54 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [], |
53 }, |
55 }, |
|
56 QWebEnginePage.Feature.DesktopVideoCapture: { |
|
57 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: |
|
58 [], |
|
59 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: |
|
60 [], |
|
61 }, |
|
62 QWebEnginePage.Feature.DesktopAudioVideoCapture: { |
|
63 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: |
|
64 [], |
|
65 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: |
|
66 [], |
|
67 }, |
54 } |
68 } |
55 try: |
69 with contextlib.suppress(AttributeError): |
56 # these are defined as of Qt 5.10.0/PyQt 5.10.0 |
|
57 self.__featurePermissions.update({ |
|
58 QWebEnginePage.Feature.DesktopVideoCapture: { |
|
59 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: |
|
60 [], |
|
61 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: |
|
62 [], |
|
63 }, |
|
64 QWebEnginePage.Feature.DesktopAudioVideoCapture: { |
|
65 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: |
|
66 [], |
|
67 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: |
|
68 [], |
|
69 }, |
|
70 }) |
|
71 except AttributeError: |
|
72 pass |
|
73 try: |
|
74 # this was re-added in Qt 5.13.0 |
70 # this was re-added in Qt 5.13.0 |
75 self.__featurePermissions[QWebEnginePage.Feature.Notifications] = { |
71 self.__featurePermissions[QWebEnginePage.Feature.Notifications] = { |
76 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [], |
72 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [], |
77 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [], |
73 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [], |
78 } |
74 } |
79 except AttributeError: |
|
80 pass |
|
81 |
75 |
82 self.__featurePermissionsKeys = { |
76 self.__featurePermissionsKeys = { |
83 (QWebEnginePage.Feature.Geolocation, |
77 (QWebEnginePage.Feature.Geolocation, |
84 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
78 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
85 "GeolocationGranted", |
79 "GeolocationGranted", |
108 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
102 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
109 "MouseLockGranted", |
103 "MouseLockGranted", |
110 (QWebEnginePage.Feature.MouseLock, |
104 (QWebEnginePage.Feature.MouseLock, |
111 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
105 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
112 "MouseLockDenied", |
106 "MouseLockDenied", |
|
107 (QWebEnginePage.Feature.DesktopVideoCapture, |
|
108 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
|
109 "DesktopVideoCaptureGranted", |
|
110 (QWebEnginePage.Feature.DesktopVideoCapture, |
|
111 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
|
112 "DesktopVideoCaptureDenied", |
|
113 (QWebEnginePage.Feature.DesktopAudioVideoCapture, |
|
114 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
|
115 "DesktopAudioVideoCaptureGranted", |
|
116 (QWebEnginePage.Feature.DesktopAudioVideoCapture, |
|
117 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
|
118 "DesktopAudioVideoCaptureDenied", |
113 } |
119 } |
114 try: |
120 with contextlib.suppress(AttributeError): |
115 # these are defined as of Qt 5.10.0/PyQt 5.10.0 |
|
116 self.__featurePermissionsKeys.update({ |
|
117 (QWebEnginePage.Feature.DesktopVideoCapture, |
|
118 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
|
119 "DesktopVideoCaptureGranted", |
|
120 (QWebEnginePage.Feature.DesktopVideoCapture, |
|
121 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
|
122 "DesktopVideoCaptureDenied", |
|
123 (QWebEnginePage.Feature.DesktopAudioVideoCapture, |
|
124 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
|
125 "DesktopAudioVideoCaptureGranted", |
|
126 (QWebEnginePage.Feature.DesktopAudioVideoCapture, |
|
127 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
|
128 "DesktopAudioVideoCaptureDenied", |
|
129 }) |
|
130 except AttributeError: |
|
131 pass |
|
132 try: |
|
133 # this was re-added in Qt 5.13.0 |
121 # this was re-added in Qt 5.13.0 |
134 self.__featurePermissionsKeys.update({ |
122 self.__featurePermissionsKeys.update({ |
135 (QWebEnginePage.Feature.Notifications, |
123 (QWebEnginePage.Feature.Notifications, |
136 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
124 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser): |
137 "NotificationsGranted", |
125 "NotificationsGranted", |
138 (QWebEnginePage.Feature.Notifications, |
126 (QWebEnginePage.Feature.Notifications, |
139 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
127 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser): |
140 "NotificationsDenied", |
128 "NotificationsDenied", |
141 }) |
129 }) |
142 except AttributeError: |
|
143 pass |
|
144 |
130 |
145 self.__loaded = False |
131 self.__loaded = False |
146 |
132 |
147 def requestFeaturePermission(self, page, origin, feature): |
133 def requestFeaturePermission(self, page, origin, feature): |
148 """ |
134 """ |