src/eric7/WebBrowser/WebBrowserPage.py

branch
eric7
changeset 11105
ec86fc991d28
parent 11102
ceabb30155b8
child 11148
15e30f0c76a8
equal deleted inserted replaced
11104:683af9c45c5b 11105:ec86fc991d28
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
381 yesDefault=True, 398 yesDefault=True,
382 ): 399 ):
383 permission.grant() 400 permission.grant()
384 else: 401 else:
385 permission.deny() 402 permission.deny()
386
387 403
388 def execJavaScript( 404 def execJavaScript(
389 self, script, worldId=QWebEngineScript.ScriptWorldId.MainWorld, timeout=500 405 self, script, worldId=QWebEngineScript.ScriptWorldId.MainWorld, timeout=500
390 ): 406 ):
391 """ 407 """

eric ide

mercurial