diff options
author | Florian Bruhin <me@the-compiler.org> | 2019-11-24 23:50:24 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2019-12-05 16:21:49 +0100 |
commit | 8ad084a70a5b739f01d8f5b44078e443ced3d559 (patch) | |
tree | ec2e431aa8b7a9467a1f1b804195a6ee27eae00b | |
parent | 0e9d0832fbeb92a5d7a655fff4639d3fa1195f27 (diff) | |
download | qutebrowser-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.py | 8 |
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 |