WebBrowser/WebBrowserPage.py

changeset 6137
27962f3f457f
parent 6136
dfef226f9c7f
child 6139
d24997c47244
equal deleted inserted replaced
6136:dfef226f9c7f 6137:27962f3f457f
76 76
77 self.urlChanged.connect(self.__urlChanged) 77 self.urlChanged.connect(self.__urlChanged)
78 78
79 self.__printer = None 79 self.__printer = None
80 self.__badSite = False 80 self.__badSite = False
81
82 ## // Workaround for broken load started/finished signals in QtWebEngine 5.10
83 ## if (qstrcmp(qVersion(), "5.10.0") == 0) {
84 ## connect(this, &QWebEnginePage::loadProgress, this, [this](int progress) {
85 ## if (progress == 100) {
86 ## emit loadFinished(true);
87 ## }
88 ## });
89 ## }
90 ##
81 91
82 def acceptNavigationRequest(self, url, type_, isMainFrame): 92 def acceptNavigationRequest(self, url, type_, isMainFrame):
83 """ 93 """
84 Public method to determine, if a request may be accepted. 94 Public method to determine, if a request may be accepted.
85 95
137 self.__badSite = True 147 self.__badSite = True
138 threatType = WebBrowserWindow.safeBrowsingManager()\ 148 threatType = WebBrowserWindow.safeBrowsingManager()\
139 .getThreatType(threatLists[0]) 149 .getThreatType(threatLists[0])
140 self.safeBrowsingBad.emit(threatType, "".join(threatMessages)) 150 self.safeBrowsingBad.emit(threatType, "".join(threatMessages))
141 151
142 return QWebEnginePage.acceptNavigationRequest(self, url, type_, 152 result = QWebEnginePage.acceptNavigationRequest(self, url, type_,
143 isMainFrame) 153 isMainFrame)
154
155 if result and isMainFrame:
156 isWeb = url.scheme() in ("http", "https", "ftp", "ftps", "file")
157 globalJsEnabled = WebBrowserWindow.webSettings().testAttribute(
158 QWebEngineSettings.JavascriptEnabled)
159 if isWeb:
160 enable = globalJsEnabled
161 else:
162 enable = True
163 self.settings().setAttribute(
164 QWebEngineSettings.JavascriptEnabled, enable)
165
166 return result
144 167
145 @pyqtSlot(QUrl) 168 @pyqtSlot(QUrl)
146 def __urlChanged(self, url): 169 def __urlChanged(self, url):
147 """ 170 """
148 Private slot to handle changes of the URL. 171 Private slot to handle changes of the URL.

eric ide

mercurial