Hello community,

here is the log from the commit of package libkgapi for openSUSE:Factory 
checked in at 2017-05-08 19:01:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkgapi (Old)
 and      /work/SRC/openSUSE:Factory/.libkgapi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkgapi"

Mon May  8 19:01:01 2017 rev:17 rq:491703 version:17.04.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libkgapi/libkgapi.changes        2016-10-10 
17:34:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libkgapi.new/libkgapi.changes   2017-05-08 
19:01:02.788821241 +0200
@@ -1,0 +2,79 @@
+Thu Apr 27 21:01:24 UTC 2017 - [email protected]
+
+- Add upstream patch adapt-to-changes-in-google-oauth.patch:
+  * Fix for changes in Google OAuth process
+
+-------------------------------------------------------------------
+Fri Apr 21 07:41:05 UTC 2017 - [email protected]
+
+- Remove all Recommends on non-core packages, since they will
+  require the core one
+
+-------------------------------------------------------------------
+Fri Apr 21 07:20:14 UTC 2017 - [email protected]
+
+- Make libKPimGAPICore5 provide libkgapi, so that instaling 
+  languages (which use a single file) will work
+
+-------------------------------------------------------------------
+Sun Apr 16 10:45:15 CEST 2017 - [email protected]
+
+- Update to 17.04.0
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/announce-applications-17.04.0.php
+- Changes since 17.03.90:
+  * Fix some clazy warning
+
+-------------------------------------------------------------------
+Wed Apr 12 20:26:03 CEST 2017 - [email protected]
+
+- Update to 17.03.90
+  * New bugfix release
+  * For more details please see:
+  * https://www.kde.org/announcements/announce-applications-17.04-rc.php
+- Changes since 17.03.80:
+  * None
+
+-------------------------------------------------------------------
+Fri Mar 31 18:29:51 UTC 2017 - [email protected]
+
+- Build only for architectures compatible with Qt WebEngine
+
+-------------------------------------------------------------------
+Sat Mar 25 23:10:59 CET 2017 - [email protected]
+
+- Update to 17.03.80
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/announce-applications-17.03.80.php
+- Changes since 5.3.1:
+  * increase dependancies
+  * Use KDE_INSTALL_TARGETS_DEFAULT_ARGS when installing targets
+  * It's in official release + we don't use i18n
+  * Fixup .reviewboardrc
+  * src/latitude/latitudeservice.cpp - Q_UNUSED
+  * Make Qt l10 tools happier
+  * Fix version
+  * AuthJob: emit finished() when dialog is rejected
+  * Rename CMake target prefix from KF5 to KPim
+  * Fix typo in quotaBytesUserAggregate() method
+  * Fix compile with Qt 5.8: add missing QImage includes
+  * Fix compile with Qt 5.8: add missing QImage includes
+  * USe nullptr
+  * Add missing Q_DECL_OVERRIDE
+  * Clean up. Increase qt dependancy
+  * use Q_NULLPTR
+  * Increase version
+  * increase version
+  * drive: deprecate hidden() and setHidden() in File
+  * Relicense to LGPLv2.1 or v3 or later versions approved by KDE e.V.
+  * Remove stray WebKitWidgets reference.
+  * Remove unused KF5CoreAddons dependency.
+  * Switch to QtWebEngine
+  * Move tests to autotests
+  * Update AUTHORS
+  * Increase version
+  * Fix ts2Str() UTC conversion
+
+-------------------------------------------------------------------

Old:
----
  libkgapi-5.3.1.tar.xz

New:
----
  adapt-to-changes-in-google-oauth.patch
  libkgapi-17.04.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libkgapi.spec ++++++
--- /var/tmp/diff_new_pack.2GR7n1/_old  2017-05-08 19:01:03.624703160 +0200
+++ /var/tmp/diff_new_pack.2GR7n1/_new  2017-05-08 19:01:03.628702595 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libkgapi
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,93 +16,94 @@
 #
 
 
+%bcond_without lang
+
 Name:           libkgapi
-Version:        5.3.1
+Version:        17.04.0
 Release:        0
