From e5b1ef6559485dbbf2d8646f8feb7cf3e7ed09e6 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sat, 15 Aug 2020 15:29:17 -0400 Subject: [PATCH] Load markers and test --- src/lib/data/html.qrc | 1 + {js => src/lib/data/html}/marker.js | 0 src/lib/webengine/webpage.cpp | 7 +++++++ src/lib/webengine/webpage.h | 2 ++ src/lib/webengine/webview.cpp | 4 +++- 5 files changed, 13 insertions(+), 1 deletion(-) rename {js => src/lib/data/html}/marker.js (100%) 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; }