diff --git a/src/lib/data/html.qrc b/src/lib/data/html.qrc
index 34f890a2e..ecd44d677 100644
--- a/src/lib/data/html.qrc
+++ b/src/lib/data/html.qrc
@@ -11,6 +11,7 @@
html/config.html
html/restore.html
html/restore.user.js
+ html/marker.js
html/tabcrash.html
html/close.svg
html/configure.svg
diff --git a/js/marker.js b/src/lib/data/html/marker.js
similarity index 100%
rename from js/marker.js
rename to src/lib/data/html/marker.js
diff --git a/src/lib/webengine/webpage.cpp b/src/lib/webengine/webpage.cpp
index 15f91e53b..aae1f185f 100644
--- a/src/lib/webengine/webpage.cpp
+++ b/src/lib/webengine/webpage.cpp
@@ -295,6 +295,9 @@ void WebPage::finished()
// AutoFill
m_autoFillUsernames = mApp->autoFill()->completePage(this, url());
+
+ // inject marker.js
+ runJavaScript(QzTools::readAllFileContents(QSL(":html/marker.js")));
}
void WebPage::watchedFileChanged(const QString &file)
@@ -687,6 +690,10 @@ void WebPage::javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, cons
std::cout << qPrintable(sourceID) << ":" << lineNumber << " " << qPrintable(message);
}
+void WebPage::getLinkMarkers() {
+ runJavaScript("Marker.generateMarker('a, input, button, [class*=\"btn\"], [aria-haspopup], [role=\"button\"], textarea, select, summary, [class=\"gap\"], [ng-click]')");
+}
+
QWebEnginePage* WebPage::createWindow(QWebEnginePage::WebWindowType type)
{
auto *tView = qobject_cast(view());
diff --git a/src/lib/webengine/webpage.h b/src/lib/webengine/webpage.h
index a61e8c41d..4aff9ad06 100644
--- a/src/lib/webengine/webpage.h
+++ b/src/lib/webengine/webpage.h
@@ -77,6 +77,8 @@ public:
static void addSupportedScheme(const QString &scheme);
static void removeSupportedScheme(const QString &scheme);
+ void getLinkMarkers();
+
Q_SIGNALS:
void privacyChanged(bool status);
void printRequested();
diff --git a/src/lib/webengine/webview.cpp b/src/lib/webengine/webview.cpp
index 4047e24dc..11f2e4282 100644
--- a/src/lib/webengine/webview.cpp
+++ b/src/lib/webengine/webview.cpp
@@ -1203,7 +1203,9 @@ void WebView::_keyReleaseEvent(QKeyEvent *event)
event->accept();
}
break;
-
+ case Qt::Key_F:
+ page()->getLinkMarkers();
+ event->accept();
default:
break;
}