def _init_widget(self, widget):
     super()._init_widget(widget)
     page = widget.page()
     try:
         page.scrollPositionChanged.connect(self._update_pos)
     except AttributeError:
         log.stub('scrollPositionChanged, on Qt < 5.7')
         self._pos_perc = (None, None)
Beispiel #2
0
 def _init_widget(self, widget):
     super()._init_widget(widget)
     page = widget.page()
     try:
         page.scrollPositionChanged.connect(
             self._on_scroll_pos_changed)
     except AttributeError:
         log.stub('scrollPositionChanged, on Qt < 5.7')
     self._on_scroll_pos_changed()
def init():
    """Initialize all QWeb(Engine)Settings."""
    if objreg.get('args').backend == 'webengine':
        # from qutebrowser.browser.webengine import webenginesettings
        # webenginesettings.init()
        log.stub('with QtWebEngine')
    else:
        from qutebrowser.browser.webkit import webkitsettings
        webkitsettings.init()
Beispiel #4
0
    def text(self, *, use_js=False):
        """Get the plain text content for this element.

        Args:
            use_js: Whether to use javascript if the element isn't
                    content-editable.
        """
        if use_js:
            # FIXME:qtwebengine what to do about use_js with WebEngine?
            log.stub('with use_js=True')
        return self._js_dict.get('text', '')
Beispiel #5
0
 def _connect_signals(self):
     view = self._widget
     page = view.page()
     page.windowCloseRequested.connect(self.window_close_requested)
     page.linkHovered.connect(self.link_hovered)
     page.loadProgress.connect(self._on_load_progress)
     page.loadStarted.connect(self._on_load_started)
     view.titleChanged.connect(self.title_changed)
     view.urlChanged.connect(self._on_url_changed)
     page.loadFinished.connect(self._on_load_finished)
     page.certificate_error.connect(self._on_ssl_errors)
     try:
         view.iconChanged.connect(self.icon_changed)
     except AttributeError:
         log.stub('iconChanged, on Qt < 5.7')
Beispiel #6
0
    def rect_on_view(self, *, elem_geometry=None, adjust_zoom=True,
                     no_js=False):
        """Get the geometry of the element relative to the webview.

        Uses the getClientRects() JavaScript method to obtain the collection of
        rectangles containing the element and returns the first rectangle which
        is large enough (larger than 1px times 1px). If all rectangles returned
        by getClientRects() are too small, falls back to elem.rect_on_view().

        Skipping of small rectangles is due to <a> elements containing other
        elements with "display:block" style, see
        https://github.com/The-Compiler/qutebrowser/issues/1298

        Args:
            elem_geometry: The geometry of the element, or None.
                           Calling QWebElement::geometry is rather expensive so
                           we want to avoid doing it twice.
            adjust_zoom: Whether to adjust the element position based on the
                         current zoom level.
            no_js: Fall back to the Python implementation
        """
        log.stub()
        return QRect()
    def _connect_signals(self):
        view = self._widget
        page = view.page()

        page.windowCloseRequested.connect(self.window_close_requested)
        page.linkHovered.connect(self.link_hovered)
        page.loadProgress.connect(self._on_load_progress)
        page.loadStarted.connect(self._on_load_started)
        page.loadFinished.connect(self._on_history_trigger)
        page.loadFinished.connect(self._restore_zoom)
        page.loadFinished.connect(self._on_load_finished)
        page.certificate_error.connect(self._on_ssl_errors)
        page.authenticationRequired.connect(self._on_authentication_required)

        view.titleChanged.connect(self.title_changed)
        view.urlChanged.connect(self._on_url_changed)
        try:
            view.iconChanged.connect(self.icon_changed)
        except AttributeError:
            log.stub('iconChanged, on Qt < 5.7')
        try:
            page.contentsSizeChanged.connect(self.contents_size_changed)
        except AttributeError:
            log.stub('contentsSizeChanged, on Qt < 5.7')
Beispiel #8
0
 def load_items(self, items):
     log.stub()
Beispiel #9
0
 def icon(self):
     try:
         return self._widget.icon()
     except AttributeError:
         log.stub('on Qt < 5.7')
         return QIcon()
Beispiel #10
0
 def __setitem__(self, key, val):
     log.stub()
Beispiel #11
0
 def run_js_async(self, code, callback=None):
     """Run the given JS snippet async on the element."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
Beispiel #12
0
 def __delitem__(self, key: str) -> None:
     log.stub()
Beispiel #13
0
 def geometry(self):
     log.stub()
     return QRect()
Beispiel #14
0
 def icon(self):
     try:
         return self._widget.icon()
     except AttributeError:
         log.stub('on Qt < 5.7')
         return QIcon()
Beispiel #15
0
 def remove_from_document(self):
     """Remove the node from the document."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