+# Latest stable Applications (e.g. 16.08 in KA, but 16.11.80 in KUA)
+%{!?_kapp_version: %global _kapp_version %(echo %{version}| awk -F. '{print 
$1"."$2}')}
 Summary:        Extension for accessing your Google data
 License:        GPL-2.0+
 Group:          System/GUI/KDE
 Url:            http://www.kde.org
-Source0:        
http://download.kde.org/stable/%{name}/%{version}/src/%{name}-%{version}.tar.xz
-BuildRequires:  extra-cmake-modules >= 5.17.0
+Source0:        %{name}-%{version}.tar.xz
+# PATCH-FIX-UPSTREAM
+Patch0:         adapt-to-changes-in-google-oauth.patch
+BuildRequires:  extra-cmake-modules >= 1.0.0
+BuildRequires:  kcalcore-devel
+BuildRequires:  kcontacts5-devel
+BuildRequires:  kcoreaddons-devel
+BuildRequires:  kdelibs4support-devel
 BuildRequires:  kf5-filesystem
-BuildRequires:  cmake(KF5CalendarCore) >= 5.2.80
-BuildRequires:  cmake(KF5Contacts) >= 5.2.80
-BuildRequires:  cmake(KF5CoreAddons) >= 5.17.0
-BuildRequires:  cmake(KF5KIO) >= 5.17.0
-BuildRequires:  cmake(KF5WindowSystem) >= 5.17.0
-BuildRequires:  cmake(Qt5Core) >= 5.4.0
-BuildRequires:  cmake(Qt5LinguistTools) >= 5.4.0
-BuildRequires:  cmake(Qt5WebKitWidgets) >= 5.4.0
-BuildRequires:  cmake(Qt5Widgets) >= 5.4.0
-BuildRequires:  cmake(Qt5Xml) >= 5.4.0
+BuildRequires:  pkgconfig
+BuildRequires:  cmake(Qt5LinguistTools)
+BuildRequires:  pkgconfig(Qt5Test) >= 5.2.0
+BuildRequires:  pkgconfig(Qt5WebEngineWidgets) >= 5.6.0
+BuildRequires:  pkgconfig(Qt5WebKitWidgets) >= 5.2.0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+# It can only build on the same platforms as Qt Webengine
+ExclusiveArch:  %ix86 x86_64 %arm aarch64 mips mips64
 
 %description
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPIBlogger5
+%package -n libKPimGAPIBlogger5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
 
-%description -n libKF5GAPIBlogger5
+%description -n libKPimGAPIBlogger5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPICalendar5
+%package -n libKPimGAPICalendar5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
 
-%description -n libKF5GAPICalendar5
+%description -n libKPimGAPICalendar5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPIContacts5
+%package -n libKPimGAPIContacts5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
 
-%description -n libKF5GAPIContacts5
+%description -n libKPimGAPIContacts5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPICore5
+%package -n libKPimGAPICore5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
+Recommends:     %{name}-lang
+Provides:       %{name} = %{version}
 
-%description -n libKF5GAPICore5
+%description -n libKPimGAPICore5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPIDrive5
+%package -n libKPimGAPIDrive5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
 
-%description -n libKF5GAPIDrive5
+%description -n libKPimGAPIDrive5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPILatitude5
+%package -n libKPimGAPILatitude5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
 
-%description -n libKF5GAPILatitude5
+%description -n libKPimGAPILatitude5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPIMaps5
+%package -n libKPimGAPIMaps5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
 
-%description -n libKF5GAPIMaps5
+%description -n libKPimGAPIMaps5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
-%package -n libKF5GAPITasks5
+%package -n libKPimGAPITasks5
 Summary:        Extension for accessing your Google data
 Group:          System/GUI/KDE
-Recommends:     %{name}-lang = %{version}
 
-%description -n libKF5GAPITasks5
+%description -n libKPimGAPITasks5
 An extension for accessing some Google services, such as Google Calendar, 
Google Contacts and Google tasks.
 
 %package devel
@@ -111,14 +112,14 @@
 Requires:       kcalcore-devel
 Requires:       kcontacts5-devel
 Requires:       kcoreaddons-devel
-Requires:       libKF5GAPIBlogger5 = %{version}
-Requires:       libKF5GAPICalendar5 = %{version}
-Requires:       libKF5GAPIContacts5 = %{version}
-Requires:       libKF5GAPICore5 = %{version}
-Requires:       libKF5GAPIDrive5 = %{version}
-Requires:       libKF5GAPILatitude5 = %{version}
-Requires:       libKF5GAPIMaps5 = %{version}
-Requires:       libKF5GAPITasks5 = %{version}
+Requires:       libKPimGAPIBlogger5 = %{version}
+Requires:       libKPimGAPICalendar5 = %{version}
+Requires:       libKPimGAPIContacts5 = %{version}
+Requires:       libKPimGAPICore5 = %{version}
+Requires:       libKPimGAPIDrive5 = %{version}
+Requires:       libKPimGAPILatitude5 = %{version}
+Requires:       libKPimGAPIMaps5 = %{version}
+Requires:       libKPimGAPITasks5 = %{version}
 Obsoletes:      libkgapi5-devel < %{version}
 Provides:       libkgapi5-devel = %{version}
 
@@ -126,17 +127,13 @@
 This package contains all necessary include files and libraries needed
 to develop KDE PIM applications.
 
-%package lang 
-Summary:        Languages for package %{name}
-Group:          System/Localization
-BuildArch:      noarch
-
-%description lang
-Provides translations to the package %{name}
-
+%if %{with lang}
+%lang_package
+%endif
 
 %prep
 %setup -q -n libkgapi-%{version}
+%patch0 -p1
 
 %build
   %cmake_kf5 -d build -- -DBUILD_TESTING=ON
@@ -144,94 +141,82 @@
 
 %install
   %kf5_makeinstall -C build
-  %find_lang libkgapi_qt --with-qt --all-name
-
-%post -n libKF5GAPIBlogger5 -p /sbin/ldconfig
-
-%postun -n libKF5GAPIBlogger5 -p /sbin/ldconfig
-
-%post -n libKF5GAPICalendar5 -p /sbin/ldconfig
-
-%postun -n libKF5GAPICalendar5 -p /sbin/ldconfig
-
-%post -n libKF5GAPIContacts5 -p /sbin/ldconfig
-
-%postun -n libKF5GAPIContacts5 -p /sbin/ldconfig
-
-%post -n libKF5GAPICore5 -p /sbin/ldconfig
+  %if %{with lang}
+    %find_lang %{name} --with-man --with-qt --all-name
+  %endif
 
-%postun -n libKF5GAPICore5 -p /sbin/ldconfig
+%post -n libKPimGAPIBlogger5 -p /sbin/ldconfig
+%postun -n libKPimGAPIBlogger5 -p /sbin/ldconfig
+%post -n libKPimGAPICalendar5 -p /sbin/ldconfig
+%postun -n libKPimGAPICalendar5 -p /sbin/ldconfig
+%post -n libKPimGAPIContacts5 -p /sbin/ldconfig
+%postun -n libKPimGAPIContacts5 -p /sbin/ldconfig
+%post -n libKPimGAPICore5 -p /sbin/ldconfig
+%postun -n libKPimGAPICore5 -p /sbin/ldconfig
+%post -n libKPimGAPIDrive5 -p /sbin/ldconfig
+%postun -n libKPimGAPIDrive5 -p /sbin/ldconfig
+%post -n libKPimGAPILatitude5 -p /sbin/ldconfig
+%postun -n libKPimGAPILatitude5 -p /sbin/ldconfig
+%post -n libKPimGAPIMaps5 -p /sbin/ldconfig
+%postun -n libKPimGAPIMaps5 -p /sbin/ldconfig
+%post -n libKPimGAPITasks5 -p /sbin/ldconfig
+%postun -n libKPimGAPITasks5 -p /sbin/ldconfig
 
-%post -n libKF5GAPIDrive5 -p /sbin/ldconfig
-
-%postun -n libKF5GAPIDrive5 -p /sbin/ldconfig
-
-%post -n libKF5GAPILatitude5 -p /sbin/ldconfig
-
-%postun -n libKF5GAPILatitude5 -p /sbin/ldconfig
-
-%post -n libKF5GAPIMaps5 -p /sbin/ldconfig
-
-%postun -n libKF5GAPIMaps5 -p /sbin/ldconfig
-
-%post -n libKF5GAPITasks5 -p /sbin/ldconfig
-
-%postun -n libKF5GAPITasks5 -p /sbin/ldconfig
-
-%files -n libKF5GAPIBlogger5
+%files -n libKPimGAPIBlogger5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPIBlogger.so.*
+%{_kf5_libdir}/libKPimGAPIBlogger.so.*
 
-%files -n libKF5GAPICalendar5
+%files -n libKPimGAPICalendar5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPICalendar.so.*
+%{_kf5_libdir}/libKPimGAPICalendar.so.*
 
-%files -n libKF5GAPIContacts5
+%files -n libKPimGAPIContacts5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPIContacts.so.*
+%{_kf5_libdir}/libKPimGAPIContacts.so.*
 
-%files -n libKF5GAPICore5
+%files -n libKPimGAPICore5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPICore.so.*
+%{_kf5_libdir}/libKPimGAPICore.so.*
 %{_kf5_configdir}/libkgapi.categories
 
-%files -n libKF5GAPIDrive5
+%files -n libKPimGAPIDrive5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPIDrive.so.*
+%{_kf5_libdir}/libKPimGAPIDrive.so.*
 
-%files -n libKF5GAPILatitude5
+%files -n libKPimGAPILatitude5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPILatitude.so.*
+%{_kf5_libdir}/libKPimGAPILatitude.so.*
 
-%files -n libKF5GAPIMaps5
+%files -n libKPimGAPIMaps5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPIMaps.so.*
+%{_kf5_libdir}/libKPimGAPIMaps.so.*
 
-%files -n libKF5GAPITasks5
+%files -n libKPimGAPITasks5
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPITasks.so.*
+%{_kf5_libdir}/libKPimGAPITasks.so.*
 
 %files devel
 %defattr(-,root,root)
 %doc LICENSE
-%{_kf5_libdir}/libKF5GAPIBlogger.so
-%{_kf5_libdir}/libKF5GAPICalendar.so
-%{_kf5_libdir}/libKF5GAPIContacts.so
-%{_kf5_libdir}/libKF5GAPICore.so
-%{_kf5_libdir}/libKF5GAPIDrive.so
-%{_kf5_libdir}/libKF5GAPILatitude.so
-%{_kf5_libdir}/libKF5GAPIMaps.so
-%{_kf5_libdir}/libKF5GAPITasks.so
-%{_kf5_includedir}/
+%{_kf5_libdir}/libKPimGAPIBlogger.so
+%{_kf5_libdir}/libKPimGAPICalendar.so
+%{_kf5_libdir}/libKPimGAPIContacts.so
+%{_kf5_libdir}/libKPimGAPICore.so
+%{_kf5_libdir}/libKPimGAPIDrive.so
+%{_kf5_libdir}/libKPimGAPILatitude.so
+%{_kf5_libdir}/libKPimGAPIMaps.so
+%{_kf5_libdir}/libKPimGAPITasks.so
+%{_includedir}/KPim/
 %{_kf5_libdir}/cmake/KF5GAPI/
+%{_kf5_libdir}/cmake/KPimGAPI/
 %{_kf5_mkspecsdir}/qt_KGAPIBlogger.pri
 %{_kf5_mkspecsdir}/qt_KGAPICalendar.pri
 %{_kf5_mkspecsdir}/qt_KGAPIContacts.pri
@@ -241,7 +226,9 @@
 %{_kf5_mkspecsdir}/qt_KGAPIMaps.pri
 %{_kf5_mkspecsdir}/qt_KGAPITasks.pri
 
-%files lang -f libkgapi_qt.lang
-%defattr(-,root,root,-)
+%if %{with lang}
+%files lang -f %{name}.lang
+%doc LICENSE
+%endif
 
 %changelog

++++++ adapt-to-changes-in-google-oauth.patch ++++++
>From 68b89bce22d0da234345ccffb869ae6863592624 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <[email protected]>
Date: Thu, 27 Apr 2017 17:22:27 +0200
Subject: Auth: Adapt to changes in Google OAuth token retrieval process

URLs and HTML code have changed a bit, which breaks authentication. Hopefully
they won't change it too often in the future.
---
 src/core/ui/authwidget_p.cpp | 109 ++++++++++++++++++++++++-------------------
 src/core/ui/authwidget_p.h   |   6 +++
 2 files changed, 67 insertions(+), 48 deletions(-)

diff --git a/src/core/ui/authwidget_p.cpp b/src/core/ui/authwidget_p.cpp
index 6de33f5..75d38cd 100644
--- a/src/core/ui/authwidget_p.cpp
+++ b/src/core/ui/authwidget_p.cpp
@@ -112,11 +112,35 @@ void AuthWidgetPrivate::emitError(const enum Error 
errCode, const QString& msg)
 
 void AuthWidgetPrivate::webviewUrlChanged(const QUrl &url)
 {
-    qCDebug(KGAPIDebug) << url;
+    qCDebug(KGAPIDebug) << "URLChange:" << url;
 
-    /* Access token here - hide browser and tell user to wait until we
-     * finish the authentication process ourselves */
-    if (url.host() == QLatin1String("accounts.google.com") && url.path() == 
QLatin1String("/o/oauth2/approval")) {
+    if (!isGoogleHost(url)) {
+        return;
+    }
+
+    // Username and password inputs are loaded dynamically, so we only get
+    // urlChanged, but not urlFinished.
+    if (isUsernameFrame(url)) {
+#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
+        if (!username.isEmpty()) {
+            
webview->page()->runJavaScript(QStringLiteral("document.getElementById(\"identifierId\").value
 = \"%1\";").arg(username));
+        }
+#endif
+    } else if (isPasswordFrame(url)) {
+#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
+        if (!password.isEmpty()) {
+            webview->page()->runJavaScript(QStringLiteral("var elems = 
document.getElementsByTagName(\"input\");"
+                                                          "for (var i = 0; i < 
elems.length; i++) {"
+                                                          "  if (elems[i].type 
== \"password\" && elems[i].name == \"password\") {"
+                                                          "      
elems[i].value = \"%1\";"
+                                                          "      break;"
+                                                          "  }"
+                                                          "}").arg(password));
+        }
+#endif
+    } else if (isTokenPage(url)) {
+        /* Access token here - hide browser and tell user to wait until we
+         * finish the authentication process ourselves */
         webview->setVisible(false);
         progressbar->setVisible(false);
         label->setVisible(true);
@@ -131,57 +155,46 @@ void AuthWidgetPrivate::webviewFinished(bool ok)
         qCWarning(KGAPIDebug) << "Failed to load" << webview->url();
     }
 
-    QUrl url = webview->url();
-    qCDebug(KGAPIDebug) << url;
-
-    if (url.host() == QLatin1String("accounts.google.com") && url.path() == 
QLatin1String("/ServiceLogin")) {
-        if (username.isEmpty() && password.isEmpty()) {
-            return;
-        }
-
-#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
-        const auto js = QStringLiteral("document.getElementById(\"%1\").value 
= \"%2\";");
-        if (!username.isEmpty()) {
-            webview->page()->runJavaScript(js.arg(QStringLiteral("Email"), 
username));
-        }
-
-        if (!password.isEmpty()) {
-            webview->page()->runJavaScript(js.arg(QStringLiteral("Passwd"), 
password));
-        }
-#endif
+    const QUrl url = webview->url();
+    qCDebug(KGAPIDebug) << "URLFinished:" << url;
 
+    if (!isGoogleHost(url)) {
         return;
     }
 
-    if (url.host() == QLatin1String("accounts.google.com") && url.path() == 
QLatin1String("/o/oauth2/approval")) {
-        QString title = webview->title();
-        QString token;
-
-        if (title.startsWith(QLatin1String("success"), Qt::CaseInsensitive)) {
-            int pos = title.indexOf(QLatin1String("code="));
-            /* Skip the 'code=' string as well */
-            token = title.mid (pos + 5);
+    if (isTokenPage(url)) {
+        const auto token = url.queryItemValue(QStringLiteral("approvalCode"));
+        if (!token.isEmpty()) {
+            qCDebug(KGAPIDebug) << "Got token: " << token;
+            auto fetch = new KGAPI2::NewTokensFetchJob(token, apiKey, 
secretKey);
+            connect(fetch, &Job::finished, this, 
&AuthWidgetPrivate::tokensReceived);
         } else {
-            webview->page()->toHtml([title](const QString &html) {
-                qCDebug(KGAPIDebug) << "Parsing token page failed. Title:" << 
title;
-                qCDebug(KGAPIDebug) << html;
-            });
+#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
+            qCWarning(KGAPIDebug) << "Failed to parse token from URL, peaking 
into HTML...";
+            webview->page()->runJavaScript(
+                QStringLiteral("document.getElementById(\"code\").value;"),
+                [this](const QVariant &result) {
+                    const auto token = result.toString();
+                    if (token.isEmpty()) {
+                        qCWarning(KGAPIDebug) << "Peaked into HTML, but cound 
not find token :(";
+                        webview->page()->toHtml([](const QString &html) {
+                            qCDebug(KGAPIDebug) << "Parsing token page failed";
+                            qCDebug(KGAPIDebug) << html;
+                        });
+                        emitError(AuthError, tr("Parsing token page failed."));
+                        return;
+                    }
+                    qCDebug(KGAPIDebug) << "Peaked into HTML and found token: 
" << token;
+                    auto fetch = new KGAPI2::NewTokensFetchJob(token, apiKey, 
secretKey);
+                    connect(fetch, &Job::finished, this, 
&AuthWidgetPrivate::tokensReceived);
+                });
+#else
+            qCWarning(KGAPIDebug) << "Failed to parse token from URL!";
             emitError(AuthError, tr("Parsing token page failed."));
-            return;
-        }
-
-        if (token.isEmpty()) {
-            webview->page()->toHtml([](const QString &html) {
-                qCDebug(KGAPIDebug) << "Failed to obtain token.";
-                qCDebug(KGAPIRaw) << html;
-            });
-            emitError(AuthError, tr("Failed to obtain token."));
-            return;
+#endif
         }
-
-        KGAPI2::NewTokensFetchJob *fetchJob = new 
KGAPI2::NewTokensFetchJob(token, apiKey, secretKey);
-        connect(fetchJob, &Job::finished,
-                this, &AuthWidgetPrivate::tokensReceived);
+    } else {
+        //qCDebug(KGAPIDebug) << "Unhandled page:" << url.host() << ", " << 
url.path();
     }
 }
 
diff --git a/src/core/ui/authwidget_p.h b/src/core/ui/authwidget_p.h
index 673b0cb..9c488be 100644
--- a/src/core/ui/authwidget_p.h
+++ b/src/core/ui/authwidget_p.h
@@ -82,6 +82,12 @@ class Q_DECL_HIDDEN AuthWidgetPrivate: public QObject {
     void setupUi();
     void setProgress(AuthWidget::Progress progress);
 
+    bool isGoogleHost(const QUrl &url) const { return url.host() == 
QLatin1String("accounts.google.com"); }
+    bool isSigninPage(const QUrl &url) const { return url.path() == 
QLatin1String("/signin/oauth"); }
+    bool isUsernameFrame(const QUrl &url) { return url.path() == 
QLatin1String("/signin/oauth/identifier"); }
+    bool isPasswordFrame(const QUrl &url) { return url.path() == 
QLatin1String("/signin/v2/challenge/pwd"); }
+    bool isTokenPage(const QUrl &url) { return url.path() == 
QLatin1String("/o/oauth2/approval/v2"); }
+
     AuthWidget *q;
 
     friend class AuthWidget;
-- 
cgit v0.11.2

++++++ libkgapi-5.3.1.tar.xz -> libkgapi-17.04.0.tar.xz ++++++
++++ 59833 lines of diff (skipped)


Reply via email to