From 57d896e98970151ee673145dcbe63a750600029b Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 21 Sep 2016 20:09:31 +0200 Subject: [PATCH] Fix hints when zoomed with QtWebEngine We mutated rect (coming from self._js_dict), which means we used the already adjusted values the second time we called rect_on_view. Fixes #1863. --- qutebrowser/browser/webengine/webengineelem.py | 9 ++++----- tests/end2end/data/hints/html/zoom_precision.html | 5 +---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/qutebrowser/browser/webengine/webengineelem.py b/qutebrowser/browser/webengine/webengineelem.py index 772c73416..cb1e973b0 100644 --- a/qutebrowser/browser/webengine/webengineelem.py +++ b/qutebrowser/browser/webengine/webengineelem.py @@ -140,16 +140,15 @@ class WebEngineElement(webelem.AbstractWebElement): # height = rect.get("height", 0) width = rect['width'] height = rect['height'] + left = rect['left'] + top = rect['top'] if width > 1 and height > 1: # Fix coordinates according to zoom level # We're not checking for zoom-text-only here as that doesn't # exist for QtWebEngine. zoom = self._tab.zoom.factor() - rect["left"] *= zoom - rect["top"] *= zoom - width *= zoom - height *= zoom - rect = QRect(rect["left"], rect["top"], width, height) + rect = QRect(left * zoom, top * zoom, + width * zoom, height * zoom) # FIXME:qtwebengine # frame = self._elem.webFrame() # while frame is not None: diff --git a/tests/end2end/data/hints/html/zoom_precision.html b/tests/end2end/data/hints/html/zoom_precision.html index 25a828399..5b9b73f99 100644 --- a/tests/end2end/data/hints/html/zoom_precision.html +++ b/tests/end2end/data/hints/html/zoom_precision.html @@ -1,9 +1,6 @@ - +