summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-20 11:17:19 +0100
committerJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-20 11:17:19 +0100
commit99fe99f83f879716a53846c35c0890ac0377e01d (patch)
tree06a9b0e6f0d31125ebde6e23c063d2305434846c
parent42915743fc2b574757d4b78b486de8755ae69917 (diff)
downloadbrowser-poc-99fe99f83f879716a53846c35c0890ac0377e01d.tar.gz
Added cancel signals for auth and SSL
-rw-r--r--browser/networkmanager.cpp17
-rw-r--r--browser/networkmanager.h2
-rw-r--r--browser/unit-tests/browserdbus/testbrowserdbus.cpp22
-rw-r--r--browser/unit-tests/browserdbus/testbrowserdbus.h2
-rw-r--r--common/browserdbus.cpp4
-rw-r--r--common/browserdbus.h2
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();