--- a/WebBrowser/WebBrowserWindow.py Fri Jun 17 19:38:14 2016 +0200 +++ b/WebBrowser/WebBrowserWindow.py Sat Jun 18 17:17:05 2016 +0200 @@ -19,8 +19,7 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, \ QUrl, QTextCodec, QProcess, QEvent -from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics, \ - QPalette +from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QDockWidget, \ QComboBox, QLabel, QSplitter, QMenu, QToolButton, QLineEdit, \ QApplication, QWhatsThis, QDialog, QHBoxLayout, QProgressBar, QAction, \ @@ -2289,6 +2288,8 @@ """ Private slot called to add the displayed file to the bookmarks. """ + from .WebBrowserPage import WebBrowserPage + view = self.currentBrowser() view.addBookmark() urlStr = bytes(view.url().toEncoded()).decode() @@ -2297,6 +2298,7 @@ script = Scripts.getAllMetaAttributes() view.page().runJavaScript( script, + WebBrowserPage.SafeJsWorld, lambda res: self.__addBookmarkCallback(urlStr, title, res)) def __addBookmarkCallback(self, url, title, res): @@ -2351,7 +2353,9 @@ """ Public slot to bookmark all open tabs. """ + from .WebBrowserPage import WebBrowserPage from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog + dlg = AddBookmarkDialog() dlg.setFolder(True) dlg.setTitle(self.tr("Saved Tabs")) @@ -2368,6 +2372,7 @@ script = Scripts.getAllMetaAttributes() view.page().runJavaScript( script, + WebBrowserPage.SafeJsWorld, lambda res: self.__bookmarkAllCallback(folder, urlStr, title, res)) @@ -3998,10 +4003,12 @@ self.webProfile().scripts().remove(oldScript) if userStyle: + from .WebBrowserPage import WebBrowserPage + script = QWebEngineScript() script.setName(name) script.setInjectionPoint(QWebEngineScript.DocumentCreation) - script.setWorldId(QWebEngineScript.ApplicationWorld) + script.setWorldId(WebBrowserPage.SafeJsWorld) script.setRunsOnSubFrames(True) script.setSourceCode(Scripts.setStyleSheet(userStyle)) self.webProfile().scripts().insert(script) @@ -4108,10 +4115,12 @@ QWebEngineProfile.AllowPersistentCookies) # Setup QWebChannel user script + from .WebBrowserPage import WebBrowserPage + script = QWebEngineScript() script.setName("_eric_webchannel") script.setInjectionPoint(QWebEngineScript.DocumentCreation) - script.setWorldId(QWebEngineScript.MainWorld) + script.setWorldId(WebBrowserPage.SafeJsWorld) script.setRunsOnSubFrames(True) script.setSourceCode(Scripts.setupWebChannel()) cls._webProfile.scripts().insert(script)