diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-12-24 14:11:38 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-12-24 14:11:38 +0000 |
commit | de49812990871e1705b64051c35161d5e6400269 (patch) | |
tree | 5e1e8fcb0ff4579dbd22a1bfee28a6b97dc8aaeb /net-libs/signon-ui | |
parent | 536c3711867ec947c1738f2c4b96f22e4863322d (diff) |
gentoo resync : 24.12.2018
Diffstat (limited to 'net-libs/signon-ui')
4 files changed, 216 insertions, 0 deletions
diff --git a/net-libs/signon-ui/Manifest b/net-libs/signon-ui/Manifest index 730798bbb7b7..976a4e67e4a1 100644 --- a/net-libs/signon-ui/Manifest +++ b/net-libs/signon-ui/Manifest @@ -1,3 +1,7 @@ +AUX signon-ui-0.15_p20171022-fix-username-field-reading.patch 4338 BLAKE2B ef44759dde1e1f393ce6a6e6a30528049ef1ce480ae9721f006dd4a37ebfc0c0a36937472fcc74731072229894c1a280c2b50e92e059d000d1de5e91435d8fc3 SHA512 2414ffaacb13224bd4edb4beec1cb6c8e576401d2a3b3677b5aaa9140eeea99077c37fcb0115c2400987722d23f822844d3f4cc901adbc85be6d4e098072d28d +AUX signon-ui-0.15_p20171022-webengine-cachedir-path.patch 925 BLAKE2B 5ead2d7a75d2dc011d84a476f0cd1b80c72a54dbb9d06a6d151f9940bbdbcb20494a2ad388aa0590b2148cf0d5d2e455d50425d0292bbeda7e41de366172227e SHA512 e21aafb1cb79033619dc50ee41a81efe8e02be7ce71382ab532beb48d720a514bb7d4abe588c117685b4b643865c4a11eb304a8e0107104393de08afa1d162f7 DIST signon-ui-0.15.tar.bz2 60278 BLAKE2B 9674dbfb184249a8a88fbdbe07e6e1c3d070b3e7ca42666a99ae5cdff31ceefe6a45cde533d77234194dc294722999c48ac16dcf6fe0e67a6ce7d53c711edfbc SHA512 02167d48cec3efbd1b0f39f65732742416b46e638a888a74df02bbfeb6deaefdd81549c8cee1a80ecdc8a9f9d0363a6935e8f105bec40bb798af5cc19a74bf03 +DIST signon-ui-0.15_p20171022.tar.bz2 55849 BLAKE2B 6b97b3f673fb4494c7e32dc345f6c4697acdb19305b9459fe954d88983e4666211926921dac70829435706cdd9a41f36d36241a73905b2a795873c2894ffa8d7 SHA512 d0a4ca222de00abf4000905d917799fc6f9e04a2c3f49d0d0882dc4e90fdbcde14da91f355d10f8a3feac03661febd321ea6de1df227fa5a3c404eaefa7c2d60 EBUILD signon-ui-0.15-r1.ebuild 1015 BLAKE2B 7e3ca87104cc40d0be5869601f4e7582143ff15d587cd32bcf840dd489524fe6b38604521395e7307283eb54ad5a40a77a595ef53f5609e9aeda69a153b4cba6 SHA512 341e8d25a797d7bb92a04137c73dfcb64775184b9aeca531a1d440b862c8cbe2fb33154671c2649c663adfcafb2d9f255a29bc4163d8008be7345ec29a04d738 +EBUILD signon-ui-0.15_p20171022.ebuild 1161 BLAKE2B de493e85187efc72ed06013194e156ab4f54ded6829419724046c8f5a3d2a75a07b61b7a590ec832b5d3b88ed4f0339380cd24af2af474aaf65a7735c6527a64 SHA512 6d33b042f91dff7c1f499235eb6aede2d3eee530fb124aaff14280ff1085e3ea6a05d6819b30ff09d94b668e36f0177e38ab29e708c8cd7b77bc3f174a927a49 MISC metadata.xml 326 BLAKE2B 896ee331ecb5fc149dbd576756e92fd439e6e5b3364e487de418428eb47502cadbb7826c433ce8bf348a7c70e5215dc073aa75a93b8a853920dd9fbacc139927 SHA512 5fae353739749bdc5a688a5819992063f045818006124b8cefbb4ef6a3452d91122931aae8286627b9121f893b97e66a44caa732edfbc2aab9301d8d039b0a7f diff --git a/net-libs/signon-ui/files/signon-ui-0.15_p20171022-fix-username-field-reading.patch b/net-libs/signon-ui/files/signon-ui-0.15_p20171022-fix-username-field-reading.patch new file mode 100644 index 000000000000..accc8d92d91e --- /dev/null +++ b/net-libs/signon-ui/files/signon-ui-0.15_p20171022-fix-username-field-reading.patch @@ -0,0 +1,127 @@ +From 90890e7d27c544e3557bed2f6624614141db0fc4 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt <fabian@ritter-vogt.de> +Date: Sat, 29 Sep 2018 15:34:43 +0200 +Subject: [PATCH] Reintroduce the username field reading with webkit-options.d + +Use WebChannel to spy on the input fields. +Use the old UserAgent to make sure the selectors match. +--- + src/browser-request.cpp | 11 +++++++++++ + src/qml/WebView.qml | 36 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 47 insertions(+) + +diff --git a/src/browser-request.cpp b/src/browser-request.cpp +index 1895d59..e58f302 100644 +--- a/src/browser-request.cpp ++++ b/src/browser-request.cpp +@@ -31,6 +31,7 @@ + #include <QStandardPaths> + #include <QTimer> + #include <SignOn/uisessiondata_priv.h> ++#include <QSettings> + + using namespace SignOnUi; + using namespace SignOnUi::QQuick; +@@ -43,8 +44,10 @@ class BrowserRequestPrivate: public QObject + Q_DECLARE_PUBLIC(BrowserRequest) + Q_PROPERTY(QUrl pageComponentUrl READ pageComponentUrl CONSTANT) + Q_PROPERTY(QUrl currentUrl READ currentUrl WRITE setCurrentUrl) ++ Q_PROPERTY(QString username MEMBER m_username) + Q_PROPERTY(QUrl startUrl READ startUrl CONSTANT) + Q_PROPERTY(QUrl finalUrl READ finalUrl CONSTANT) ++ Q_PROPERTY(QString usernameSelector READ usernameSelector CONSTANT) + + public: + BrowserRequestPrivate(BrowserRequest *request); +@@ -58,6 +61,7 @@ public: + QUrl startUrl() const { return m_startUrl; } + QUrl finalUrl() const { return m_finalUrl; } + QUrl responseUrl() const { return m_responseUrl; } ++ QString usernameSelector() const { return m_settings->value("UsernameField").toString(); } + + public Q_SLOTS: + void cancel(); +@@ -77,6 +81,8 @@ private: + QUrl m_startUrl; + QUrl m_finalUrl; + QUrl m_responseUrl; ++ QString m_username; ++ QSettings *m_settings; + QTimer m_failTimer; + mutable BrowserRequest *q_ptr; + }; +@@ -116,6 +122,9 @@ void BrowserRequestPrivate::start() + + m_finalUrl = params.value(SSOUI_KEY_FINALURL).toString(); + m_startUrl = params.value(SSOUI_KEY_OPENURL).toString(); ++ ++ m_settings = new QSettings("signon-ui/webkit-options.d/" + m_startUrl.host(), QString(), this); ++ + buildDialog(params); + + QObject::connect(m_dialog, SIGNAL(finished(int)), +@@ -231,6 +240,8 @@ void BrowserRequestPrivate::onFinished() + QVariantMap reply; + QUrl url = m_responseUrl.isEmpty() ? m_currentUrl : m_responseUrl; + reply[SSOUI_KEY_URLRESPONSE] = url.toString(); ++ if (!m_username.isEmpty()) ++ reply[SSOUI_KEY_USERNAME] = m_username; + + m_dialog->close(); + +diff --git a/src/qml/WebView.qml b/src/qml/WebView.qml +index 33462b8..3af0239 100644 +--- a/src/qml/WebView.qml ++++ b/src/qml/WebView.qml +@@ -1,4 +1,5 @@ + import QtQuick 2.0 ++import QtWebChannel 1.0 + import QtWebEngine 1.1 + + WebEngineView { +@@ -25,8 +26,43 @@ WebEngineView { + profile: WebEngineProfile { + cachePath: rootDir + persistentStoragePath: rootDir ++ // For compatibility with the webkit-options.d values ++ httpUserAgent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) Safari/537.21" + } + ++ QtObject { ++ id: commProxy ++ WebChannel.id: "comm" ++ property string username: "" ++ property string selector: signonRequest.usernameSelector ++ onUsernameChanged: signonRequest.username = username ++ } ++ ++ WebChannel { ++ id: chan ++ registeredObjects: [commProxy] ++ } ++ webChannel: chan ++ ++ WebEngineScript { ++ id: qwebchannel ++ injectionPoint: WebEngineScript.DocumentCreation ++ sourceUrl: "qrc:/qtwebchannel/qwebchannel.js" ++ worldId: WebEngineScript.MainWorld ++ } ++ ++ WebEngineScript { ++ id: commScript ++ injectionPoint: WebEngineScript.DocumentReady ++ sourceCode: "new QWebChannel(window.qt.webChannelTransport, function(channel) {" + ++ " var elem = document.querySelector(channel.objects.comm.selector);" + ++ " elem.addEventListener('keyup', function() { channel.objects.comm.username = elem.value; });" + ++ "});" ++ worldId: WebEngineScript.MainWorld ++ } ++ ++ userScripts: [qwebchannel, commScript] ++ + ProgressBar { + anchors.top: parent.top + anchors.left: parent.left +-- +2.18.0 diff --git a/net-libs/signon-ui/files/signon-ui-0.15_p20171022-webengine-cachedir-path.patch b/net-libs/signon-ui/files/signon-ui-0.15_p20171022-webengine-cachedir-path.patch new file mode 100644 index 000000000000..3a056484acdc --- /dev/null +++ b/net-libs/signon-ui/files/signon-ui-0.15_p20171022-webengine-cachedir-path.patch @@ -0,0 +1,25 @@ +From e155e6e70ce7a6c52837688b570e8020faac5496 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt <fabian@ritter-vogt.de> +Date: Sat, 8 Sep 2018 18:58:42 +0200 +Subject: [PATCH] Fix WebEngine cache directory path + +Otherwise the URL is treated as a path, which results in a folder "file:" in ~. +--- + src/browser-request.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/browser-request.cpp b/src/browser-request.cpp +index 146bec8..1895d59 100644 +--- a/src/browser-request.cpp ++++ b/src/browser-request.cpp +@@ -132,7 +132,7 @@ void BrowserRequestPrivate::start() + + m_dialog->rootContext()->setContextProperty("request", this); + m_dialog->rootContext()->setContextProperty("rootDir", +- QUrl::fromLocalFile(rootDir.absolutePath())); ++ rootDir.absolutePath()); + m_dialog->setSource(webview); + } + +-- +2.18.0 diff --git a/net-libs/signon-ui/signon-ui-0.15_p20171022.ebuild b/net-libs/signon-ui/signon-ui-0.15_p20171022.ebuild new file mode 100644 index 000000000000..0be0cf2ea2b4 --- /dev/null +++ b/net-libs/signon-ui/signon-ui-0.15_p20171022.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +COMMIT=4368bb77d9d1abc2978af514225ba4a42c29a646 +inherit qmake-utils + +DESCRIPTION="Online accounts signon UI" +HOMEPAGE="https://gitlab.com/accounts-sso/signon-ui" +SRC_URI="https://gitlab.com/accounts-sso/${PN}/-/archive/${COMMIT}/${PN}-${COMMIT}.tar.bz2 -> ${P}.tar.bz2" + +LICENSE="GPL-2 GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +BDEPEND="test? ( dev-qt/qttest:5 )" +DEPEND=" + dev-libs/glib:2 + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtdeclarative:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5[ssl] + dev-qt/qtwebengine:5 + dev-qt/qtwidgets:5 + net-libs/accounts-qt + net-libs/signond + net-libs/libproxy + x11-libs/libnotify +" +RDEPEND="${DEPEND} + dev-qt/qtwebchannel:5 +" + +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${P}-webengine-cachedir-path.patch" + "${FILESDIR}/${P}-fix-username-field-reading.patch" +) + +S="${WORKDIR}/${PN}-${COMMIT}" + +src_prepare() { + default + + if ! use test; then + sed -i -e '/^SUBDIRS.*/,+1d' tests/tests.pro || die "couldn't disable tests" + fi +} + +src_configure() { + eqmake5 +} + +src_install() { + emake INSTALL_ROOT="${D}" install +} |