Add method to cleanup link markers

This is mostly for testing purposes; we need to clear them on scroll,
move, and other things that cause trouble
wilder-activities
Jacopo De Simoi 6 years ago
parent 21a9a007e0
commit cbdb7c987c
  1. 5
      src/lib/webengine/webpage.cpp
  2. 1
      src/lib/webengine/webpage.h
  3. 9
      src/lib/webengine/webview.cpp
  4. 1
      src/lib/webengine/webview.h

@ -707,6 +707,11 @@ void WebPage::getLinkMarkers() {
runJavaScript("Marker.generateMarker('a, input, button, [class*=\"btn\"], [aria-haspopup], [role=\"button\"], textarea, select, summary, [class=\"gap\"], [ng-click]')");
}
void WebPage::clearLinkMarkers() {
runJavaScript("document.querySelector('.eaf-marker-container').remove();");
runJavaScript("document.querySelector('.eaf-style').remove();");
}
QWebEnginePage* WebPage::createWindow(QWebEnginePage::WebWindowType type)
{
TabbedWebView *tView = qobject_cast<TabbedWebView*>(view());

@ -77,6 +77,7 @@ public:
static void removeSupportedScheme(const QString &scheme);
void getLinkMarkers();
void clearLinkMarkers();
Q_SIGNALS:
void privacyChanged(bool status);

@ -60,6 +60,7 @@ WebView::WebView(QWidget* parent)
, m_backgroundActivity(false)
, m_page(0)
, m_firstLoad(false)
, m_followLink(false)
{
connect(this, &QWebEngineView::loadStarted, this, &WebView::slotLoadStarted);
connect(this, &QWebEngineView::loadProgress, this, &WebView::slotLoadProgress);
@ -1208,7 +1209,13 @@ void WebView::_keyReleaseEvent(QKeyEvent *event)
}
break;
case Qt::Key_F:
page()->getLinkMarkers();
if (!m_followLink) {
page()->getLinkMarkers();
m_followLink = true;
} else {
page()->clearLinkMarkers();
m_followLink = false;
}
event->accept();
default:
break;

@ -188,6 +188,7 @@ private:
WebPage* m_page;
bool m_firstLoad;
bool m_followLink;
QPointer<QWidget> m_rwhvqt;
WheelHelper m_wheelHelper;

Loading…
Cancel
Save