Hello community, here is the log from the commit of package qutebrowser for openSUSE:Factory checked in at 2018-06-19 11:59:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qutebrowser (Old) and /work/SRC/openSUSE:Factory/.qutebrowser.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qutebrowser" Tue Jun 19 11:59:37 2018 rev:20 rq:616627 version:1.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/qutebrowser/qutebrowser.changes 2018-05-29 16:53:11.381798906 +0200 +++ /work/SRC/openSUSE:Factory/.qutebrowser.new/qutebrowser.changes 2018-06-19 11:59:38.398995352 +0200 @@ -1,0 +2,14 @@ +Wed Jun 13 21:56:04 UTC 2018 - [email protected] + +- Update to version 1.3.2: + * QtWebEngine: Improved workaround for a bug in Qt 5.11 where + only the top/bottom half of the window is used. + * QtWebEngine: Work around a bug in Qt 5.11 where an endless + loading-loop is triggered when clicking a link with an unknown + scheme. + * QtWebEngine: When switching between pages with changed + settings, less unnecessary reloads are done now. + * QtWebEngine: It's now possible to open external links such as + magnet:// or mailto: via hints. + +------------------------------------------------------------------- Old: ---- qutebrowser-1.3.1.tar.gz qutebrowser-1.3.1.tar.gz.asc New: ---- qutebrowser-1.3.2.tar.gz qutebrowser-1.3.2.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qutebrowser.spec ++++++ --- /var/tmp/diff_new_pack.GtHNyY/_old 2018-06-19 11:59:39.102969213 +0200 +++ /var/tmp/diff_new_pack.GtHNyY/_new 2018-06-19 11:59:39.106969065 +0200 @@ -17,9 +17,9 @@ Name: qutebrowser -Version: 1.3.1 +Version: 1.3.2 Release: 0 -Summary: Keyboard-driven vim-like browser on Qt5 +Summary: Keyboard-driven vim-like browser based on Qt5 License: GPL-3.0-or-later Group: Productivity/Networking/Web/Browsers URL: https://qutebrowser.org/ ++++++ qutebrowser-1.3.1.tar.gz -> qutebrowser-1.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/PKG-INFO new/qutebrowser-1.3.2/PKG-INFO --- old/qutebrowser-1.3.1/PKG-INFO 2018-05-29 11:17:12.000000000 +0200 +++ new/qutebrowser-1.3.2/PKG-INFO 2018-06-10 16:01:36.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: qutebrowser -Version: 1.3.1 +Version: 1.3.2 Summary: A keyboard-driven, vim-like browser based on PyQt5. Home-page: https://www.qutebrowser.org/ Author: Florian Bruhin @@ -260,3 +260,4 @@ Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Internet :: WWW/HTTP :: Browsers Requires-Python: >=3.5 +Description-Content-Type: text/plain diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/doc/changelog.asciidoc new/qutebrowser-1.3.2/doc/changelog.asciidoc --- old/qutebrowser-1.3.1/doc/changelog.asciidoc 2018-05-29 11:16:10.000000000 +0200 +++ new/qutebrowser-1.3.2/doc/changelog.asciidoc 2018-06-10 16:01:10.000000000 +0200 @@ -15,6 +15,21 @@ // `Fixed` for any bug fixes. // `Security` to invite users to upgrade in case of vulnerabilities. +v1.3.2 +------ + +Fixed +~~~~~ + +- QtWebEngine: Improved workaround for a bug in Qt 5.11 where only the + top/bottom half of the window is used. +- QtWebEngine: Work around a bug in Qt 5.11 where an endless loading-loop is + triggered when clicking a link with an unknown scheme. +- QtWebEngine: When switching between pages with changed settings, less + unnecessary reloads are done now. +- QtWebEngine: It's now possible to open external links such as `magnet://` or + `mailto:` via hints. + v1.3.1 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/doc/contributing.html new/qutebrowser-1.3.2/doc/contributing.html --- old/qutebrowser-1.3.1/doc/contributing.html 2018-05-22 07:40:52.000000000 +0200 +++ new/qutebrowser-1.3.2/doc/contributing.html 2018-06-07 20:30:16.000000000 +0200 @@ -1735,10 +1735,26 @@ chrome://ppapiflashhang/ </p> </li> +<li> +<p> +chrome://quota-internals/ (Qt 5.11) +</p> +</li> +<li> +<p> +chrome://taskscheduler-internals/ (Qt 5.11) +</p> +</li> +<li> +<p> +chrome://sandbox/ (Qt 5.11, Linux only) +</p> +</li> </ul></div> </div> <div class="sect2"> <h3 id="_qtwebengine_internals">QtWebEngine internals</h3> +<div class="paragraph"><p>This is mostly useful for qutebrowser maintainers to work around issues in Qt - if you don’t understand it, don’t worry, just ignore it.</p></div> <div class="paragraph"><p>The hierarchy of widgets when QtWebEngine is involved looks like this:</p></div> <div class="ulist"><ul> <li> @@ -2118,7 +2134,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-22 07:40:33 CEST + 2018-06-07 20:21:20 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/doc/qutebrowser.1 new/qutebrowser-1.3.2/doc/qutebrowser.1 --- old/qutebrowser-1.3.1/doc/qutebrowser.1 2018-05-29 11:17:08.000000000 +0200 +++ new/qutebrowser-1.3.2/doc/qutebrowser.1 2018-06-10 16:01:33.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: qutebrowser .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 05/29/2018 +.\" Date: 06/10/2018 .\" Manual: qutebrowser manpage .\" Source: qutebrowser .\" Language: English .\" -.TH "QUTEBROWSER" "1" "05/29/2018" "qutebrowser" "qutebrowser manpage" +.TH "QUTEBROWSER" "1" "06/10/2018" "qutebrowser" "qutebrowser manpage" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/__init__.py new/qutebrowser-1.3.2/qutebrowser/__init__.py --- old/qutebrowser-1.3.1/qutebrowser/__init__.py 2018-05-29 11:15:15.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/__init__.py 2018-06-10 15:59:48.000000000 +0200 @@ -26,7 +26,7 @@ __license__ = "GPL" __maintainer__ = __author__ __email__ = "[email protected]" -__version_info__ = (1, 3, 1) +__version_info__ = (1, 3, 2) __version__ = '.'.join(str(e) for e in __version_info__) __description__ = "A keyboard-driven, vim-like browser based on PyQt5." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/browser/webelem.py new/qutebrowser-1.3.2/qutebrowser/browser/webelem.py --- old/qutebrowser-1.3.1/qutebrowser/browser/webelem.py 2018-04-16 19:05:44.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/browser/webelem.py 2018-06-10 15:34:34.000000000 +0200 @@ -307,6 +307,10 @@ href_tags = ['a', 'area', 'link'] return self.tag_name() in href_tags and 'href' in self + def _requires_user_interaction(self): + """Return True if clicking this element needs user interaction.""" + raise NotImplementedError + def _mouse_pos(self): """Get the position to click/hover.""" # Click the center of the largest square fitting into the top/left @@ -405,7 +409,7 @@ return if click_target == usertypes.ClickTarget.normal: - if self.is_link(): + if self.is_link() and not self._requires_user_interaction(): log.webelem.debug("Clicking via JS click()") self._click_js(click_target) elif self.is_editable(strict=True): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webengineelem.py new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webengineelem.py --- old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webengineelem.py 2018-03-13 17:51:16.000000000 +0100 +++ new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webengineelem.py 2018-06-10 15:34:34.000000000 +0200 @@ -27,7 +27,7 @@ from PyQt5.QtWidgets import QApplication from PyQt5.QtWebEngineWidgets import QWebEngineSettings -from qutebrowser.utils import log, javascript +from qutebrowser.utils import log, javascript, urlutils from qutebrowser.browser import webelem @@ -198,6 +198,13 @@ if self.is_text_input() and self.is_editable(): self._js_call('move_cursor_to_end') + def _requires_user_interaction(self): + baseurl = self._tab.url() + url = self.resolve_url(baseurl) + if url is None: + return True + return url.scheme() not in urlutils.WEBENGINE_SCHEMES + def _click_editable(self, click_target): # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-58515 ev = QMouseEvent(QMouseEvent.MouseButtonPress, QPoint(0, 0), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webenginequtescheme.py new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webenginequtescheme.py --- old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webenginequtescheme.py 2018-03-13 17:51:16.000000000 +0100 +++ new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webenginequtescheme.py 2018-06-10 15:34:34.000000000 +0200 @@ -34,6 +34,9 @@ def install(self, profile): """Install the handler for qute:// URLs on the given profile.""" profile.installUrlSchemeHandler(b'qute', self) + if qtutils.version_check('5.11', compiled=False): + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-63378 + profile.installUrlSchemeHandler(b'chrome-error', self) def requestStarted(self, job): """Handle a request for a qute: scheme. @@ -45,6 +48,12 @@ job: QWebEngineUrlRequestJob """ url = job.requestUrl() + + if url.scheme() == 'chrome-error': + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-63378 + job.fail(QWebEngineUrlRequestJob.UrlInvalid) + return + assert job.requestMethod() == b'GET' assert url.scheme() == 'qute' log.misc.debug("Got request for {}".format(url.toDisplayString())) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webenginetab.py new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webenginetab.py --- old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webenginetab.py 2018-05-29 11:16:10.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webenginetab.py 2018-06-10 16:01:10.000000000 +0200 @@ -30,7 +30,7 @@ QUrl, QTimer) from PyQt5.QtGui import QKeyEvent, QIcon from PyQt5.QtNetwork import QAuthenticator -from PyQt5.QtWidgets import QApplication, QWidget +from PyQt5.QtWidgets import QApplication from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript from qutebrowser.config import configdata, config @@ -1048,28 +1048,6 @@ def _on_navigation_request(self, navigation): super()._on_navigation_request(navigation) - if qtutils.version_check('5.11.0', exact=True, compiled=False): - # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68224 - layout = self._widget.layout() - count = layout.count() - children = self._widget.findChildren(QWidget) - if not count and children: - log.webview.warning("Found children not in layout: {}, " - "focus proxy {} (QTBUG-68224)".format( - children, self._widget.focusProxy())) - if count > 1: - log.webview.debug("Found {} widgets! (QTBUG-68224)" - .format(count)) - for i in range(count): - item = layout.itemAt(i) - if item is None: - continue - widget = item.widget() - if widget is not self._widget.focusProxy(): - log.webview.debug("Removing widget {} (QTBUG-68224)" - .format(widget)) - layout.removeWidget(widget) - if not navigation.accepted or not navigation.is_main_frame: return @@ -1092,7 +1070,7 @@ # TODO on Qt > 5.11.0, we hopefully never need a reload: # https://codereview.qt-project.org/#/c/229525/1 if not qtutils.version_check('5.11.0', exact=True, compiled=False): - if navigation.navigation_type != navigation.Type.link_clicked: + if navigation.navigation_type == navigation.Type.link_clicked: reload_needed = False if reload_needed: @@ -1137,4 +1115,4 @@ self.predicted_navigation.connect(self._on_predicted_navigation) def event_target(self): - return self._widget.focusProxy() + return self._widget.render_widget() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webview.py new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webview.py --- old/qutebrowser-1.3.1/qutebrowser/browser/webengine/webview.py 2018-05-17 14:09:00.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/browser/webengine/webview.py 2018-06-10 15:42:47.000000000 +0200 @@ -21,8 +21,10 @@ import functools +import sip from PyQt5.QtCore import pyqtSignal, pyqtSlot, QUrl, PYQT_VERSION from PyQt5.QtGui import QPalette +from PyQt5.QtQuickWidgets import QQuickWidget from PyQt5.QtWebEngineWidgets import (QWebEngineView, QWebEnginePage, QWebEngineScript) @@ -30,6 +32,7 @@ from qutebrowser.browser.webengine import certificateerror, webenginesettings from qutebrowser.config import config from qutebrowser.utils import log, debug, usertypes, jinja, objreg, qtutils +from qutebrowser.misc import miscwidgets class WebEngineView(QWebEngineView): @@ -51,6 +54,34 @@ parent=self) self.setPage(page) + if qtutils.version_check('5.11', compiled=False): + # Set a PseudoLayout as a WORKAROUND for + # https://bugreports.qt.io/browse/QTBUG-68224 + # and other related issues. + sip.delete(self.layout()) + self._layout = miscwidgets.PseudoLayout(self) + + def render_widget(self): + """Get the RenderWidgetHostViewQt for this view. + + Normally, this would always be the focusProxy(). + However, it sometimes isn't, so we use this as a WORKAROUND for + https://bugreports.qt.io/browse/QTBUG-68727 + """ + proxy = self.focusProxy() + if proxy is not None: + return proxy + + # This should only find the RenderWidgetHostViewQtDelegateWidget, + # but not e.g. a QMenu + children = self.findChildren(QQuickWidget) + + if not children: + return None + + assert len(children) == 1, children + return children[0] + def shutdown(self): self.page().shutdown() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/browser/webkit/webkitelem.py new/qutebrowser-1.3.2/qutebrowser/browser/webkit/webkitelem.py --- old/qutebrowser-1.3.1/qutebrowser/browser/webkit/webkitelem.py 2018-03-28 15:23:05.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/browser/webkit/webkitelem.py 2018-06-10 15:34:34.000000000 +0200 @@ -305,6 +305,9 @@ if self.is_text_input() and self.is_editable(): self._tab.caret.move_to_end_of_document() + def _requires_user_interaction(self): + return False + def _click_editable(self, click_target): ok = self._elem.evaluateJavaScript('this.focus(); true;') if ok: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/git-commit-id new/qutebrowser-1.3.2/qutebrowser/git-commit-id --- old/qutebrowser-1.3.1/qutebrowser/git-commit-id 2018-05-29 11:17:12.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/git-commit-id 2018-06-10 16:01:36.000000000 +0200 @@ -1 +1 @@ -ac29c579f (2018-05-29 11:14:01 +0200) \ No newline at end of file +e9b4c2a66 (2018-06-10 15:58:54 +0200) \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/changelog.html new/qutebrowser-1.3.2/qutebrowser/html/doc/changelog.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/changelog.html 2018-05-29 11:16:33.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/changelog.html 2018-06-10 16:01:12.000000000 +0200 @@ -807,13 +807,47 @@ </div> </div> <div class="sect1"> -<h2 id="_v1_3_1">v1.3.1</h2> +<h2 id="_v1_3_2">v1.3.2</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_fixed">Fixed</h3> <div class="ulist"><ul> <li> <p> +QtWebEngine: Improved workaround for a bug in Qt 5.11 where only the + top/bottom half of the window is used. +</p> +</li> +<li> +<p> +QtWebEngine: Work around a bug in Qt 5.11 where an endless loading-loop is + triggered when clicking a link with an unknown scheme. +</p> +</li> +<li> +<p> +QtWebEngine: When switching between pages with changed settings, less + unnecessary reloads are done now. +</p> +</li> +<li> +<p> +QtWebEngine: It’s now possible to open external links such as <code>magnet://</code> or + <code>mailto:</code> via hints. +</p> +</li> +</ul></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_v1_3_1">v1.3.1</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_fixed_2">Fixed</h3> +<div class="ulist"><ul> +<li> +<p> Work around a bug in Qt 5.11 where only the top/bottom half of the window is used. This workaround is incomplete, but fixes the majority of the cases where this happens. </p> @@ -947,7 +981,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_2">Fixed</h3> +<h3 id="_fixed_3">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1102,7 +1136,7 @@ <h2 id="_v1_2_1">v1.2.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_3">Fixed</h3> +<h3 id="_fixed_4">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1459,7 +1493,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_4">Fixed</h3> +<h3 id="_fixed_5">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1643,7 +1677,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_5">Fixed</h3> +<h3 id="_fixed_6">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1663,7 +1697,7 @@ <h2 id="_v1_1_1">v1.1.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_6">Fixed</h3> +<h3 id="_fixed_7">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2020,7 +2054,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_7">Fixed</h3> +<h3 id="_fixed_8">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2163,7 +2197,7 @@ <h2 id="_v1_0_4">v1.0.4</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_8">Fixed</h3> +<h3 id="_fixed_9">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2226,7 +2260,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_9">Fixed</h3> +<h3 id="_fixed_10">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2257,7 +2291,7 @@ <h2 id="_v1_0_2">v1.0.2</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_10">Fixed</h3> +<h3 id="_fixed_11">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2307,7 +2341,7 @@ <h2 id="_v1_0_1">v1.0.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_11">Fixed</h3> +<h3 id="_fixed_12">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2907,7 +2941,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_12">Fixed</h3> +<h3 id="_fixed_13">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3078,7 +3112,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_13">Fixed</h3> +<h3 id="_fixed_14">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3323,7 +3357,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_14">Fixed</h3> +<h3 id="_fixed_15">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3454,7 +3488,7 @@ <h2 id="_v0_9_1">v0.9.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_15">Fixed</h3> +<h3 id="_fixed_16">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4001,7 +4035,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_16">Fixed</h3> +<h3 id="_fixed_17">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4053,7 +4087,7 @@ <h2 id="_v0_8_3">v0.8.3</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_17">Fixed</h3> +<h3 id="_fixed_18">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4124,7 +4158,7 @@ <h2 id="_v0_8_2">v0.8.2</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_18">Fixed</h3> +<h3 id="_fixed_19">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4198,7 +4232,7 @@ <h2 id="_v0_8_1">v0.8.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_19">Fixed</h3> +<h3 id="_fixed_20">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4317,7 +4351,7 @@ </div> </div> <div class="sect1"> -<h2 id="_fixed_20">Fixed</h2> +<h2 id="_fixed_21">Fixed</h2> <div class="sectionbody"> <div class="ulist"><ul> <li> @@ -4573,7 +4607,7 @@ </div> </div> <div class="sect1"> -<h2 id="_fixed_21">Fixed</h2> +<h2 id="_fixed_22">Fixed</h2> <div class="sectionbody"> <div class="ulist"><ul> <li> @@ -4681,7 +4715,7 @@ <h2 id="_v0_6_2">v0.6.2</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_22">Fixed</h3> +<h3 id="_fixed_23">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4718,7 +4752,7 @@ <h2 id="_v0_6_1">v0.6.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_23">Fixed</h3> +<h3 id="_fixed_24">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4858,7 +4892,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_24">Fixed</h3> +<h3 id="_fixed_25">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4966,7 +5000,7 @@ <h2 id="_v0_5_1">v0.5.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_25">Fixed</h3> +<h3 id="_fixed_26">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5287,7 +5321,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_26">Fixed</h3> +<h3 id="_fixed_27">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5380,7 +5414,7 @@ <h2 id="_v0_4_1">v0.4.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_27">Fixed</h3> +<h3 id="_fixed_28">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5582,7 +5616,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_28">Fixed</h3> +<h3 id="_fixed_29">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5911,7 +5945,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_29">Fixed</h3> +<h3 id="_fixed_30">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6005,7 +6039,7 @@ <h2 id="_a_href_https_github_com_qutebrowser_qutebrowser_releases_tag_v0_2_1_v0_2_1_a"><a href="https://github.com/qutebrowser/qutebrowser/releases/tag/v0.2.1">v0.2.1</a></h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_30">Fixed</h3> +<h3 id="_fixed_31">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6587,7 +6621,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_31">Fixed</h3> +<h3 id="_fixed_32">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6747,7 +6781,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_32">Fixed</h3> +<h3 id="_fixed_33">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6857,7 +6891,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_33">Fixed</h3> +<h3 id="_fixed_34">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6972,7 +7006,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_34">Fixed</h3> +<h3 id="_fixed_35">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -7152,7 +7186,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_35">Fixed</h3> +<h3 id="_fixed_36">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -7274,7 +7308,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:31 CEST + 2018-06-10 16:01:11 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/commands.html new/qutebrowser-1.3.2/qutebrowser/html/doc/commands.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/commands.html 2018-05-29 11:16:44.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/commands.html 2018-06-10 16:01:19.000000000 +0200 @@ -4649,7 +4649,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:40 CEST + 2018-06-10 16:01:17 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/configuring.html new/qutebrowser-1.3.2/qutebrowser/html/doc/configuring.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/configuring.html 2018-05-29 11:16:56.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/configuring.html 2018-06-10 16:01:27.000000000 +0200 @@ -1245,7 +1245,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:44 CEST + 2018-06-10 16:01:19 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/contributing.html new/qutebrowser-1.3.2/qutebrowser/html/doc/contributing.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/contributing.html 2018-05-29 11:16:39.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/contributing.html 2018-06-10 16:01:16.000000000 +0200 @@ -2120,7 +2120,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:33 CEST + 2018-06-10 16:01:12 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/faq.html new/qutebrowser-1.3.2/qutebrowser/html/doc/faq.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/faq.html 2018-05-29 11:16:31.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/faq.html 2018-06-10 16:01:11.000000000 +0200 @@ -1255,7 +1255,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:30 CEST + 2018-06-10 16:01:11 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/index.html new/qutebrowser-1.3.2/qutebrowser/html/doc/index.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/index.html 2018-05-29 11:17:07.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/index.html 2018-06-10 16:01:32.000000000 +0200 @@ -905,7 +905,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:17:06 CEST + 2018-06-10 16:01:32 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/quickstart.html new/qutebrowser-1.3.2/qutebrowser/html/doc/quickstart.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/quickstart.html 2018-05-29 11:16:39.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/quickstart.html 2018-06-10 16:01:16.000000000 +0200 @@ -983,7 +983,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:39 CEST + 2018-06-10 16:01:16 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/settings.html new/qutebrowser-1.3.2/qutebrowser/html/doc/settings.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/settings.html 2018-05-29 11:17:06.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/settings.html 2018-06-10 16:01:32.000000000 +0200 @@ -6657,7 +6657,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:56 CEST + 2018-06-10 16:01:27 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/doc/userscripts.html new/qutebrowser-1.3.2/qutebrowser/html/doc/userscripts.html --- old/qutebrowser-1.3.1/qutebrowser/html/doc/userscripts.html 2018-05-29 11:16:40.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/html/doc/userscripts.html 2018-06-10 16:01:17.000000000 +0200 @@ -963,7 +963,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-05-29 11:16:39 CEST + 2018-06-10 16:01:16 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/html/error.html new/qutebrowser-1.3.2/qutebrowser/html/error.html --- old/qutebrowser-1.3.1/qutebrowser/html/error.html 2018-02-23 17:14:22.000000000 +0100 +++ new/qutebrowser-1.3.2/qutebrowser/html/error.html 2018-06-10 15:34:34.000000000 +0200 @@ -74,7 +74,7 @@ </td> <td style="padding-left: 40px;"> <h1>Unable to load page</h1> - Error while opening {{ url }}<br> + Error while opening {{ url | default('page', true) }}<br> <p id="error-message-text" style="color: #a31a1a;">{{ error }}</p><br><br> <form name="bl"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/misc/miscwidgets.py new/qutebrowser-1.3.2/qutebrowser/misc/miscwidgets.py --- old/qutebrowser-1.3.1/qutebrowser/misc/miscwidgets.py 2018-04-16 19:05:44.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/misc/miscwidgets.py 2018-06-10 15:34:34.000000000 +0200 @@ -266,6 +266,47 @@ self._widget.deleteLater() +class PseudoLayout(QLayout): + + """A layout which isn't actually a real layout. + + This is used to replace QWebEngineView's internal layout, as a WORKAROUND + for https://bugreports.qt.io/browse/QTBUG-68224 and other related issues. + + This is partly inspired by https://codereview.qt-project.org/#/c/230894/ + which does something similar as part of Qt. + """ + + def addItem(self, item): + assert self.parent() is not None + item.widget().setParent(self.parent()) + + def removeItem(self, item): + item.widget().setParent(None) + + def count(self): + return 0 + + def itemAt(self, _pos): + return None + + def widget(self): + return self.parent().render_widget() + + def setGeometry(self, rect): + """Resize the render widget when the view is resized.""" + widget = self.widget() + if widget is not None: + widget.setGeometry(rect) + + def sizeHint(self): + """Make sure the view has the sizeHint of the render widget.""" + widget = self.widget() + if widget is not None: + return widget.sizeHint() + return QSize() + + class FullscreenNotification(QLabel): """A label telling the user this page is now fullscreen.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser/utils/urlutils.py new/qutebrowser-1.3.2/qutebrowser/utils/urlutils.py --- old/qutebrowser-1.3.1/qutebrowser/utils/urlutils.py 2018-05-17 09:39:51.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser/utils/urlutils.py 2018-06-10 15:34:34.000000000 +0200 @@ -39,6 +39,21 @@ # https://github.com/qutebrowser/qutebrowser/issues/108 +# URL schemes supported by QtWebEngine +WEBENGINE_SCHEMES = [ + 'about', + 'data', + 'file', + 'filesystem', + 'ftp', + 'http', + 'https', + 'javascript', + 'ws', + 'wss', +] + + class InvalidUrlError(ValueError): """Error raised if a function got an invalid URL. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/qutebrowser.egg-info/PKG-INFO new/qutebrowser-1.3.2/qutebrowser.egg-info/PKG-INFO --- old/qutebrowser-1.3.1/qutebrowser.egg-info/PKG-INFO 2018-05-29 11:17:12.000000000 +0200 +++ new/qutebrowser-1.3.2/qutebrowser.egg-info/PKG-INFO 2018-06-10 16:01:36.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: qutebrowser -Version: 1.3.1 +Version: 1.3.2 Summary: A keyboard-driven, vim-like browser based on PyQt5. Home-page: https://www.qutebrowser.org/ Author: Florian Bruhin @@ -260,3 +260,4 @@ Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Internet :: WWW/HTTP :: Browsers Requires-Python: >=3.5 +Description-Content-Type: text/plain diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.3.1/setup.py new/qutebrowser-1.3.2/setup.py --- old/qutebrowser-1.3.1/setup.py 2018-03-13 17:51:16.000000000 +0100 +++ new/qutebrowser-1.3.2/setup.py 2018-06-10 15:34:34.000000000 +0200 @@ -77,6 +77,7 @@ version='.'.join(str(e) for e in _get_constant('version_info')), description=_get_constant('description'), long_description=read_file('README.asciidoc'), + long_description_content_type='text/plain', url='https://www.qutebrowser.org/', author=_get_constant('author'), author_email=_get_constant('email'),