Beispiel #16
0
 def drop_selection(self):
     log.stub()
Beispiel #17
0
 def follow_selected(self, *, tab=False):
     log.stub()
Beispiel #18
0
 def toggle_selection(self):
     log.stub()
Beispiel #19
0
 def move_to_end_of_document(self):
     log.stub()
Beispiel #20
0
 def move_to_start_of_document(self):
     log.stub()
Beispiel #21
0
 def classes(self):
     """Get a list of classes assigned to this element."""
     log.stub()
     return []
Beispiel #22
0
 def document_element(self):
     log.stub()
     return None
Beispiel #23
0
def test_stub(caplog, suffix, expected):
    with caplog.at_level(logging.WARNING, 'misc'):
        log.stub(suffix)
    assert len(caplog.records) == 1
    assert caplog.records[0].message == expected
Beispiel #24
0
 def parent(self):
     """Get the parent element of this element."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
     return None
Beispiel #25
0
 def __delitem__(self, key):
     log.stub()
Beispiel #26
0
def test_stub(caplog, suffix, expected):
    with caplog.at_level(logging.WARNING, 'misc'):
        log.stub(suffix)
    assert caplog.messages == [expected]
Beispiel #27
0
 def find_first(self, selector):
     log.stub()
     return None
Beispiel #28
0
 def style_property(self, name, *, strategy):
     log.stub()
     return ''
Beispiel #29
0
 def __setitem__(self, key, val):
     log.stub()
Beispiel #30
0
 def geometry(self) -> QRect:
     log.stub()
     return QRect()
Beispiel #31
0
 def classes(self):
     """Get a list of classes assigned to this element."""
     log.stub()
     return []
Beispiel #32
0
 def __delitem__(self, key: str) -> None:
     utils.unused(key)
     log.stub()
Beispiel #33
0
 def follow_selected(self, *, tab=False):
     log.stub()
Beispiel #34
0
 def move_to_next_line(self, count=1):
     log.stub()
Beispiel #35
0
 def at_bottom(self):
     log.stub()
Beispiel #36
0
 def move_to_prev_line(self, count=1):
     log.stub()
Beispiel #37
0
 def shutdown(self):
     log.stub()
Beispiel #38
0
 def move_to_next_char(self, count=1):
     log.stub()
Beispiel #39
0
 def clear_ssl_errors(self):
     log.stub()
Beispiel #40
0
 def move_to_prev_char(self, count=1):
     log.stub()
Beispiel #41
0
 def createWindow(self, _typ):
     """Handle new windows via JS."""
     log.stub()
     return None
Beispiel #42
0
 def move_to_end_of_word(self, count=1):
     log.stub()
Beispiel #43
0
 def set_inner_xml(self, xml):
     """Set the given inner XML."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
Beispiel #44
0
 def move_to_next_word(self, count=1):
     log.stub()
Beispiel #45
0
 def set_style_property(self, name, value):
     """Set the element style."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
Beispiel #46
0
 def move_to_prev_word(self, count=1):
     log.stub()
Beispiel #47
0
 def frame(self):
     log.stub()
     return None
Beispiel #48
0
 def move_to_start_of_line(self):
     log.stub()
Beispiel #49
0
 def create_inside(self, tagname):
     log.stub()
     return None
Beispiel #50
0
 def move_to_end_of_line(self):
     log.stub()
Beispiel #51
0
 def run_js_async(self, code, callback=None):
     """Run the given JS snippet async on the element."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
Beispiel #52
0
 def move_to_start_of_next_block(self, count=1):
     log.stub()
Beispiel #53
0
 def is_visible(self, mainframe):
     """Check if the given element is visible in the given frame."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
     return True
Beispiel #54
0
 def move_to_start_of_prev_block(self, count=1):
     log.stub()
Beispiel #55
0
 def __delitem__(self, key):
     log.stub()
Beispiel #56
0
 def move_to_end_of_prev_block(self, count=1):
     log.stub()
Beispiel #57
0
 def style_property(self, name, *, strategy):
     log.stub()
     return ''
Beispiel #58
0
 def parent(self):
     """Get the parent element of this element."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
     return None
Beispiel #59
0
 def move_to_end_of_next_block(self, count=1):
     log.stub()
Beispiel #60
0
 def is_visible(self, mainframe):
     """Check if the given element is visible in the given frame."""
     # FIXME:qtwebengine get rid of this?
     log.stub()
     return True