From 6974f8c25446d9cd2baae1be3298435f79d6b021 Mon Sep 17 00:00:00 2001 From: Juraj Oravec Date: Sun, 5 Jan 2020 17:47:39 +0100 Subject: [PATCH] GreaseMonkey: Fix detecting *.user.js urls Test Plan: Try to install userscript from http://greasyfork.org/ Reviewers: #falkon, drosca Reviewed By: #falkon, drosca Subscribers: falkon Tags: #falkon Differential Revision: https://phabricator.kde.org/D26436 --- src/plugins/GreaseMonkey/gm_plugin.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/GreaseMonkey/gm_plugin.cpp b/src/plugins/GreaseMonkey/gm_plugin.cpp index a36180fd1..133adf64a 100644 --- a/src/plugins/GreaseMonkey/gm_plugin.cpp +++ b/src/plugins/GreaseMonkey/gm_plugin.cpp @@ -25,6 +25,8 @@ #include "webtab.h" #include "../config.h" +#include + GM_Plugin::GM_Plugin() : QObject() , m_manager(0) @@ -69,7 +71,13 @@ bool GM_Plugin::acceptNavigationRequest(WebPage *page, const QUrl &url, QWebEngi Q_UNUSED(page) Q_UNUSED(isMainFrame) - if (type == QWebEnginePage::NavigationTypeLinkClicked && url.toString().endsWith(QLatin1String(".user.js"))) { +#if QTWEBENGINE_VERSION >= QT_VERSION_CHECK(5, 14, 0) + bool navigationType = type == QWebEnginePage::NavigationTypeLinkClicked || type == QWebEnginePage::NavigationTypeRedirect; +#else + bool navigationType = type == QWebEnginePage::NavigationTypeLinkClicked; +#endif + + if (navigationType && url.toString().endsWith(QLatin1String(".user.js"))) { m_manager->downloadScript(url); return false; }