diff --git a/qutebrowser/browser/webkit/webkitelem.py b/qutebrowser/browser/webkit/webkitelem.py index ff24cbad2..49756138b 100644 --- a/qutebrowser/browser/webkit/webkitelem.py +++ b/qutebrowser/browser/webkit/webkitelem.py @@ -306,14 +306,3 @@ def get_child_frames(startframe): new_frames += frame.childFrames() frames = new_frames return results - - -def focus_elem(frame): - """Get the focused element in a web frame. - - Args: - frame: The QWebFrame to search in. - """ - # FIXME:qtwebengine get rid of this - elem = frame.findFirstElement('*:focus') - return WebKitElement(elem, tab=None) diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py index 59b049ffb..234a15052 100644 --- a/qutebrowser/browser/webkit/webkittab.py +++ b/qutebrowser/browser/webkit/webkittab.py @@ -550,8 +550,7 @@ class WebKitElements(browsertab.AbstractElements): hitresult = frame.hitTestContent(pos) if hitresult.isNull(): # For some reason, the whole hit result can be null sometimes (e.g. - # on doodle menu links). If this is the case, we schedule a check - # later (in mouseReleaseEvent) which uses webkitelem.focus_elem. + # on doodle menu links). log.webview.debug("Hit test result is null!") callback(None) return @@ -561,8 +560,7 @@ class WebKitElements(browsertab.AbstractElements): except webkitelem.IsNullError: # For some reason, the hit result element can be a null element # sometimes (e.g. when clicking the timetable fields on - # http://www.sbb.ch/ ). If this is the case, we schedule a check - # later (in mouseReleaseEvent) which uses webelem.focus_elem. + # http://www.sbb.ch/ ). log.webview.debug("Hit test result element is null!") callback(None) return diff --git a/tests/helpers/stubs.py b/tests/helpers/stubs.py index 85f73d98c..50f4e545e 100644 --- a/tests/helpers/stubs.py +++ b/tests/helpers/stubs.py @@ -73,11 +73,7 @@ class FakeKeyEvent: class FakeWebFrame: - """A stub for QWebFrame. - - Attributes: - focus_elem: The 'focused' element. - """ + """A stub for QWebFrame.""" def __init__(self, geometry=None, *, scroll=None, plaintext=None, html=None, parent=None, zoom=1.0): @@ -96,20 +92,10 @@ class FakeWebFrame: self.geometry = mock.Mock(return_value=geometry) self.scrollPosition = mock.Mock(return_value=scroll) self.parentFrame = mock.Mock(return_value=parent) - self.focus_elem = None self.toPlainText = mock.Mock(return_value=plaintext) self.toHtml = mock.Mock(return_value=html) self.zoomFactor = mock.Mock(return_value=zoom) - def findFirstElement(self, selector): - if selector == '*:focus': - if self.focus_elem is not None: - return self.focus_elem - else: - raise Exception("Trying to get focus element but it's unset!") - else: - raise Exception("Unknown selector {!r}!".format(selector)) - class FakeChildrenFrame: diff --git a/tests/unit/browser/webkit/test_webkitelem.py b/tests/unit/browser/webkit/test_webkitelem.py index 34cb4b7e6..8b2029600 100644 --- a/tests/unit/browser/webkit/test_webkitelem.py +++ b/tests/unit/browser/webkit/test_webkitelem.py @@ -681,19 +681,6 @@ class TestIsVisibleIframe: assert not invalid_objects.elems[1].is_visible(invalid_objects.frame) -def test_focus_element(stubs): - """Test getting focus element with a fake frame/element. - - Testing this with a real webpage is almost impossible because the window - and the element would have focus, which is hard to achieve consistently in - a test. - """ - frame = stubs.FakeWebFrame(QRect(0, 0, 100, 100)) - elem = get_webelem() - frame.focus_elem = elem._elem - assert webkitelem.focus_elem(frame)._elem is elem._elem - - class TestRectOnView: @pytest.fixture(autouse=True)