summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2016-08-16 11:15:32 +0200
committerFlorian Bruhin <git@the-compiler.org>2016-08-16 11:15:32 +0200
commita43aa52c81ee379031f0d189889e4b45ff94824f (patch)
treeb33feb46356e0fa88e90ff061d68cc06426d6e1e
parent4abbe502894dc19d7882cf233980e191a913f283 (diff)
downloadqutebrowser-a43aa52c81ee379031f0d189889e4b45ff94824f.tar.gz
qutebrowser-a43aa52c81ee379031f0d189889e4b45ff94824f.zip
Fix #1641 for v0.8.x
This is the equivalent of 56515321dd3670ea41abed39378cff1b7c984910
-rw-r--r--qutebrowser/browser/webkit/webelem.py42
1 files changed, 22 insertions, 20 deletions
diff --git a/qutebrowser/browser/webkit/webelem.py b/qutebrowser/browser/webkit/webelem.py
index 0731904b7..9aa6bb510 100644
--- a/qutebrowser/browser/webkit/webelem.py
+++ b/qutebrowser/browser/webkit/webelem.py
@@ -399,26 +399,28 @@ def rect_on_view(elem, *, elem_geometry=None, adjust_zoom=True, no_js=False):
text = utils.compact_text(elem.toOuterXml(), 500)
log.hints.vdebug("Client rectangles of element '{}': {}".format(text,
rects))
- for i in range(int(rects.get("length", 0))):
- rect = rects[str(i)]
- width = rect.get("width", 0)
- height = rect.get("height", 0)
- if width > 1 and height > 1:
- # fix coordinates according to zoom level
- zoom = elem.webFrame().zoomFactor()
- if not config.get('ui', 'zoom-text-only') and adjust_zoom:
- rect["left"] *= zoom
- rect["top"] *= zoom
- width *= zoom
- height *= zoom
- rect = QRect(rect["left"], rect["top"], width, height)
- frame = elem.webFrame()
- while frame is not None:
- # Translate to parent frames' position
- # (scroll position is taken care of inside getClientRects)
- rect.translate(frame.geometry().topLeft())
- frame = frame.parentFrame()
- return rect
+ if rects is not None:
+ for i in range(int(rects.get("length", 0))):
+ rect = rects[str(i)]
+ width = rect.get("width", 0)
+ height = rect.get("height", 0)
+ if width > 1 and height > 1:
+ # fix coordinates according to zoom level
+ zoom = elem.webFrame().zoomFactor()
+ if not config.get('ui', 'zoom-text-only') and adjust_zoom:
+ rect["left"] *= zoom
+ rect["top"] *= zoom
+ width *= zoom
+ height *= zoom
+ rect = QRect(rect["left"], rect["top"], width, height)
+ frame = elem.webFrame()
+ while frame is not None:
+ # Translate to parent frames' position
+ # (scroll position is taken care of inside
+ # getClientRects)
+ rect.translate(frame.geometry().topLeft())
+ frame = frame.parentFrame()
+ return rect
# No suitable rects found via JS, try via the QWebElement API
if elem_geometry is None: