--- a/browsercore/core/network/WebNetworkConnectionManager.cpp Tue Jul 06 14:03:49 2010 +0300
+++ b/browsercore/core/network/WebNetworkConnectionManager.cpp Wed Aug 18 09:37:05 2010 +0300
@@ -20,6 +20,7 @@
*/
#include "WebNetworkConnectionManager.h"
#include "WebNetworkSession.h"
+#include "webpagecontroller.h"
namespace WRT {
@@ -27,7 +28,7 @@
Constructs a WebNetworkConfigurationManager with the given \a parent.
*/
WebNetworkConnectionManager::WebNetworkConnectionManager(QObject *parent)
- : QObject(parent), m_WebNetworkSession(0), m_offlined(false)
+ : QObject(parent), m_WebNetworkSession(0), m_offlined(false), m_roamingRejected(false)
{
// set up handlers for Network Configuration Manager signals
connect(&m_NetworkConfigurationManager, SIGNAL(updateCompleted()),
@@ -40,6 +41,10 @@
this, SLOT(handleOnlineStateChanged(bool)));
connect(&m_NetworkConfigurationManager, SIGNAL(configurationChanged(const QNetworkConfiguration&)),
this, SLOT(handleConfigurationChanged(const QNetworkConfiguration&)));
+
+ // listen to the signal when the secure page is no longer secure
+ connect(WebPageController::getSingleton(), SIGNAL(hideSecureIcon()),
+ this, SLOT(handleHideSecureIcon()));
#ifdef QT_MOBILITY_SYSINFO
// initialize the mapping between network mode string and SystemNetworkInfo::NetworkMode
@@ -117,6 +122,8 @@
// set up handlers for the WebNetworkSession signals
connect(m_WebNetworkSession, SIGNAL(sessionConfigurationChanged(const QNetworkConfiguration &)),
this, SLOT(handleSessionConfigurationChanged(const QNetworkConfiguration &)));
+ connect(m_WebNetworkSession, SIGNAL(sessionRoamingRejected(void)),
+ this, SLOT(handleSessionRoamingRejected(void)));
}
/*!
@@ -136,13 +143,14 @@
*/
void WebNetworkConnectionManager::handleConfigurationUpdateCompleted()
{
- qDebug() << "configurationUpdateCompleted: create new network connection session";
+ qDebug() << "configurationUpdateCompleted:";
if (m_WebNetworkSession)
{
qDebug() << "Delete old network connection session";
deleteSession();
}
+ qDebug() << "Create new network connection session";
createSession(defaultConfiguration());
}
@@ -248,6 +256,24 @@
#endif // QT_MOBILITY_SYSINFO
}
+void WebNetworkConnectionManager::handleSessionRoamingRejected(void)
+{
+ qDebug() << "roaming is rejected";
+ m_roamingRejected = true;
+}
+
+void WebNetworkConnectionManager::handleHideSecureIcon(void)
+{
+ qDebug() << "Switch to non-secure page";
+ // Update the configuration and restart session if the roaming has been
+ // rejected and the page become unsecure.
+ if (m_roamingRejected)
+ {
+ m_NetworkConfigurationManager.updateConfigurations();
+ m_roamingRejected = false;
+ }
+}
+
#ifdef QT_MOBILITY_SYSINFO
void WebNetworkConnectionManager::initializeMapString(void)
{