summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2019-11-24 23:50:24 +0100
committerFlorian Bruhin <me@the-compiler.org>2019-12-05 16:21:49 +0100
commit8ad084a70a5b739f01d8f5b44078e443ced3d559 (patch)
treeec2e431aa8b7a9467a1f1b804195a6ee27eae00b
parent0e9d0832fbeb92a5d7a655fff4639d3fa1195f27 (diff)
downloadqutebrowser-8ad084a70a5b739f01d8f5b44078e443ced3d559.tar.gz
qutebrowser-8ad084a70a5b739f01d8f5b44078e443ced3d559.zip
Get JavaScript status earlier
Since d741bdf2f92b9dcf897b15c9d850fff6442f1cf7 I've been seeing a lot more segfault reports with this stacktrace: File ".../config/websettings.py", line 88 in test_attribute File ".../browser/webengine/webenginetab.py", line 1376 in _error_page_workaround File ".../app.py", line 154 in qt_mainloop I'm not sure what's going on... However, getting the JavaScript status earlier should get us closer to how this code worked before. (cherry picked from commit d9b915bc50653ce8d50ffa00967f815244e6e57b)
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 68ffa4196..41e879c9a 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -1360,7 +1360,7 @@ class WebEngineTab(browsertab.AbstractTab):
}
self.renderer_process_terminated.emit(status_map[status], exitcode)
- def _error_page_workaround(self, html):
+ def _error_page_workaround(self, js_enabled, html):
"""Check if we're displaying a Chromium error page.
This gets called if we got a loadFinished(False), so we can display at
@@ -1373,9 +1373,7 @@ class WebEngineTab(browsertab.AbstractTab):
Needs to check the page content as a WORKAROUND for
https://bugreports.qt.io/browse/QTBUG-66661
"""
- js_enabled = self.settings.test_attribute('content.javascript.enabled')
missing_jst = 'jstProcess(' in html and 'jstProcess=' not in html
-
if js_enabled and not missing_jst:
return
@@ -1409,7 +1407,9 @@ class WebEngineTab(browsertab.AbstractTab):
self._update_load_status(ok)
if not ok:
- self.dump_async(self._error_page_workaround)
+ self.dump_async(functools.partial(
+ self._error_page_workaround,
+ self.settings.test_attribute('content.javascript.enabled')))
if ok and self._reload_url is not None:
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-66656