Tue, 03 Jul 2018 19:08:29 +0200
Webbrowser: started upgrading to Qt 5.11.
--- a/Preferences/ConfigurationPages/WebBrowserPage.py Tue Jul 03 19:07:13 2018 +0200 +++ b/Preferences/ConfigurationPages/WebBrowserPage.py Tue Jul 03 19:08:29 2018 +0200 @@ -85,6 +85,7 @@ "AllowWindowActivationFromJavaScript")) except KeyError: self.jsActivateWindowsCheckBox.setEnabled(False) + # TODO: add settings for Qt 5.11+ self.jsClipboardCheckBox.setChecked( Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) self.pluginsCheckBox.setChecked(
--- a/Preferences/__init__.py Tue Jul 03 19:07:13 2018 +0200 +++ b/Preferences/__init__.py Tue Jul 03 19:08:29 2018 +0200 @@ -1291,6 +1291,21 @@ }) except AttributeError: pass + try: + # Qt 5.11+ + cls.webBrowserDefaults.update({ + "PlaybackRequiresUserGesture": + webEngineSettings.testAttribute( + QWebEngineSettings.PlaybackRequiresUserGesture), + "JavascriptCanPaste": + webEngineSettings.testAttribute( + QWebEngineSettings.JavascriptCanPaste), + "WebRTCPublicInterfacesOnly": + webEngineSettings.testAttribute( + QWebEngineSettings.WebRTCPublicInterfacesOnly), + }) + except AttributeError: + pass cls.webEngineSettingsIntitialized = True @@ -3044,6 +3059,8 @@ "AllowGeolocationOnInsecureOrigins", "AllowWindowActivationFromJavaScript", "ShowScrollBars", "DownloadManagerAutoOpen", "DownloadManagerAutoClose", + "PlaybackRequiresUserGesture", "JavascriptCanPaste", + "WebRTCPublicInterfacesOnly", ]: return toBool(prefClass.settings.value( "WebBrowser/" + key, prefClass.webBrowserDefaults[key]))
--- a/WebBrowser/StatusBar/JavaScriptSettingsDialog.py Tue Jul 03 19:07:13 2018 +0200 +++ b/WebBrowser/StatusBar/JavaScriptSettingsDialog.py Tue Jul 03 19:08:29 2018 +0200 @@ -45,6 +45,7 @@ "AllowWindowActivationFromJavaScript")) except KeyError: self.jsActivateWindowsCheckBox.setEnabled(False) + # TODO: add JavascriptCanPaste as of Qt 5.11+ self.jsClipboardCheckBox.setChecked( Preferences.getWebBrowser("JavaScriptCanAccessClipboard")) @@ -66,6 +67,7 @@ Preferences.setWebBrowser( "AllowWindowActivationFromJavaScript", self.jsActivateWindowsCheckBox.isChecked()) + # TODO: add JavascriptCanPaste as of Qt 5.11+ Preferences.setWebBrowser( "JavaScriptCanAccessClipboard", self.jsClipboardCheckBox.isChecked())
--- a/WebBrowser/WebBrowserPage.py Tue Jul 03 19:07:13 2018 +0200 +++ b/WebBrowser/WebBrowserPage.py Tue Jul 03 19:08:29 2018 +0200 @@ -46,6 +46,8 @@ @signal navigationRequestAccepted(url, navigation type, main frame) emitted to signal an accepted navigation request """ + # TODO: add support for the 'quotaRequested' signal (Qt 5.11) + # TODO: add support for the 'registerProtocolHandlerRequested' signal (Qt 5.11) if qVersionTuple() >= (5, 7, 0): SafeJsWorld = QWebEngineScript.ApplicationWorld # SafeJsWorld = QWebEngineScript.MainWorld
--- a/WebBrowser/WebBrowserWindow.py Tue Jul 03 19:07:13 2018 +0200 +++ b/WebBrowser/WebBrowserWindow.py Tue Jul 03 19:08:29 2018 +0200 @@ -666,6 +666,23 @@ Preferences.getWebBrowser("ShowScrollBars")) except (AttributeError, KeyError): pass + + try: + # Qt 5.11 + settings.setAttribute( + QWebEngineSettings.PlaybackRequiresUserGesture, + Preferences.getWebBrowser( + "PlaybackRequiresUserGesture")) + settings.setAttribute( + QWebEngineSettings.JavascriptCanPaste, + Preferences.getWebBrowser( + "JavascriptCanPaste")) + settings.setAttribute( + QWebEngineSettings.WebRTCPublicInterfacesOnly, + Preferences.getWebBrowser( + "WebRTCPublicInterfacesOnly")) + except (AttributeError, KeyError): + pass def __initActions(self): """