From 2c46f8ecdb759c7701fec107b088d496e180d10d Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 4 Feb 2017 23:30:12 +0100 Subject: [PATCH] Fix zoom handling with QtWebKit --- qutebrowser/browser/mouse.py | 3 +-- qutebrowser/browser/webengine/webenginetab.py | 1 + tests/end2end/test_insert_mode.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/qutebrowser/browser/mouse.py b/qutebrowser/browser/mouse.py index 7052c9353..19e37ad97 100644 --- a/qutebrowser/browser/mouse.py +++ b/qutebrowser/browser/mouse.py @@ -95,8 +95,7 @@ class MouseEventFilter(QObject): self._ignore_wheel_event = True if e.button() != Qt.NoButton: - zoom = self._tab.zoom.factor() - self._tab.elements.find_at_pos(e.pos() / zoom, + self._tab.elements.find_at_pos(e.pos(), self._mousepress_insertmode_cb) return False diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 6c654a6ee..dbc04e905 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -442,6 +442,7 @@ class WebEngineElements(browsertab.AbstractElements): def find_at_pos(self, pos, callback): assert pos.x() >= 0 assert pos.y() >= 0 + pos /= self._tab.zoom.factor() js_code = javascript.assemble('webelem', 'element_at_pos', pos.x(), pos.y()) js_cb = functools.partial(self._js_cb_single, callback) diff --git a/tests/end2end/test_insert_mode.py b/tests/end2end/test_insert_mode.py index 59c279feb..d28ac20d2 100644 --- a/tests/end2end/test_insert_mode.py +++ b/tests/end2end/test_insert_mode.py @@ -35,7 +35,7 @@ import pytest ('autofocus.html', 'qute-input-autofocus', 'keypress', 'cutebrowser', 'true'), ]) -@pytest.mark.parametrize('zoom', [100, 125]) +@pytest.mark.parametrize('zoom', [100, 125, 250]) def test_insert_mode(file_name, elem_id, source, input_text, auto_insert, zoom, quteproc, request): url_path = 'data/insert_mode_settings/html/{}'.format(file_name) @@ -88,6 +88,7 @@ def test_auto_leave_insert_mode(quteproc): quteproc.open_path(url_path) quteproc.set_setting('input', 'auto-leave-insert-mode', 'true') + quteproc.send_cmd(':zoom 100') quteproc.press_keys('abcd')