diff options
author | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-20 11:17:19 +0100 |
---|---|---|
committer | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-20 11:17:19 +0100 |
commit | 99fe99f83f879716a53846c35c0890ac0377e01d (patch) | |
tree | 06a9b0e6f0d31125ebde6e23c063d2305434846c | |
parent | 42915743fc2b574757d4b78b486de8755ae69917 (diff) | |
download | browser-poc-99fe99f83f879716a53846c35c0890ac0377e01d.tar.gz |
Added cancel signals for auth and SSL
-rw-r--r-- | browser/networkmanager.cpp | 17 | ||||
-rw-r--r-- | browser/networkmanager.h | 2 | ||||
-rw-r--r-- | browser/unit-tests/browserdbus/testbrowserdbus.cpp | 22 | ||||
-rw-r--r-- | browser/unit-tests/browserdbus/testbrowserdbus.h | 2 | ||||
-rw-r--r-- | common/browserdbus.cpp | 4 | ||||
-rw-r--r-- | common/browserdbus.h | 2 |
6 files changed, 41 insertions, 8 deletions
diff --git a/browser/networkmanager.cpp b/browser/networkmanager.cpp index 47ddf13..1754b38 100644 --- a/browser/networkmanager.cpp +++ b/browser/networkmanager.cpp @@ -122,6 +122,7 @@ void networkmanager::onAuthenticationRequired(QNetworkReply *reply, QAuthenticat authenticator->setPassword(m_authData.strPassword); } else { qDebug() << "Action was cancelled"; + emit onAuthenticationDialogCancel(data); } } @@ -140,16 +141,18 @@ void networkmanager::onSslErrors(QNetworkReply *reply, const QList<QSslError> & if (m_isSslOk) { reply->ignoreSslErrors(); qDebug() << "Ignoring error"; - } else { - qDebug() << "Halting on error"; - } - if (m_sslSaveCert) { - qDebug() << "Saving certificate"; - QSslSocket::addDefaultCaCertificate(errors.at(i).certificate()); + if (m_sslSaveCert) { + qDebug() << "Saving certificate"; + QSslSocket::addDefaultCaCertificate(errors.at(i).certificate()); + } else { + qDebug() << "Not saving certificate"; + } } else { - qDebug() << "Not saving certificate"; + qDebug() << "Action was cancelled"; + emit onSslErrorDialogCancel(data); } + } } diff --git a/browser/networkmanager.h b/browser/networkmanager.h index b5e9dcd..7ee7229 100644 --- a/browser/networkmanager.h +++ b/browser/networkmanager.h @@ -31,7 +31,7 @@ public: signals: void onAuthenticationDialog(const conn::brw::AuthenticationData &); - void onAuthenticationDialogCancel(conn::brw::AuthenticationData &); + void onAuthenticationDialogCancel(const conn::brw::AuthenticationData &); void onSslErrorDialog(const conn::brw::SslError &); void onSslErrorDialogCancel(const conn::brw::SslError &); diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.cpp b/browser/unit-tests/browserdbus/testbrowserdbus.cpp index 4ff3e0b..1a78126 100644 --- a/browser/unit-tests/browserdbus/testbrowserdbus.cpp +++ b/browser/unit-tests/browserdbus/testbrowserdbus.cpp @@ -370,4 +370,26 @@ void TestBrowserDBus::testCanCloseSslDialog() { m_bdb->closeSslErrorDialog(conn::brw::DR_OK, true); } +void TestBrowserDBus::testCanCancelSSL() { + QSignalSpy spy (m_bdb, SIGNAL(onSslErrorDialog(const conn::brw::SslError&))); + QSignalSpy spy2 (m_bdb, SIGNAL(onSslErrorDialogCancel(const conn::brw::SslError&))); + m_bdb->createPageWindow(1,0,0,800,600); + m_bdb->loadurl("https://tv.eurosport.com/"); + QVERIFY(spy.wait(1000)); + m_bdb->closeSslErrorDialog(conn::brw::DR_CANCEL, false); + QVERIFY(spy2.wait()); +} + +void TestBrowserDBus::testCanCancelAuth() { + QSignalSpy spy (m_bdb, SIGNAL(onAuthenticationDialog(const conn::brw::AuthenticationData&))); + QSignalSpy spy2 (m_bdb, SIGNAL(onAuthenticationDialogCancel(const conn::brw::AuthenticationData&))); + m_bdb->createPageWindow(1,0,0,800,600); + m_bdb->loadurl("http://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx"); + QVERIFY(spy.wait(1000)); + + conn::brw::AuthenticationData d; + m_bdb->closeAuthenticationDialog(conn::brw::DR_CANCEL, d); + QVERIFY(spy2.wait(1000)); +} + QTEST_MAIN (TestBrowserDBus); diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.h b/browser/unit-tests/browserdbus/testbrowserdbus.h index 9f9fb84..22c5583 100644 --- a/browser/unit-tests/browserdbus/testbrowserdbus.h +++ b/browser/unit-tests/browserdbus/testbrowserdbus.h @@ -53,6 +53,8 @@ private slots: void testCanCloseAuthDialog(); void testGetsNotifiedOnBadSSL(); void testCanCloseSslDialog(); + void testCanCancelSSL(); + void testCanCancelAuth(); private: QString testFileUrl() { diff --git a/common/browserdbus.cpp b/common/browserdbus.cpp index aaed169..f604963 100644 --- a/common/browserdbus.cpp +++ b/common/browserdbus.cpp @@ -236,6 +236,10 @@ void BrowserDbus::createPageWindow(int deviceid, int x, int y, int width, int he this, SIGNAL(onAuthenticationDialog(const conn::brw::AuthenticationData&))); connect(networkmanager, SIGNAL(onSslErrorDialog(const conn::brw::SslError&)), this, SIGNAL(onSslErrorDialog(const conn::brw::SslError&))); + connect(networkmanager, SIGNAL(onSslErrorDialogCancel(const conn::brw::SslError&)), + this, SIGNAL(onSslErrorDialogCancel(const conn::brw::SslError&))); + connect(networkmanager, SIGNAL(onAuthenticationDialogCancel(const conn::brw::AuthenticationData&)), + this, SIGNAL(onAuthenticationDialogCancel(const conn::brw::AuthenticationData&))); } else { QDBusError error = reply.error(); qDebug() << "ERROR " << error.name() << error.message(); diff --git a/common/browserdbus.h b/common/browserdbus.h index 1568a2e..8cb6250 100644 --- a/common/browserdbus.h +++ b/common/browserdbus.h @@ -116,6 +116,8 @@ signals: void onSelect(const QString &, const conn::brw::SelectableOptionList &, bool); void onAuthenticationDialog(const conn::brw::AuthenticationData&); void onSslErrorDialog(const conn::brw::SslError&); + void onSslErrorDialogCancel(const conn::brw::SslError&); + void onAuthenticationDialogCancel(const conn::brw::AuthenticationData&); public slots: void pageloadingstarted(); |