24 from PyQt6.QtWebChannel import QWebChannel |
24 from PyQt6.QtWebChannel import QWebChannel |
25 from PyQt6.QtWebEngineCore import QWebEnginePage, QWebEngineScript, QWebEngineSettings |
25 from PyQt6.QtWebEngineCore import QWebEnginePage, QWebEngineScript, QWebEngineSettings |
26 |
26 |
27 from eric7 import EricUtilities, Preferences |
27 from eric7 import EricUtilities, Preferences |
28 from eric7.EricWidgets import EricMessageBox |
28 from eric7.EricWidgets import EricMessageBox |
|
29 from eric7.SystemUtilities import QtUtilities |
29 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
30 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
30 from eric7.SystemUtilities import QtUtilities |
|
31 |
31 |
32 from .JavaScript.ExternalJsObject import ExternalJsObject |
32 from .JavaScript.ExternalJsObject import ExternalJsObject |
33 from .Tools import Scripts |
33 from .Tools import Scripts |
34 from .Tools.WebHitTestResult import WebHitTestResult |
34 from .Tools.WebHitTestResult import WebHitTestResult |
35 |
35 |
71 printPageRequested = pyqtSignal() |
71 printPageRequested = pyqtSignal() |
72 navigationRequestAccepted = pyqtSignal(QUrl, QWebEnginePage.NavigationType, bool) |
72 navigationRequestAccepted = pyqtSignal(QUrl, QWebEnginePage.NavigationType, bool) |
73 |
73 |
74 sslConfigurationChanged = pyqtSignal() |
74 sslConfigurationChanged = pyqtSignal() |
75 |
75 |
76 if QtUtilities.qVersionTuple() >= (6, 8, 0): |
76 if QtUtilities.qVersionTuple() >= (6, 8, 0): # noqa: Y108 |
77 PermissionTypeQuestions = { |
77 PermissionTypeQuestions = { |
78 QWebEnginePermission.PermissionType.Geolocation: QCoreApplication.translate( |
78 QWebEnginePermission.PermissionType.Geolocation: QCoreApplication.translate( |
79 "WebBrowserPage", |
79 "WebBrowserPage", |
80 "<p>Allow <b>{0}</b> to access your location information?</p>", |
80 "<p>Allow <b>{0}</b> to access your location information?</p>", |
81 ), |
81 ), |
82 QWebEnginePermission.PermissionType.MediaAudioCapture: QCoreApplication.translate( |
82 QWebEnginePermission.PermissionType.MediaAudioCapture: ( |
83 "WebBrowserPage", |
83 QCoreApplication.translate( |
84 "<p>Allow <b>{0}</b> to access your microphone?</p>", |
84 "WebBrowserPage", |
85 ), |
85 "<p>Allow <b>{0}</b> to access your microphone?</p>", |
86 QWebEnginePermission.PermissionType.MediaVideoCapture: QCoreApplication.translate( |
86 ) |
87 "WebBrowserPage", |
87 ), |
88 "<p>Allow <b>{0}</b> to access your webcam?</p>", |
88 QWebEnginePermission.PermissionType.MediaVideoCapture: ( |
89 ), |
89 QCoreApplication.translate( |
90 QWebEnginePermission.PermissionType.MediaAudioVideoCapture: QCoreApplication.translate( |
90 "WebBrowserPage", |
91 "WebBrowserPage", |
91 "<p>Allow <b>{0}</b> to access your webcam?</p>", |
92 "<p>Allow <b>{0}</b> to access your microphone and webcam?</p>", |
92 ) |
|
93 ), |
|
94 QWebEnginePermission.PermissionType.MediaAudioVideoCapture: ( |
|
95 QCoreApplication.translate( |
|
96 "WebBrowserPage", |
|
97 "<p>Allow <b>{0}</b> to access your microphone and webcam?</p>", |
|
98 ) |
93 ), |
99 ), |
94 QWebEnginePermission.PermissionType.MouseLock: QCoreApplication.translate( |
100 QWebEnginePermission.PermissionType.MouseLock: QCoreApplication.translate( |
95 "WebBrowserPage", |
101 "WebBrowserPage", |
96 "<p>Allow <b>{0}</b> to lock your mouse cursor?</p>", |
102 "<p>Allow <b>{0}</b> to lock your mouse cursor?</p>", |
97 ), |
103 ), |
98 QWebEnginePermission.PermissionType.DesktopVideoCapture: QCoreApplication.translate( |
104 QWebEnginePermission.PermissionType.DesktopVideoCapture: ( |
99 "WebBrowserPage", |
105 QCoreApplication.translate( |
100 "<p>Allow <b>{0}</b> to capture video of your desktop?</p>", |
106 "WebBrowserPage", |
101 ), |
107 "<p>Allow <b>{0}</b> to capture video of your desktop?</p>", |
102 QWebEnginePermission.PermissionType.DesktopAudioVideoCapture: QCoreApplication.translate( |
108 ) |
103 "WebBrowserPage", |
109 ), |
104 "<p>Allow <b>{0}</b> to capture audio and video of your desktop?</p>", |
110 QWebEnginePermission.PermissionType.DesktopAudioVideoCapture: ( |
105 ), |
111 QCoreApplication.translate( |
106 QWebEnginePermission.PermissionType.Notifications: QCoreApplication.translate( |
112 "WebBrowserPage", |
107 "WebBrowserPage", |
113 "<p>Allow <b>{0}</b> to capture audio and video of your" |
108 "<p>Allow <b>{0}</b> to show notifications on your desktop?</p>", |
114 " desktop?</p>", |
109 ), |
115 ) |
110 QWebEnginePermission.PermissionType.ClipboardReadWrite: QCoreApplication.translate( |
116 ), |
111 "WebBrowserPage", |
117 QWebEnginePermission.PermissionType.Notifications: ( |
112 "<p>Allow <b>{0}</b> to read from and write to the clipboard?</p>", |
118 QCoreApplication.translate( |
113 ), |
119 "WebBrowserPage", |
114 QWebEnginePermission.PermissionType.LocalFontsAccess: QCoreApplication.translate( |
120 "<p>Allow <b>{0}</b> to show notifications on your desktop?</p>", |
115 "WebBrowserPage", |
121 ) |
116 "<p>Allow <b>{0}</b> to access fonts stored on this machine?</p>", |
122 ), |
|
123 QWebEnginePermission.PermissionType.ClipboardReadWrite: ( |
|
124 QCoreApplication.translate( |
|
125 "WebBrowserPage", |
|
126 "<p>Allow <b>{0}</b> to read from and write to the clipboard?</p>", |
|
127 ) |
|
128 ), |
|
129 QWebEnginePermission.PermissionType.LocalFontsAccess: ( |
|
130 QCoreApplication.translate( |
|
131 "WebBrowserPage", |
|
132 "<p>Allow <b>{0}</b> to access fonts stored on this machine?</p>", |
|
133 ) |
117 ), |
134 ), |
118 } |
135 } |
119 else: |
136 else: |
120 PermissionTypeQuestions = {} |
137 PermissionTypeQuestions = {} |
121 |
138 |