browsercore/core/network/WebNetworkSession.cpp
changeset 9 b39122337a00
parent 3 0954f5dd2cd0
child 16 3c88a81ff781
--- a/browsercore/core/network/WebNetworkSession.cpp	Mon Jul 12 15:46:53 2010 -0400
+++ b/browsercore/core/network/WebNetworkSession.cpp	Fri Aug 06 17:23:08 2010 -0400
@@ -20,6 +20,7 @@
 */
 
 #include "WebNetworkSession.h"
+#include "webpagecontroller.h"
 
 namespace WRT {
 	
@@ -64,7 +65,8 @@
 */
 void WebNetworkSession::handlePreferredConfigurationChanged(const QNetworkConfiguration &config, bool isSeamless)
 {
-    bool isSelected = TRUE;
+    bool isSelected = true;
+    QNetworkConfiguration activeConfig = activeConfiguration();
     
     if (isSeamless)
     {
@@ -74,7 +76,18 @@
     }
     else
     {
-        // Dialog Box to select
+    	  qDebug() << "active: " << activeConfig.bearerName() << "new: " <<  config.bearerName();
+    	  // Is it upgrade ? Upgrade is defined as the cellular -> wireless LAN 
+    	  if (((activeConfig.bearerName() == "2G") || (activeConfig.bearerName() == "CDMA2000")
+    	  	  || (activeConfig.bearerName() == "WCDMA") || (activeConfig.bearerName() == "HSPA"))
+    	  	  && (config.bearerName() == "WLAN"))
+    	  {
+    	  	  if (WebPageController::getSingleton()->secureState()) 
+    	  	      isSelected = false;
+    	  	      
+    	  	  qDebug() << "secureState: " << WebPageController::getSingleton()->secureState();
+    	  }
+    	  	  
         if (isSelected)
         {
             m_NetworkSession->migrate();
@@ -85,6 +98,7 @@
         {
             m_NetworkSession->ignore();
             qDebug() << "Ignore new Network Connection: " << config.name();
+            emit sessionRoamingRejected();
         }
     }
 }
@@ -97,7 +111,7 @@
 */
 void WebNetworkSession::handleNewConfigurationActivated()
 {
-    bool isConnected = TRUE;
+    bool isConnected = true;
     
     // isConnectionGood = testConnection();
     if (isConnected)